Skip to main content
CODE 80299
ACADEMIC YEAR 2019/2020
CREDITS
SCIENTIFIC DISCIPLINARY SECTOR INF/01
LANGUAGE Italian
TEACHING LOCATION
  • GENOVA
SEMESTER 1° Semester
TEACHING MATERIALS AULAWEB

OVERVIEW

The course aims to provide the earliest programming bases, giving particular emphasis to scientific reasoning and computational thinking. The course includes classes as well as practical labs whose purpose is to deepen and consolidate the topics seen in the classroom.

The course has a strong applicative connotation, where the student is encouraged to face problems of increasing complexity in autonomy.

AIMS AND CONTENT

LEARNING OUTCOMES

  • Computational Thinking principles
  • Basic knowledge of the fundamental concepts of imperative programming 
  • Introduction to an imperative programming language ( C++ limited to non-object oriented concepts ), with a text editor, compiling, and command-line execution.
  • Principles of designing, implementing, and validating a small sequential program based on the informal specifications provided by the user.
  • Ability to produce correct and comprehensible code; Ability to understand, use, modify code 

TEACHING METHODS

  • Classroom lessons
  • Guided Laboratories
  • Homework delivered through aulaweb

Given the cultural importance of this course (at the core of all undergraduate computer science courses) attending classes and labs is strongly encouraged and suggested.

SYLLABUS/CONTENT

The course consists of a part of theoretical lessons that take place in the classroom and a substantial practical part of programming activities that takes place in the lab.  

Main topics:

  • Introduction to the course, computational thinking, and programming.
  • Programming environments and formal languages.
  • Imperative programming: variables and instructions; assignment; input / output; if-then-else; loops; types; arrays; strings; functions; struct; dynamically allocating memory (heap); dynamic vectors; linked lists ; recursion and iteration.
  • Simple algorithms on sequential data: ordering and search
  • Introduction to problem analysis and solution design, with examples.

RECOMMENDED READING/BIBLIOGRAPHY

Slides will be available but are not sufficient getting ready for the exam.  

  • Reference book: D.S. Malik Programmazione in C++ Apogeo, 2011, ISBN 978-88-503-2967-0 (or english version)
  • Alternatively B. Stroustrup, Programming: Principles and Practice Using C++, Addison-Westley, 2009, ISBN 978-0321543721. 

TEACHERS AND EXAM BOARD

Exam Board

FRANCESCA ODONE (President)

CHIARA BASSANO

KATIA LUPINETTI

MATTEO MORO

STEFANO ROVETTA

LESSONS

Class schedule

The timetable for this course is available here: Portale EasyAcademy

EXAMS

EXAM DESCRIPTION

The exam is made of 3 parts

  1. tests on the theoretical part, or alternatively a written examination on theory  
  2. laboratory exam 
  3. continuous assessment 

More details on AULAWEB

Exam schedule

Data appello Orario Luogo Degree type Note
14/01/2020 09:00 GENOVA Scritto
17/01/2020 09:00 GENOVA Laboratorio
04/02/2020 09:00 GENOVA Scritto
07/02/2020 09:00 GENOVA Laboratorio
15/06/2020 09:00 GENOVA Scritto
18/06/2020 09:00 GENOVA Laboratorio
06/07/2020 09:00 GENOVA Scritto
10/07/2020 09:00 GENOVA Laboratorio
01/09/2020 09:00 GENOVA Scritto
03/09/2020 09:00 GENOVA Laboratorio