Skip to content

FerniCuesta/computer-engineering

Repository files navigation

Computer Engineering degree

Here you will find my degree work. It is organised in folders, one for each subject.

The knowlegde obtained in each subject:

First year

First Semester

Calculus
Credits: 6

  • Differential calculus in one variable.
  • Integral calculus in one variable.
  • Numerical methods for differential and integral calculus.
  • Numerical algorithms.

Software Fundamentals
Credits: 6

  • Components of a computer system.
  • Components of an Operating System.
  • Operating system services: system calls and command interpreters.
  • Compiling, linking and loading programs.
  • Application development environments and tools.
  • Databases.
  • Engineering applications.

Programming Fundamentals
Credits: 6

  • Basic data types.
  • Objects, operators and expressions.
  • Control structures.
  • Functions and procedures.
  • Types of compound data: homogeneous (arrays) and heterogeneous (records).
  • Basic sorting and searching algorithms.
  • Recursion.

Fundamentals of Physics and Technology
Credits: 6

  • Fundamental concepts of electromagnetism.
  • Fundamentals of circuit theory.
  • Analysis of direct current and alternating current circuits.
  • Fundamentals of electronic devices.
  • Basic principles of logic families and digital logic.
  • Operational amplifiers.

Second Semester

Statistics
Credits: 6

  • One and two dimensional descriptive statistics.
  • Probability. Calculus of probabilities. Random variable and distribution function.
  • Basic models of discrete and continuous one-dimensional distributions.
  • Parameter estimation and hypothesis testing. Fitting of distributions.
  • Optimization techniques in Operations Research.

Engineering, Business and Society
Credits: 6

  • Companies as socio-economic reality: company tipologies.
  • Companies and their environment: introduction to strategic management.
  • Functional subsystems of companies.
  • Human resources management.
  • The market in the ICT sector.
  • Creation of spin-offs and management of companies in the sector.
  • Management of companies in the ICT sector.
  • Social and environmental impact of technical solutions.

Logic and Discrete Methods

  • Induction and recurrence.
  • Boolean algebras and Boolean functions.
  • Propositional logic.
  • First order logic.
  • Unification and resolution.
  • Graphs and trees.

Programming Methodology

  • High-level language data types and their internal representation.
  • Memory references and dynamic memory.
  • Encapsulation and information hiding.
  • Modular design and library creation debugging tools testing and validation.
  • Error handling.
  • Software maintenance.
  • I/O, files.
  • Computer programming project.

Computer Technology and Organizaation

  • Computer organization and components.
  • Basic performance.
  • Conceptual levels of description of a computer.
  • Representation of information on the computer.
  • Basic components.
  • Combinational circuits.
  • Sequential circuits.
  • Description of computer operations at the register-to-register transfer level.


Second year

First Semester

Computer Organization

  • Instruction repertoire architecture.
  • Structure of a computer at the machine language level and assembly programming.
  • Relationship between high-level and assembly languages; data representation and simple structures.
  • Memory system Input/Output system buses.
  • Processor organization: hard-wired and microprogrammed control, channel segmentation, etc.

Data Structures
Credits: 6

  • Introduction to algorithm efficiency.
  • Abstract Data Type (ADT).
  • Specification and implementation of ADT: lists, stacks, queues, trees, hash tables, graphs.

Object Oriented Programming and Design
Credits: 6

  • Concepts, techniques and notations.
  • Classes and objects.
  • Polymorphism.
  • Inheritance.
  • Design with polymorphism and inheritance.
  • Reuse.
  • MVC pattern.

Concurrent and Distributed Systems
Credits: 6

  • Mutual exclusion, synchronization and communication between processes.
  • Safety and liveliness properties.
  • Algorithm based on shared memory and message passing.
  • Semaphores and monitors.
  • Concurrent and distributed programming libraries.
  • Techniques for real-time applications design.

Operating Systems

  • Hardware support for the operating system.
  • Process management design and implementation.
  • Memory management.
  • File systems.
  • Operating system security mechanisms.
  • Programming applications using operating system services.
  • Operating system administration.

Second Semester

This semester will be finished by June 2023, until then this part will only have some subjects. The reason is the possible copy from other students and its consequences.

Computer Architecture
Credits: 6

  • Structure and classification of parallel architectures (processors, multiprocessors, multicomputers and distributed systems).
  • Classification of the parallelism of an application.
  • Architectures with instruction level parallelism (ILP).
  • Efficient ILP programming (basic code optimization algorithms and mechanisms), multicore and multiprocessor architectures.
  • Parallel programming.
  • Performance evaluation.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published