Skip to main content
CODE 66052
ACADEMIC YEAR 2024/2025
CREDITS
SCIENTIFIC DISCIPLINARY SECTOR INF/01
LANGUAGE Italian
TEACHING LOCATION
  • GENOVA
SEMESTER 2° Semester
PREREQUISITES
Propedeuticità in uscita
Questo insegnamento è propedeutico per gli insegnamenti:
TEACHING MATERIALS AULAWEB

OVERVIEW

The purpose of the course is to provide the tools to imperative programming through the introduction of high-level languages.

AIMS AND CONTENT

LEARNING OUTCOMES

Basis knowledge of computer programming. We will teach how to analyze simple problems, how to solve them with procedural algorithms, with an object oriented programming language. We will teach the basis to solve simple data analysis and numerical calculation problems.

AIMS AND LEARNING OUTCOMES

In particular, the following topics will be covered:

  1.  Basics about computers: data representation and arithmetic processors; Computer architecture hints and operating systems for the execution basic understanding of programs.
  2.  Introduction to Programming: the high-level programming languages; state and change of state; statements and basic instructions;  basic and structured types;; simple algorithms and their implementation; structured and modular programming.
  3. Programming: design of sequential size programs starting from the informal specification of the problem; compilation; code execution; basic ideas of testing.


The programming parts will use a subset of the C ++ language as an example of high-level language.

At the end of the course students will be able to solve simple programming problems, even with the use of external libraries, and above all they will be able to understand and modify C ++ programs.

 

PREREQUISITES

None

TEACHING METHODS

The course will have theory lectures and practical lessons and exercises.

 

SYLLABUS/CONTENT

  1. Basics about computers: data representation and arithmetic processors; Computer architecture hints and operating systems for the execution basic understanding of programs.
  2.  Introduction to Programming: the high-level programming languages; state and change of state; statements and basic instructions;  basic and structured types;; simple algorithms and their implementation; structured and modular programming.
  3. Programming: design of sequential size programs starting from the informal specification of the problem; compilation; code execution; basic ideas of testing.


The programming parts will use a subset of the C ++ language as an example of high-level language.

RECOMMENDED READING/BIBLIOGRAPHY

Programming Principles and Practice using C++, Addison-Wesley Professional, 2008
C++. Fondamenti di programmazione -- H. M. Deitel, P. J. Deitel; Editore: Apogeo 2009

TEACHERS AND EXAM BOARD

Exam Board

MANUELA CHESSA (President)

FRANCESCA ODONE

ENRICO PUPPO (President Substitute)

FABIO SOLARI (Substitute)

LESSONS

Class schedule

The timetable for this course is available here: Portale EasyAcademy

EXAMS

EXAM DESCRIPTION

The exam consists of two parts to be taken consecutively in "traditional" classrooms with the student's calculator:

  1. An automatically graded quiz, consisting of a series of questions on Aulaweb (maximum score of 6). Those who score >=3.5 can take the next part.

  2. A programming laboratory test on the computer (maximum score of 26, passing grade 12).

At the discretion of the instructors, if there are any doubts during the grading of the test, the student may be asked to take an additional oral exam, during which only the knowledge necessary for completing parts 1 and 2 will be verified. If the student fails the oral exam, the exam is considered not passed, and the student will be required to take the oral exam in all subsequent attempts until passing the exam.

The exam is considered passed if the sum of the two parts is >= 18. The final score is the sum of the two parts plus any bonus from exercises completed during the course; if the score is >30, a grade of 30 with honors will be recorded. The student may decline the recorded grade and retake the exam.

During the exams, it is allowed to consult handouts, any texts, and personal notes; however, it is not allowed to consult online resources.

ASSESSMENT METHODS

The written exam has the aim of evaluating teh main concepts presented during the course.
The practical exam has the aim of evaluating the capability of writing a working program in C++.
The exam will be evaluated by considering:
- if the code produce the correct results
- style of the code
- efficiency

Exam schedule

Data appello Orario Luogo Degree type Note
10/01/2025 09:30 GENOVA Laboratorio
03/02/2025 09:30 GENOVA Laboratorio
26/03/2025 09:30 GENOVA Laboratorio
09/06/2025 09:30 GENOVA Laboratorio
01/07/2025 09:30 GENOVA Laboratorio
10/09/2025 09:30 GENOVA Laboratorio