Course instructors are responsible for the course content descriptions in English.
Fundamental concepts of abstract data types. Formal specification and implementation of abstract data types: queues, stacks, trees, sets, and graphs.
The fundamentals of design, analysis and implementation of data structures and algorithms, applying the principles of abstraction and object-oriented decomposition is one of the most important pillars that you should know a software engineer. On this pillar will build other skills acquired in engineering and allow it to be a professional in this field.
Competencies and learning outcomes
- Critical and analytical skills in the area of computing.
- Ability to define, evaluate, and select hardware and software platforms for the development and implementation of computer systems, services, and applications in accordance with the expertise gained from the technologies specific to information technology.
- Capacity to design, develop, and maintain computer systems, services, and applications using software engineering methods as a tool for quality assurance in accordance with the expertise gained from the technologies specific to information technology.
- Knowledge about basic materials and technologies that enable learning and developing new methods and technologies, as well as those that provide great versatility for adapting to new situations.
- Knowledge, design, and efficient use of the most appropriate types and structures of data to resolve a problem.
- Ability to analyze, design, build, and maintain applications in a robust, secure, and efficient manner, choosing the most appropriate programming paradigms and languages.
Objectives (Learning outcomes)
- 01Acquire and manage the computer language fluently knowing identify the structure of real informatic problems.
- 02Propose solutions and consistent information and technology issues, both theoretical and practical.
- 03Able to determine the quality and suitability of an algorithm.
- 04To design algorithms that meet the specifications.
- 05Know the basic contents about information and technology systems.
- 06Agile handling literature on the subject, as well as the different sources and online resources for support of the developers.
- 07Design and efficiently handle dynamic data structures (lists, stacks, queues and trees) by identifying the most appropriate to each type of problem to solve.
- 08Understand the fundamentals of the paradigm of object-oriented programming.
- 09developing class libraries and methods that meet accepted standards of what object-oriented programming to facilitate modularity, maintainability and reusability of source code.
Association between objectives and units
|Week||Teaching units||Directed hours||Shared hours||Autonomous hours||Total hours|
- Heileman, Gregory L. Hernández Yañez, Luis , ed.lit. / Mateos Lago, Joaquín , comp. "Estructuras de datos, algoritmos y programación orientada a objetos". Madrid [etc.] McGraw-Hill 1998.
- Langsam, Yedidyah. Augenstein, Moshe J. , coaut. / Tenenbaum, Aaron M. , coaut. "Estructuras de datos con C y C++". México [etc.] Prentice-Hall cop. 1997.
- Brassard, Gilles 1955-. Bratley, Paul. "Fundamentos de algoritmia". Madrid [etc.] Prentice Hall 2000.
Methodology and grading
- Lecture: Pass on knowledge and activate cognitive processes in students, encouraging their participation.
- Problem-based learning: Develop active learning strategies through problem solving that promote thinking, experimentation, and decision making in the student.
- Solving exercises and problems: Exercise, test, and apply previous knowledge through routine repetition.
- Part 1: Theory (between 40% and 60%) corresponds with the final exam score
Part 2: Practice (complementary to the front, between 60% and 40%): Individual and group exercises, self-assessment tests practical, class presentations, practical work with computer. All these activities can be evaluated by using custom revisions and multiple choice questions or development.
The final grade will be calculated from the corresponding percentages stated above, being essential to pass both parts separately, in order to pass the course.
If the student does not exceed either of these parts, but the weighted average gave superior or equal to 5, your final grade will be suspended (4). Failure to submit any of the parties, the final score is not met.