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
Contribution of the course to the overall degree programme goals
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.
Expected learning outcomes
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.
Pre-requirements
Contents
- 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
Referral texts
Assessment methods
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.
Type of exam
Grading scale
- 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.
Teaching methods
The frequent interleaving of exercises allows students to immediately apply abstract knowledge to practical problems and to self-evaluate their skills.