Unit COMPUTER PROGRAMMING I

Course
Informatics
Study-unit Code
GP004144
Curriculum
In all curricula
Teacher
Francesco Santini
Teachers
  • Francesco Santini
Hours
  • 73 ore - Francesco Santini
CFU
9
Course Regulation
Coorte 2018
Offered
2018/19
Learning activities
Base
Area
Formazione informatica di base
Academic discipline
INF/01
Type of study-unit
Obbligatorio (Required)
Type of learning activities
Attività formativa monodisciplinare
Language of instruction
Italian
Contents
Introduction to programming.
C programming language.
Linked lists.
Reference texts
C How to Program (8th Edition), Paul J. Deitel and Harvey M. Deitel (Authors), Publisher: Pearson; 8 edizione, ISBN-10: 0133976890, Pages: 1008, 2015.

C Pocket Reference, Peter Prinz, Ulla Kirch-Prinzm, Publisher: O'Reilly Media, ISBN-10: 0596004362, Pages: 144, 2002.

C in a Nutshell: The Definitive Reference, Peter Prinz, Tony Crawford, Publisher: O'Reilly Media, ISBN-10: 1491904755, 824 pages, 2015.
Educational objectives
The student will learn basic programming concepts and problem solving. Moreover, we will directly acquire programming skills using C language. Finally, we will be able to use a linked list and its basic operations, e.g., insertion and deletion of elements.
Prerequisites
No prerequisite.
Teaching methods
Lectures with slides.
Home assignments.
Compilation examples.
Classroom exercises.
Learning verification modality
Written exam with 9-10 exercises based on understanding and writing pieces of code in C language (duration: 2 hours and half).
If the marks of the written exam are good enough, the student is required to give a Lab exam where she will be asked to modify some parts of a project developed at home (duration: 1 hour and half). Some further questions can asked at the end of the Lab exam, depending on the marks of the two previous tests. The written exam is scored 18-30, then 4-5 more points an be assigned to the assigned project. The oral exam is then used to assess the skills of a student and tune the final mark.
Extended program
- Introduction to programming languages
- Interpreted and compiled languages
- Names, scope, binding
- Versioning systems (GitHub)

- C language:
Language Basics
Types
Literals
Type conversions
Expressions and operators
Statements
Loops
Conditional statements
Functions
Arrays
Pointers
Structures and Unions
Dynamic Memory Management
Input and Output
Pre-processing directives
Compiling with GCC
Debugging C Programs with GDB

- Linked lists
Condividi su