The course exposes 1st year students to the main concepts of programming and problem solving with computers. We introduce C, a classic, powerful procedural programming language. The course includes a mandatory lab in which participants apply in practice – in a series of exercises – the material taught in class in order to familiarize themselves with the concepts and techniques.
After successfully fulfilling the requirements of the course, the student is capable of:
- Analyzing the requirements of problems which are to be solved with a computer and synthesizing a solution.
- Producing solutions which strictly comply with given specifications.
- Knowing the main characteristics and structures of the C programming language and applying the most appropriate on a case-by-case basis to implement his/her algorithmic solutions.
- Applying the basic principles of software engineering in order to organize his/her code efficiently (structure, readability, design).
- Verifying the correctness of programs and identifying errors.
- Using program development and debugging tools.
- Working both individually and collaborating in small groups, with specific time limitations.