PROGRAMMING AND LABORATORY-2

Academic year
2025/2026 Syllabus of previous years
Official course title
PROGRAMMAZIONE E LABORATORIO-2
Course code
CT0442 (AF:573194 AR:323108)
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
The student acquires:
- foundational principles of Computer Science: algorithms, languages ​​and their classification, type systems, control structures, C++ templates, C++ containers;
- understanding of the feasibility and complexity of Computer Science problems and ability to select appropriate methods for their analysis and modeling;

Ability to apply knowledge and understanding
The student:
- knows how to use the fundamental tools for the development and adoption of simple algorithms and data structures (implemented in C++);
- develops feasibility and complexity analyses of Computer Science problems and knows how to select appropriate methods for their analysis and modeling;
- knows how to develop C++ 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 related to the used libraries.
Basic elements of logic. Elementary notions of programming in C (assignments, iterations, functions). Pointers in C.
Variables and elementary types of the C++ language.
Pointers and References in C++.
new and delete operators for the allocation and deallocation of dynamic memory.
Parameter passing by reference.
Array in C and C++.
Strings in C and C++.
Recursion.
Lists and algorithms on lists.
Abstract data types by using classes
Queues and Stacks
templates
Iterators
Move/copy semantics
D. S. Malik: C++ Programming Drom Problem Analysis to Program Design. 8th Ed.Cengage 2018
The exam consists of a computer-based test followed by an oral exam and a final project.

Description of the written and oral test for FULL TIME and PART TIME students:
The written test aims to evaluate the student's problem-solving skills, knowledge of the C++ language, and the ability to code the designed solution algorithm in the programming language. The written tests will contain exercises to be performed on the computer in class. The oral exam includes a discussion of the written exam, verification of problem-solving skills, and assessment of theoretical knowledge and expressive competencies. It will be a single session and held in conjunction with the exam session where the written test was passed. If the oral exam is insufficient or the student does not show up, the written test must be repeated.

The first session of the written test can be replaced by four intermediate programming tests conducted individually in class during the exercise hours. The tests are considered passed if the student has passed at least 60% of the exercises contained within them. These tests (if passed) replace exclusively the first session of the written exam; the oral exam remains mandatory for everyone.

Project description: the project aims to verify the student's ability to apply the acquired knowledge within the context of a complex problem.

Completing the project is also required for PART-TIME students.
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 also on the Laboratory part (in addition to address new language elements).
Definitive programme.
Last update of the programme: 26/02/2026