PROGRAMMING AND LABORATORY-2
- Academic year
- 2025/2026 Syllabus of previous years
- Official course title
- PROGRAMMAZIONE E LABORATORIO-2
- Course code
- CT0442 (AF:573205 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
Contribution of the course to the overall degree programme goals
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.
Expected learning outcomes
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.
Pre-requirements
Contents
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
Referral texts
Assessment methods
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.
Type of exam
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.
Grading scale
- 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