Teachings

Select Academic Year:     2017/2018 2018/2019 2019/2020 2020/2021 2021/2022 2022/2023
Professor
RICCARDO SCATENI (Tit.)
ANDREA LODDO
Period
First Semester 
Teaching style
Convenzionale 
Lingua Insegnamento
 



Informazioni aggiuntive

Course Curriculum CFU Length(h)
[60/61]  COMPUTER SCIENCE [61/00 - Ord. 2016]  PERCORSO COMUNE 12 120

Objectives

Knowledge and understanding:

Understanding what programming a computer means
Know the taxonomy of the programming languages and understand why they are necessary for interacting with a computer
Know which are the tools used for programming
Understand which are the effects of the statements regarding syntax and semantics

Applying knowledge and understanding:

Solve exercises on the courses' subjects
Read C programs of small complexity and understand why they are as such based on the code itself and the associated comments
Design small C applications starting from the guidelines or building over existing code

Making judgments

Develop independently, for the design and implementation choices, the final project from the specifications provided

Communication skills

Being able to present the project at the end of the course by discussing the design and implementation choices

Learning skills

Being able to identify, within the teacher's handouts and the textbook, the topics covered during the course even during the tests

Prerequisites

No prerequisites required, since it's the first year, first semester course.

Contents

Introduction

Algorithms, programs, and programming
Computer and the Von Neumann architectural model
Translation: compiling and interpreting
Structured programming
A brief description of a programming language: the syntax of C
The basic structure of a program, variables, assignments, and comments

Expressions

Arithmetic operators
Assignment operators
Expressions evaluation

Instructions

Selection instructions (if and switch in C)
Cycles instructions (while and for in C)
Sequence modification instructions (goto, break and continue in C)

Datatypes

Basic data-types: integer, reals, and characters
Type conversion
Monodimensional vectors
Multidimensional vectors
Structured datatypes
Building new types from the basic ones

Functions

Declaring, defining and calling functions
Function's arguments
Parameters passing
Parameters passing modes
Recursion as a computational model

Pointers and strings

Pointers as memory addresses
Pointers operators (*, & and ->)
String literals and variables
Operations on strings
Strings and arrays

Organizing and designing a program

Local and global variables, blocks
Scope
Preprocessor

Fundamentals on computational complexity

Notation
Constructs complexity
Reduction rules

Teaching Methods

48 hours of lectures and 72 hours of laboratory.

Verification of learning

The evaluation of the theoretical part of the exam is based on three written tests

Each written test accounts for 20% of the final mark. They are both marked from 0 to 30, and it's mandatory to reseat if the mark is under 15. The test contains multiple-choice questions (1 point each with penalty): true-false questions (1 point each with penalty); open answer questions (for each the points are clearly stated).

Texts

Deitel, Deitel
"Il linguaggio C, fondamenti e tecniche di programmazione"
Ottava edizione (Agosto 2016)
Pearson

Lecture notes are available for online purchase.

More Information

Before the tests, the students can use the equivalent tests of the two precedent academic years that are commented on and solved in the lecture room.

Questionnaire and social

Share on:
Impostazioni cookie