General Information

Goals

Objetives

The aim is to complement previous knowledge of programming in an interpreted language (Python) with specific training in programming in a compiled, low-level language (C).

Emphasis will be placed on practical problem-solving with a focus on notions of algorithms, modularity, structured programming and code quality.

Learning outcomes and competences

At the end of this course, students should be able to:


Syllabus

Introduction to the C language. Characteristics of the language: advantages, disadvantages and care when using it.

C language fundamentals. Syntactic structure of programs. Directives, declarations, expressions. Compilation and execution.

Basic types (integers, floating point, characters). Flow control. Cycles. Function definition. Formatted input and output.

Notions of pointers. Indexed variables. Character strings. Structured types.

Elementary algorithms (counting, searching, sorting, numerical algorithms).

Recursion. Solving simple problems using iterative and recursive algorithms.

Incremental development. Error detection and correction. Notions of efficiency and correctness.