INTRODUCTION TO COMPUTER PROGRAMMING

Academic year
2025/2026 Syllabus of previous years
Official course title
INTRODUCTION TO COMPUTER PROGRAMMING
Course code
CT0665 (AF:573141 AR:323173)
Teaching language
English
Modality
On campus classes
ECTS credits
6
Degree level
Bachelor's Degree Programme
Academic Discipline
INF/01
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, weekly exercises and a final project. To pass the exam, the student must obtain a sufficient grade in the written test and the project.
The grade on the written exam weights 70% of the final grade, whereas the grade on the project weights 30%.

Description of the exercises:

The exercises aim to develop the student's problem solving skills, knowledge of the C language and the ability to code the solution algorithm designed in the programming language.

The exercises will be assigned periodically during the course and must be delivered every three weeks. Alternatively, students can ask to take an additional written test. This last solution is recommended for part-time students.

Description of the written test:

The written test aims to evaluate the student's problem solving skills, knowledge of the C language and the ability to code the solution algorithm designed in the programming language. This part of the exam can be passed in one way: with a single written test on the scheduled dates of the exam sessions. Students who successfully passed at least 60% of the weekly exercises will not have to answer some exam questions during the written exam.

Final Project:

The final project aims to evaluate the ability to apply the skills acquired to the solution of more structured problems.
The evaluation of the project includes an oral discussion and contributes to the determination of the final score of the course.

In particular proven cases for which the student is not able to carry out the exercises regularly, specifically STUDENTS WITH CERTIFIED HEALTH PROBLEMS OR WHO ARE DOING A PERIOD OUTSIDE THE CITY, it is possible to carry out an alternative test to partially or fully cover the exercises.

Important note: It is possible to take the written exam and the project discussion in different sessions. Written exams, projects, and exercises are valid for one academic year. If the grade is not registered during the current academic year (only the written exam or only the project has been completed), any partial grades will be lost.
written and oral
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.
- 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: 05/05/2025