Overview
Aims
• Develop algorithmic thinking and skills for developing complex algorithms
• Learning basic tools for developing fundamental algorithms.
• Knowledge of different types of fundamental algorithms and their development methods.
• Use of an advanced programming language for implementing the studied algorithms.
Course contents
- Introduction to computer programming. Examples of computer programs.
- Information coding.
- Algorithms. Properties of algorithms. The description algorithms.
- Subalgorithms. Formal parameters, current parameters.
- Language description: C. Variables, predefined types.
- Syntactic units. Operations. Expressions.
- Instructions. The decisional instruction if.
- switch ... case instruction
- Repeated instructions. (while, do ... while, for).
- Arrays. Declaration and use of arrays.
- Pointers.
- Search methods.
- Sorting methods.
- Functions in C. Transmission of parameters.
- Recursion.
Learning outcomes
• acquisition of basic and specific knowledge about the concept of fundamental algorithms; • the ability to identify the applicability of the studied algorithms in real problems; • understanding the need of using advanced methods to create efficient algorithms when addressing problems from an specific domain; • Acquiring advanced knowledge of algorithms complexity and apply efficient methods to solve different practical problems.
Assessment
Written exams – 50%; Continuous assessment and laboratory practical works – 50%.