PROGRAMMING AND LABORATORY-1

Academic year
2025/2026 Syllabus of previous years
Official course title
PROGRAMMAZIONE E LABORATORIO-1
Course code
CT0442 (AF:573193 AR:323106)
Teaching language
Italian
Modality
On campus classes
ECTS credits
6 out of 12 of PROGRAMMING AND LABORATORY
Degree level
Bachelor's Degree Programme
Academic Discipline
INF/01
Period
2nd Semester
Course year
1
Where
VENEZIA
Moodle
Go to Moodle page
The course aims at introducing the basic elements of imperative programming to devise algorithmic solutions to simple problems.

The student will learn and understand the foundations of computer science for what concerns imperative languages and basic algorithms. Moreover, the student will understand problem solvability and the ability to select suitable methods for problem analysis and modeling.
Knowledge and Understanding
- Foundational principles of computer science: algorithms, languages and their classification, type systems, control structures.

Ability to Apply Knowledge and Understanding
At the end of the course, the student will be able to use a professional programming environment, edit, debug, compile, and execute programs on Unix-like and Windows platforms. Specifically, they should be able to:
- Formalize a problem of limited complexity (providing its specification);
- Design one or more solutions to it (developing corresponding algorithms);
- Implement these solutions using imperative programming languages;
- Verify the execution of the proposed programs with appropriate test cases;
- Describe aspects of the language or problem-solving algorithms using appropriate terminology and logically organizing their explanation.

Learning Skills
- The student should be able to consult technical documentation regarding the libraries used.
Basic elements of logic. Elementary notions of programming in C (assignments, iterations, functions). Pointers in C.
Variables and elementary types of the C++ language.
References in C++.
Parameter passing by reference.
vector and string
Struct and Classes
Pointers
new and delete operators for the allocation and deallocation of dynamic memory.
Lists and algorithms on lists.
Recursion.
Abstract data types by using classes
Queues and Stacks
Using templates



D. S. Malik: C++ Programming Drom Problem Analysis to Program Design. 8th Ed.Cengage
The exam consists of a written test, an oral interview, and a project.

Description of the written exam for FULL TIME and PART TIME students:
The written test aims to evaluate the student's problem-solving skills, the knowledge of the C++ language, and the ability to code the algorithm devised as a solution.
The written exam consists of programming exercises to be solved on a computer in class. The oral interview consists of a discussion of the written exam, as well as the verification of problem-solving skills and theoretical knowledge.
The oral interview will be scheduled when the written exam is sufficient in the same call. If the oral interview is insufficient or is not present at the oral interview, then the written exam must be retaken.

The first written exam round can be replaced by 4 facultative intermediate HackerRank tests that will take place during the exercise sessions in class. The tests are passed if at least 60% of the exercises in the tests are passed. These tests replace only (the first round of) the written exam; the oral exam is mandatory for everyone.

Description of the final project:
The final project aims to evaluate the ability to apply the skills acquired to the solution of more structured problems.

The project is required for all students, including part-time.
written and oral
The marking of the exam follows the rules::
- project assessment 30%: The accuracy in the development of the problem according to the specifications will determine the evaluation
- oral interview 40%:the expressive skills, the theoretical knowledge, correctness in the use of technical language and the problem solving skills will determine the evaluation according to their degree of development
- written exam 30%: the correctness of the code in the various exercises will determine the evaluation
Lectures and laboratory exercises.
Module 1 will address the theoretical concepts of programming, while Module 2 will focus on the Laboratory part.
Definitive programme.
Last update of the programme: 25/02/2026