COMPUTER PROGRAMMING AND LABORATORY-1

Academic year
2025/2026 Syllabus of previous years
Official course title
COMPUTER PROGRAMMING AND LABORATORY-1
Course code
CT0664 (AF:573123 AR:323185)
Teaching language
English
Modality
On campus classes
ECTS credits
6 out of 12 of COMPUTER 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 computer-based written test followed by an oral exam and a final project.

Description of the written and oral exams for FULL-TIME and PART-TIME students:
The written test aims to assess the student’s problem-solving skills, knowledge of the C++ language, and ability to implement the devised solution algorithm in the programming language.
The written exams will include exercises to be completed on a computer in class.

The oral exam involves a discussion of the written test, an evaluation of problem-solving skills, and an assessment of theoretical knowledge and communication abilities. It is a single exam and is held in conjunction with the exam session corresponding to a passed written test. If the oral exam is insufficient or the student does not attend, the written test must be retaken.

The first sitting of the written exam may be optionally replaced by four intermediate programming tests, carried out individually in class during lab sessions. The tests are considered passed if the student successfully completes at least 60% of the exercises included in them. These tests (if passed) replace only the first sitting of the written exam; the oral exam remains mandatory for all students.

Project description: the project aims to assess the student’s ability to apply the acquired knowledge to a complex problem.

Completion of the project is also required for part-time students.
written and oral
The exam is graded as follows:
- Project evaluation 30%: Accuracy of completing the assignment will determine the grade.
- Oral exam 40%: Expressive skills, theoretical knowledge, correct language, and problem-solving skills, achieved to varying degrees, will contribute to the grade.
- Written exam 30%: Accuracy of coding in the various exercises will determine the final grade.
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: 28/02/2026