INTRODUCTION TO COMPUTER PROGRAMMING

Academic year
2024/2025 Syllabus of previous years
Official course title
INTRODUCTION TO COMPUTER PROGRAMMING
Course code
CT0665 (AF:521402 AR:292746)
Modality
On campus classes
ECTS credits
6
Degree level
Bachelor's Degree Programme
Educational sector code
ING-INF/05
Period
1st Semester
Course year
1
Where
VENEZIA
Moodle
Go to Moodle page
The course aims at introducing the basic elements of imperative programming to formulate algorithmic solutions to problems of limited complexity.

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.
Knowledge and understanding
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.
No prerequisite is required.
- Introduction to the C programming language
- 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
Paul J. Deitel, Harvey M. Deitel. Il linguaggio C. Fondamenti e tecniche di programmazione. 8/Ed. Pearson. 2016.
The exam consists of a written test, weekly exercises and a final project. To pass the exam, the student must obtain a sufficient grade in the written test and the project.

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.

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.
Lectures and hands-on sessions.
The frequent interleaving of exercises allows students to immediately apply abstract knowledge to practical problems and to self-evaluate their skills.
English
written and oral
Definitive programme.
Last update of the programme: 28/01/2025