INTRODUCTION TO COMPUTER PROGRAMMING

Academic year
2026/2027 Syllabus of previous years
Official course title
INTRODUCTION TO COMPUTER PROGRAMMING
Course code
CT0665 (AF:723403 AR:427891)
Teaching language
English
Modality
On campus classes
ECTS credits
6
Degree level
Bachelor's Degree Programme
Academic Discipline
INFO-01/A
Period
1st Semester
Course year
1
Where
VENEZIA
The course aims at introducing the basic elements of imperative programming to formulate algorithmic solutions to problems of limited complexity.

The student will acquire knowledge and understanding of the founding principles of computer science, relating to imperative languages ​​and basic algorithms.
He will also acquire understanding of the solvability of computer problems and the ability to select appropriate methods for basic analysis and modeling.
Knowledge and understanding
The graduate acquires:
- foundational principles of computer science: algorithm, languages ​​and their classification, type system, control structures, iteration constructs, functions;
- understanding of the feasibility and complexity of computer problems and ability to select appropriate methods for analysis and modeling;

Ability to apply knowledge and understanding
The graduate:
- knows how to use the fundamental tools for the development and adoption of simple algorithms;
- develops feasibility and complexity analyses of computer problems and knows how to select appropriate methods for analysis and modeling;
- knows how to develop software, perform debugging and design tests to verify the correctness of the software;
- knows how to program following the principles of imperative programming in C and following projects expressed through formalisms defined for their description and design.

Learning ability
- The student must be able to consult technical documentation relating to the libraries used.
No prerequisite is required.
- Introduction to the C programming language
- Variable and fundamental data types
- Flow of Control
- Functions
- Array, pointers and strings
- Iterative Computation and Recursive Computation
- Dynamic Memory
- Abstract Data Types
- Problem solving strategies
Paul J. Deitel, Harvey M. Deitel. Il linguaggio C. Fondamenti e tecniche di programmazione. 8/Ed. Pearson. 2016.
The exam consists of a written test and a final project. To pass the exam, students must obtain a passing grade on both the written test and the project.
The written test grade accounts for 70% of the final grade, while the project grade accounts for 30%.

The written test and project discussion may be taken in different exam sessions. The written tests and project discussion are valid for one academic year. If the grade is not recorded during the current academic year (only the written test or project were taken), any partial grades will be lost.
written and oral

The lecturer has a duty to ensure that the rules regarding the authenticity and originality of exam tests and papers are respected. Therefore, if there is suspicion of irregular conduct, an additional assessment may be conducted, which could differ from the original exam description.

The final grade is calculated as follows.

- 70% from the written exam: the evaluation will focus on the correctness of the proposed solution rather than the syntax, with particular attention given to the use of memory and recursion.
Grade from 18 to 22: Correct solution of exercises with loops, static/dynamic arrays, and pointers.
Grade from 23 to 26: Correct solution of exercises with loops, static/dynamic arrays, pointers, linked lists, and strings.
Grade from 27 to 30: Correct solution of exercises with loops, static/dynamic arrays, pointers, linked lists, strings, and recursion on arrays/lists.
Honors (grade 30L, "30 cum laude") will be given to completely correct written exams (grade 30) that are particularly elegant.

- 30% from the project: during the discussion, students' technical skills will be assessed through questions about the code they produced, to ensure that they completed the project independently.
Lectures and hands-on sessions.
The frequent interleaving of exercises allows students to immediately apply abstract knowledge to practical problems and to self-evaluate their skills.
Definitive programme.
Last update of the programme: 16/03/2026