1 ECTS GUIDE COMPUTER SCIENCE ENGINEERING DEGREE CURRICULUM PROGRAMS OF SUBJECTS 2009/2010
3 In this document there are summarized the programs of the subjects of the Computer Science Engineering Degree of the USC. The intention is to be a brief guide about the objectives, contents and skills to be developed by each subject. For more information (instructors, bibliography, recommendations for the study, etc.), please refer to the guide of the subject in the web page of the USC, where for each subject the available languages are indicated. 1
5 3 1 ST YEAR SUBJECT DISTRIBUTION FIRST SEMESTER SECOND SEMESTER Subject T P Tut ECTS Subject T P Tut ECTS Maths Technological and Physical Foundations Foundations of Computers Algebra Statistics Discrete Maths Foundations of Computers Digital Systems Programming II Programming I Calculus and Numerical Analysis Total Total T: theory hours P: practice/laboratory hours Tut: tutorial hours ECTS: European credits
7 Programs of subjects Computer Science Engineering Degree 1 st year 5 G Maths Foundations Core subject 1 st semester 1 st course 6 ECTS (25h theory, 25h practical, 3 tutorials) Course objectives This subject should be used so that students become familiar with mathematical language and logical reasoning with the basic concepts that will be applied to other subjects of the grade. In the practical part, scientific software will be used so that students learn to solve numerically and / or symbolically the proposed problems. Contents 1. INTRODUCTION TO LOGIC. Propositions: propositional equivalences. Truth table: tautology and contradiction. Logical Reasoning: paraloxisms. Predicates and quantifiers. Methods of demonstration. 2. INTRODUCTION TO SET THEORY. Joint elements and belonging. Sub-parts of a whole. Representation of Sets: Venn diagrams. Joint Operations: Properties. Cartesian product of sets. Applications between sets: composition. Types of applications: injected sobreyective and biyective. 3. MATHEMATICAL REASONING, INDUCTION AND RECURSION. Strategies demonstration. Mathematical induction. Recursive definitions. Structural induction. 4. INTRODUCTION TO MATHEMATICAL ANALYSIS AND NUMERICAL COMPUTATION. Real numbers. The functions and their graphs. Elementary functions. Review basic concepts of numerical control. 5. POLYNOMIAL INTERPOLATION. Lagrange polynomials. Runge phenomenon. Interpolation by cubic splines. 6. LIMITS AND CONTINUITY. Basic limits. Laws of the boundaries. Limits of rational functions. Continuity at a point. Continuous functions. 7. DIFFERENTIAL CALCULUS OF ONE VARIABLE. NUMERICAL DERIVATION. Derivation. Rules of derivation. Rule in the chain. Implicit derivation. Mean value theorem. Taylor polynomial. Numerical derivation. Extremes of functions. Competences Expose and argue clearly the assumptions and development using in problem solving, using appropriate terminology. Develop analytical skills in solving problems. Attitude of different types of critical solutions. Mastering the notation, method and vocabulary for mathematical modelling and case studies. Employment with the knowledge of the mathematical language. Capacity for abstraction and using the language of formal logic to express themselves with precision and rigor. Knowledge of mathematical techniques to solve problems related to engineering.
8 6 1 st year Programs of subjects Computer Science Engineering Degree G Algebra Core subject 1 st semester 1 st course 6 ECTS (25h theory, 25h practical, 3 tutorials) Course objectives (translated with Google Translate) A general objective, shared with other subjects in mathematics, is to familiarize the student with the language and mathematical methods, improving the capacity of reasoning, analysis, synthesis and formulation of arguments. Other specific objectives of the subject are: Know and manage the concepts and techniques of linear algebra and Euclidean geometry are detailed in the program. Apply techniques of matrix algebra. Solve systems of linear equations. Geometric interpretation of some results. Contents (in Spanish) 1. ALGEBRA MATRICIAL. Matrices. Operaciones con matrices. Matrices elementales. Forma escalonada. Rango de una matriz. Determinante de una matriz cuadrada. Propiedades y cálculo del determinante. Inversa de una matriz. 2. SISTEMAS DE ECUACIONES LINEALES. Forma matricial de un sistema de ecuaciones lineales. Sistemas equivalentes. Resolución de sistemas de ecuaciones lineales: Método de Gauss y Regla de Cramer. 3. ESPACIOS VECTORIALES. Espacios vectoriales y subespacios. Independencia lineal. Bases y dimensión. 4. APLICACIONES LINEALES. Aplicaciones lineales. Núcleo e imagen. Matriz asociada a una aplicación lineal. Matriz de cambio de base. Rango de una aplicación lineal. Relación con la resolución de sistemas de ecuaciones lineales. 5. DIAGONALIZACIÓN. Valores y vectores propios. Anillo de polinomios K[x]. Polinomio característico. Diagonalización de una matriz por semejanza. 6. PRODUCTO ESCALAR Y ORTOGONALIDAD. Producto escalar. Distancias. Ortogonalidad. Proyección ortogonal. Competences (translated with Google Translate) Contribute to achieving the general and cross-listed in the Report of the bachelor degree in Computer Science Engineering from USC (CG8, CG9, CG10, TR1, TR2, TR3 and FB1). In addition this area will achieve the following competencies: Know the basic concepts of Linear Algebra: Linear dependence and independence, bases, base changes, operations and equations, subspaces, linear applications, etc.. Know the algorithms for reducing matrices and also find ways to apply them to calculate the ranking calculation bases, resolution of systems, etc. Understanding the intimate relationship between matrices, linear systems and applications of linear equations. Learn to analyze whether a matrix is diagonalizable and, where appropriate, diagonalizarla. Know some examples of Euclidean spaces and driving in real n-dimensional space the scalar product, the Gram- Schmidt method and the orthogonal projection to solve geometric problems.
9 Programs of subjects Computer Science Engineering Degree 1 st year 7 G Discrete Maths Core subject 1 st semester 1 st course 6 ECTS (25h theory, 25h practical, 3 tutorials) Course objectives Discrete mathematics is now a day a substantial part of the theoretical and practical knowledge of future computer engineers both abstract and instrumental. Abstract as it feeds on the roots of applied abstract algebra, and instrumental in the use of algorithmic and procedural aspects of that in relation to the real world: work planning, program design, use of counting techniques, control and detection of errors in the transmission of information, security of computer systems, software engineering, etc. This course aims to: Contribute to the education of the future graduates in engineering, enabling a robust and appropriate training in skills of discrete mathematics. Promote the use of different representations (symbolic, graphical, matrix) and a variety of methods of reasoning (induction, recursion, deduction) as a means to promote the integration of concepts and procedures derived from the contents of the material. Make the students to become familiar with the mathematics involved in algorithmic thinking (specification, verification and complexity). Encourage attitudes of criticism when confronted with different types of solutions, of search, of effort and perseverance in the face of difficulties and of communication using the appropriate terminology. Contents 1. ALGORITHMS AND NUMBERS. Algorithms: complexity. The Integers and division. The Euclid's algorithm. Congruence. Representation of numbers. Arithmetic with big integers. Public key Cryptography. 2. BASIC COUNTING TECHNIQUES. Addition and multiplication principles. The pigeonhole principle. Permutations and combinations. The binomial theorem. 3. RECURSION. Recursive definitions. Recursive algorithms. Program verification. Enumeration techniques: recurrence relations. Solving recurrence relations. Generating functions. The inclusion-exclusion principle. 4. GRAPHS. Types of graphs. Representation of graphs. Connectedness. Euler and Hamilton paths. Dijkstra's shortest path algorithm. Planar graphs. Graph coloring. 5. BOOLEAN ALGEBRAS. Boolean functions and switching functions. Disjunctive and conjunctive normal forms. Logic gates. Circuit minimization. Competences TRANSVERSAL/GENERIC Problem solving capacity. Analysis and synthesis capacity. Organizing and planning capacity. Information managing capacity (collect and analyze the information). Problem solving. Decision making. Critical reasoning. Adaptability to new situations. Putting knowledge into practice. Ability to do independent and collaborative work. Creativity. SPECIFIC Cognitive (to know): Acquisition of the basic concepts of the subject: algorithms, the integers, counting methods, theory of graphs and Boole algebras. To know applications of discrete mathematics to computation. Procedures/instrumental (to know how): To manage modular Arithmetic and to apply it in different number representation systems, computation with big integers and in public key cryptography. To know how to apply the basic techniques to count in diverse problems. To know some recursive algorithms and to apply them in concrete situations. To apply the theory of graphs in areas relating to computation. To manage a package of symbolic computation (Maple, Mathematica or Maxima) and to apply the learned algorithms to solve the problems treated in the course. Attitudinal (to be): Rigor and clarity, oral and written expression. Logical reasoning and identification of errors in procedures. Adaptation capacity. Abstraction capacity.
10 8 1 st year Programs of subjects Computer Science Engineering Degree G Digital Systems Core subject 1 st semester 1 st course 6 ECTS (15h theory, 35h practical, 3 tutorials) Objectives of the course (translated with Google Translate) This is a subject in the curriculum is classified as a base material linked to the branch of engineering. This is an introductory subject in the context of the title and the first module of the Computer Engineering students enrolled. The basic objective is to provide the basic knowledge and design skills to study other subjects in the module. Exploring mathematical bases, electronic devices and the processes involved in the design of digital systems, and to lay the foundation for the study of computer and digital system below or student in different subjects. Contents (in Spanish) I. INTRODUCCIÓN 0. INTRODUCCIÓN DE LA DISCIPLINA. Objetivos generales de la disciplina Sistemas Digitales. Contexto de la materia en el plan de estudos. Breve explicación del programa de la asignatura. 1. INTRODUCCIÓN A LOS SISTEMAS DIGITALES. Conceptos de sistema digital combinacional y secuencial. Diseño y análisis estructurado de sistemas digitales. El computador desde la perspectiva estructural. Computadores Von Neumann. 2. SISTEMAS DE NUMERACIÓN, ARITMÉTICA Y CÓDIGOS. Sistemas de representación numérica de números enteros. Conversión entre bases. Operaciones aritméticas en binario. Códigos BCD, exceso a 3 y alfanuméricos. Códigos detectores y correctores de error. II. SISTEMAS DIGITALES COMBINACIONALES 3. ANÁLISIS Y SÍNTESIS DE CIRCUITOS LÓGICOS COMBINACIONALES. Operaciones lógicas básicas. Principios del álgebra de Boole. Puertas lógicas. Funciones de conmutación. Síntesis de circuitos lógicos combinacionales. Simplificación de funciones de conmutación. 4. LÓGICA COMBINACIONAL MODULAR. Diseño y utilización de módulos combinacionales básicos: Codificadores y decodificadores. Conversores de código. Multiplexores y demultiplexores. Circuitos aritméticos y lógicos: comparadores, sumadores/restadores. ALU. Síntesis de funciones mediante módulos combinacionales. III. SISTEMAS DIGITALES SECUENCIALES 5. SISTEMAS SECUENCIALES. Concepto de estado. Diagrama de estados. Sistemas síncronos y asíncronos. Biestables. Modelos de sistemas secuenciales síncronos: máquinas de Mealy y de Moore. Sistemas síncronos incompletamente especificados. Procedimiento de diseño y simplificación de sistemas secuenciales síncronos. 6. LÓGICA SECUENCIAL MODULAR. Diseño de módulos secuenciales: Registros, Contadores, Generadores de secuencias. Tipos básicos de memorias. Tipos de dispositivos lógicos programables (PLDs): características. Competences (translated with Google Translate) The skills that students acquire comprehensive study to this matter are as follows (see full list in the curriculum of grade): Capacity for analysis and synthesis Capacity planning and organization Communication of the work done Teamwork Critical Reasoning Troubleshooting Specific skills of Engineering will acquire are: General knowledge about the basic design of digital systems Knowledge of technology products and trends in technology Methods and tools for the design of computer-based systems Evaluation of hardware requirements Digital Systems is an introductory course very directly related to another subject that is taught in the first quarter of the first course: Discrete Mathematics. The latter study mathematical tools such as Boolean algebra or numbering systems... that are essential to the design of digital systems and to complement the classes of Digital Systems. Also during the first year, but in the second term is studied Computer Basics, which is based entirely on the knowledge acquired in digital systems. It gives a complete overview of the architecture of a computer and the impact of technology on the architecture of a computer. It also discusses in detail the modules that constitute it.
11 Programs of subjects Computer Science Engineering Degree 1 st year 9 G Programming I Core subject 1 st semester 1 st course 6 ECTS (20h theory, 30h practical, 3h tutorial) Course objectives The main objectives of this course are: to develop the fundamentals of structured design of algorithms Providing knowledge and skills for its implementation in C programming language to understand and know how to apply the basic techniques of design and implementation of algorithms in simple case studies This course is the first in the degree on programming. Therefore we will fix the basic skills of students in this area. In addition to its training component directly in the field of programming, this course has an instrumental component, since knowledge and programming skills in C programming language is directly applicable in other courses. So immediately, programming in C is indispensable to the subjects Programming II (2 nd semester) and Algorithms and data Structures (4 th semester). Less immediately, programming in C provides the foundations of almost all the technical and engineering-oriented courses in the second course, being a good basis for programming in Java (Object Oriented Programming), for all practical matters related to Operating Systems and Software Engineering. Contents 1. ALGORITHMS AND PROGRAMS. Concepts. Programming languages. Assembler. High level languages. Specification of algorithms. Designing algorithms. Verifying algorithms. Encoding and testing. 2. VARIABLES AND INSTRUCTIONS. Variables and data types. Strings. Assignment. Arithmetical and logical expressions. Input/Output. 3. STRUCTURED PROGRAMMING. Theorem of structured programming. Control structures. Top down design. Algorithmic notations. Arrays. Registers. 4. MODULAR PROGRAMMING. Functions and procedures. Local and global data. Parameters. Modular design. Principles of design. 5. REFERENCES. Definition. Pointers declaration and memory assignment. Memory sharing. Dynamical memory allocation. 6. FILES. Types of access. File operations. Procedures and functions for file management. Competences At the end of the semester, students must be able to develop a full project in C language, including modular design, adequate specifications for each module, and a technical documentation. In some extent and in accordance with the goals of this subject, we will work on the following competences (described in the official degree plan): FB4, FB5, RI8, CG8, CG9, TR1, TR2, TR3.
12 10 1 st year Programs of subjects Computer Science Engineering Degree G Technological and Physical Foundations of Computers Core subject 2 nd semester 1 st course 6 ECTS (25h theory, 25h practical, 3h tutorial) Course objectives The aim is to bring into common knowledge the essential physical concepts related with the technological processes in current computer systems. It is also expected that the students can foresee the computer evolution in the short term future from the knowledge of those technological basis. Contents EXPLANATORY TEACHING 0. INTRODUCTION TO THE TECHNOLOGICAL AND PHYSICAL BASIS OF THE COMPUTER SYSTEMS. 1. ELECTRICITY AND MAGNETISM. Forces among electrical charges. Electrical field and potential. Electrical field in conductive and dielectric materials. Magnetic induction. Magnetic properties of the materials. Electromagnetic waves. 2. ELECTRICAL CIRCUITS. Electrical Current. Circuit elements. Ohm's law. Circuits analysis: Kirchhoff's Laws. RC circuits: Load and unload of a capacity through a resistor. Alternating current and electrical signals. Power and energy in an electrical circuit. 3. SOLID STATE ELECTRONICS. Model of covalent bond. Theory of bands. Electrons and holes. Types of semiconductors. Generation and recombination of charge carriers. Currents in semiconductors. 4. SEMICONDUCTOR DEVICES: THE DIODE. PN junction. Situation of equilibrium. Polarization. Characteristic curves and circuit models. Optoelectronic devices: LED diodes. Photodiodes. Laser diodes. 5. SEMICONDUCTOR DEVICES: THE TRANSISTOR. Bipolar junction transistor (BJT). Field-effect transistor (FET): MOS structure. MOS transistor. Bipolar and CMOS technologies. 6. DIGITAL ELECTRONICS. Tradeoffs in the digital design: reliability, performance, power consumption, cost. Case study: the CMOS inverter. Logic combinational circuits: Logic gates. Multiplexer. Logic sequential circuits: Registers. Memories: SRAM, DRAM, CAM. Peripheral circuits. Logical programmable devices. Technologies of programming. SEMINARS AND INTERACTIVE TEACHING 1. MICROPROCESSORS: Historical perspective and evolution. Clock signals. Generation and distribution. Power dissipation. 2. SYSTEMS FOR DATA STORAGE: Magnetic devices: hard disks. Optical and magneto-optical devices: CD, DVD, BluRay. Solid state devices: EPRON, EEPRON, FLASH memories. 3. COMPUTER POWER SUPPLY: Transformers. Power sources: linear power supplies and switching power supplies. Line conditioners and uninterrupted power systems (UPS) 4. OUTPUT DATA PERIPHERALS: Screens: CRT monitors, LCD and TFT monitors, tactile screens. Printers: Inkjet printers, Laser printers. Loudspeakers. 5. INPUT DATA PERIPHERALS: Keyboards and mouses. Scanners. Digital cameras and camcorders. Microphones. Competences In this subject, the students should develop both global and specific skills directly related with the named CG8, CG11, TR1, TR2, TR3, FB1, RI4 in the Report of the USC Title of "Computer Science Engineering". In order to reach this objective, it is promoted the development of the following skills and abilities Cognitive competences: Knowledge of the basic laws of electricity and magnetism related with computer systems. Broad understanding of the physical fundamentals applied to those electronic and photonic devices of interest for the Computer Engineers. Skills for the digital integrated circuit design and optimization based on different tradeoffs: cost, speed, power consumption and reliability. Instrumental competences: Common knowledge of the circuit theory and its application on circuits of interest for Computer Engineers. Experience in the management of suitable software to solve physical problems applied to the area of the Computer Engineering. Aptitudes for making scientific and technical reports. Transverse competences: Skills in scientific methodology, especially in the area of the electronic systems and devices. Rigorous, accurate and concise reasoning as part of the habits of study and professional activities. Solid research, interpersonal and communication skills.
13 Programs of subjects Computer Science Engineering Degree 1 st year 11 G Statistics Core subject 2 nd semester 1 st course 6 ECTS (25h theory, 25h practical, 3h tutorial) Course objectives The main goal of this course is to make the students familiar with the basic concepts and techniques of descriptive statistics, probability and statistical inference. Contents I. DESCRIPTIVE STATISTICS 1. DESCRIPTIVE STATISTICS. Basic concepts. Frequency distributions. Graphical representations. Location, scale and shape measurements. Simple linear regression. II. PROBABILITY 2. BASICS OF PROBABILITY. Random experiment. Random events. Probability. Operations over random events. Conditional probability. Independent events. Noticeable results. 3. RANDOM VARIABLE. Random variable. Discrete random variable. Continuous random variable. Discrete distribution models. Continuous distribution models. Bidimensional random variables. III. STATISTICAL INFERENCE 4. AN INTRODUCTION TO STATISTICAL INFERENCE. Introduction to statistical inference. Sample distributions in normal populations. Central Limit Theorem. Distributions approximations. 5. PARAMETER ESTIMATION. Parameter estimator. Mean, variance and proportion estimators. Main properties. Estimation in the simple linear regression model. 6. Confidence interval. Confidence intervals in one population: mean, variance and proportion. Confidence intervals in two populations: mean difference, variance ratio and proportion difference. 7. HYPOTHESIS TESTING. Introduction to hypothesis testing. Testing procedure. Hypothesis testing in one and two populations: tests for the mean, variance and proportion; tests for the mean difference, variance ratio and proportion difference. Hypothesis testing in the simple linear regression model. Hypothesis testing for independence and normality. Competences In this course, our aim is to contribute to prepare the students in the competencies mentioned in the proposal for the USC Degree in Computer Science Engineering: CG5, CG8, CG9, CG10, TR1, TR2, TR3, FB1, FB3, RI6 and TI5. The modulespecific competencies will be also introduced. This subject is included in the Mathematics Module. More specifically, this course will also introduce the following competencies: Know how to synthetize and describe a large amount of data, choosing the right statistics depending on the variable character, and analyze the existing relations among them. Know how to formulate real problems in statistical terms. Know how to estimate unknown parameters from a given sample. Know how to compare two populations from characteristic unknown parameters. Understand the general principles in the more usual probabilistic models. Understand the principles and applications of hypothesis testing methods. Be able to plan, coordinate and organize a work project. Be able to work in a team, in a collaborative way, and also to appreciate the self-learning capacity. Gain facility with statistical packages. Be critical and responsible.
14 12 1 st year Programs of subjects Computer Science Engineering Degree G Foundations of Computers Core subject 2 nd semester 1 st course 6 ECTS (15h theory, 35h practical, 3h tutorial) Objectives of the course (translated with Google Translate) This material is intended to give the student a complete overview of the architecture of a conventional computer, analyzing in detail the various functional blocks that make up. We study the impact of technology on the architecture of computers. In particular are considered the most important techniques for the design of the processor, and for the control of other functional units, such as input / output system. Contents (in Spanish) 1. EVOLUCIÓN Y CARACTERIZACIÓN DE LOS COMPUTADORES. Naturaleza de los computadores. Hardware y software. Revisión histórica de los computadores. Arquitectura de Von Newmann. Medidas del rendimiento y coste de un computador. 2. ARQUITECTURA DEL MIPS: INTRODUCCIÓN. Repertorio de instrucciones MIPS. Programa almacenado. Sistemas de almacenamiento de datos. 3. TIPO DE DATOS. Clasificación de la información. Punto fijo. Punto flotante. 4. EL REPERTORIO DE INSTRUCCIONES. Introducción: Visión del programador. Formato de instrucciones. Modos de direccionamiento. Instrucciones típicas. Llamadas a subrutinas. Pila o stack. 5. ARITMÉTICA DEL COMPUTADOR. Punto fijo: Operaciones lógicas, suma y resta, multiplicación, multiplicación con signo. Punto flotante: Suma, multiplicación. 6. CAMINO DE DATOS Y UNIDAD DE CONTROL. Estructura básica del procesador. El ciclo de instrucción. Diseño de un procesador sencillo. Diseño de la sección de control. 7. JERARQUÍA DE MEMORIA. Introducción. Memoria cache. Memoria principal. 8. ENTRADA/SALIDA (I/O). Introducción. Métodos de entrada/salida: por sondeo (polling), por interrupciones, por Acceso Directo a Memoria (DMA). El bus de entrada/salida: Elementos de diseño de un bus, arbitraje del bus, ejemplos de buses estándar. Competences (translated with Google Translate) The student will acquire the basics of operating a computer and making use of techniques to increase performance in their programming.
15 Programs of subjects Computer Science Engineering Degree 1 st year 13 G Programming II Core subject 2 nd semester 1 st course 6 ECTS (20h theory, 30h practical, 3h tutorial) Objectives of the course (translated with Google Translate) In the area described linear data structures and algorithmic techniques basic algorithms for the design and implementation of programs in cases simple practical. Continuing to develop the field I Programming the basic criteria that should guide the design of a modular program, as well as the development and executing a test plan for verifying the correct operation of a program. All these aspects will be developed so practical programming in a project integrator for all content learned all the skills acquired in the performance of the activities of the area. Contents (in Spanish) Tipos abstractos de datos. Estructuras de datos dinámicas lineales: pilas, colas, listas. Diseño recursivo. Notaciones algorítmicas. Estrategias y técnicas algorítmicas (voraces, divide y vencerás, programación dinámica, vuelta atrás) sobre estructuras estáticas y dinámicas lineales. Algoritmos básicos de busca, ordenación y mezcla sobre estructuras estáticas y dinámicas lineales. Diseño, verificación y validación de programas. Documentación. Competences (translated with Google Translate) Global title (including cross) Ability to conceive, write, organize, plan, develop and sign projects in the field of engineering in computer science whose purpose, according to the foreground, the design, development or operation of systems, services and applications. Ability to design, develop, evaluate and ensure the accessibility, ergonomics, usability and security systems, services and applications, and the information they manage. Ability to identify, evaluate and select hardware and software platforms for the development and implementation of systems, services and applications. Knowledge of raw materials and technologies that enable them to learn and develop new methods and technologies as well as those that would give a great versatility to adapt to new situations. Ability to solve problems with initiative, decision making, autonomy and creativity. Ability to learn communicate and transmit knowledge, skills and abilities of the profession of Engineer in Computer Science. Capacity for analysis and synthesis. Organizational skills and planning. Troubleshooting. Decision-making. Critical thinking. Independent learning. Creativity. Motivation for quality. Competencies associated with the basic training module Ability to understand and master the basic concepts of discrete mathematics, logic, algorithms and computational complexity, and its application for solving problems of engineering. Use the basic knowledge of computers and programming, operating systems, databases and software application engineering. Knowledge of the structure, organization, operation and interconnection of computer systems, the fundamentals of programming and its application for solving problems of engineering. Powers common to the branch of Computer Science Ability to design, develop, select and evaluate applications and systems, ensuring reliability, safety and quality, according to ethical principles and laws and regulations. Knowledge and application of algorithmic procedures of the basic technologies for designing solutions to problems, analyzing the appropriateness and complexity of the algorithms proposed. Knowledge, design and use of efficient data types and structures more suited to solving a problem. Ability to analyze, design, build and maintain applications in a robust, secure and efficient by choosing the paradigm and the programming languages most appropriate.
16 14 1 st year Programs of subjects Computer Science Engineering Degree G Calculus and Numerical Analysis Core subject 2 nd semester 1 st course 6 ECTS (25h theory, 25h practical, 3h tutorial) Course objectives To connect with the course of Foundations of Mathematics and to serve so that the student consolidates the mathematical language and for form him/her in the main numerical and analytical methods as the differential calculus in several variables, integral calculus in single variable and the resolution of the basic ordinary differential equations. In the practical part, software will be used scientist so that the student learns to numerically solve the problems posed with the different studied numerical methods. Contents 1. Numerical Resolution of nonlinear equations: Separating roots, Method of bisection. Method of Newton. 2. Basic concepts of functions of several variables. 3. Differential calculus of several variables: Derived partial. Vector gradient. Jacobian matrix. The rule of the chain. Tangent plane. Maxima and minima of functions. 4. Solution of systems linear and nonlinear. Resolution of triangular linear systems. Factorizations LU and of Cholesky. Resolution of systems nonlinear: the method of Newton. 5. Integral calculus of single variable. Numerical integration. Concept of definite integral. The fundamental theorems of calculus. Indefinite integrals. Calculation of primitive. Methods of substitution, integration by parts and integration of rational functions by simple fractions. Improper integrals. Numerical integration: trapezoidal rule approximations and Simpson's rule. 6. Ordinary differential equations. Numerical resolution of first order initial value problems. Separable equations. First-Order Linear Differential Equations. Numerical resolution of first order initial value problems using the Euler method. Competences Generic: To solve problems. Capacity of analysis and synthesis. Specific: Mathematics. Programming.
17 15 2 nd YEAR SUBJECT DISTRIBUTION FIRST SEMESTER SECOND SEMESTER Subject T P Tut ECTS Subject T P Tut ECTS Databases I Business Organization and Management Algorithms and Data Structures Databases II Operative Systems I Operative Systems II Networks Computers Architecture Object oriented programming Graphical Computing Software Design Total Total T: theory hours P: practice/laboratory hours Tut: tutorial hours ECTS: European credits
19 Programs of subjects Computer Science Engineering Degree 2 nd year 17 G Databases I Core subject 1 st semester 2nd course 6 ECTS (15h theory, 35h practical, 3h tutorial) Course objectives (translated with Google Translate) The management of information through databases, evolved in recent years to become the essential part of modern computer systems. As a result of these developments, the study of database systems has become an essential part of teaching Computer Science. A large number of systems that will operate in the life of an Engineer in Computer Science will have a database behind. In this area it is intended that male and female students acquire the basic concepts of design and language and updates of databases. In the practice of the art software is used to develop applications based on databases. We bet on the use of free software, provided it provides sufficient benefits. The relationship with other subjects of the diploma can be considered is global because many applications require a database support. Contents (in Spanish) PRESENTACIÓN DE LA MATERIA 0. Presentación de la materia INTRODUCCIÓN A LAS BASES DE DATOS 1. Introducción a las Bases de Datos MODELADO SEMÁNTICO 2. Desarrollo de Sistemas de Bases de Datos 3. Modelo Entidad-Relación Básico 4. Modelo Entidad-Relación Avanzado Práctica 1: Modelado mediante Modelo Entidad-Relación Básico Práctica 2: Modelado mediante Modelo Entidad-Relación 8. Normalización del Modelo Relacional 9. Normalización Avanzada del Modelo Relacional MODELO RELACIONAL 5. Modelo Relacional 6. Álgebra Relacional 7. SQL Práctica 3: Transformación de Modelos Entidad-Relación en Modelos Relacionales Práctica 4: Creación de Scripts Práctica 5: Consultas en SQL METODOLOGÍA DE DISEÑO DE BASES DE DATOS 10. Diseño Conceptual 11. Diseño Lógico Competences (translated with Google Translate) The matter will contribute to achieving the competencies CG2, CG8, CG9, TR1, TR2, TR3, FB4, RI12, RI13 and TI1 in the memory of Engineering degree in Computer Science from USC. In addition to the aforementioned global competencies, the following competencies and learning outcomes: To know the basics of databases, know the relational model, modelling and designing databases and manage databases with SQL.
20 18 2 nd year Programs of subjects Computer Science Engineering Degree G Algorithms and Data Structures Core subject 1 st semester 2nd course 6 ECTS (20h theory, 30h practical, 3h tutorial) Course objectives (translated with Google Translate) The objective of this training is to develop the skills necessary to analyze the student know the computational complexity of a given algorithm, and develop skills to choose the combination of data structures and strategies to address the most appropriate way to resolve efficient (in terms of space and time) a problem. Moreover, this completes the formation of student data structures when presenting non-linear data structures and their use to represent and solve problems of organization. Contents (in Spanish) 1. Análisis de algoritmos y complejidad. 2. Estructuras de datos no lineales: Árboles y Grafos. 3. Algoritmos de ordenación, búsqueda y mezcla sobre estructuras de datos no lineales 4. Estrategias algorítmicas sobre estructuras de datos no lineales: Voraces, Divide y vencerás, Vuelta atrás. 5. Hashing. Competences (translated with Google Translate) The material helps to achieve the following powers set out in the report bachelor degree in Computer Science Engineering from USC. General Skills: CG1: Ability to develop projects in the field of engineering in computer science whose purpose, according to the foreground, the design, development or operation of systems, services and applications. CG3: Ability to design, develop, evaluate and ensure the usability of systems, services and applications, and the information they manage. CG8: Knowledge of basic materials and technologies that enable them to learn and develop new methods and technologies as well as those that would give a great versatility to adapt to new situations. CG9: Ability to solve problems with initiative, decision making, autonomy and creativity. Ability to learn to communicate and transmit knowledge, skills and abilities of the profession of Engineer in Computer Science. Cross: TR1 (Instrumental): Capacity analysis and synthesis. Organizational skills and planning. Oral and written communication. Capacity management. Troubleshooting. Decision-making. TR2 (Personal): Teamwork. Skills in interpersonal relations. Critical thinking. TR3 (Systemic): Self-Learning. Adapting to new situations. Creativity. Initiative. Motivation for quality. Basic Training FB3: Ability to understand and master the basic concepts of algorithmic and computational complexity, and its application for solving problems of engineering. FB4: Basic knowledge of using and programming computers. FB5: Knowledge of the fundamentals of programming systems and their application for solving problems of engineering. Common to the branch of Computer Science RI6: Knowledge and application of the algorithmic procedures of the basic technologies for designing solutions to problems, analyzing the appropriateness and complexity of the algorithms proposed. RI7: Knowledge, design and use of efficient data types and structures more suited to solving a problem.