First cycle
degree courses
Second cycle
degree courses
Single cycle
degree courses
School of Engineering
Course unit
INP5071698, A.A. 2019/20

Information concerning the students who enrolled in A.Y. 2017/18

Information on the course unit
Degree course First cycle degree in
IN0513, Degree course structure A.Y. 2011/12, A.Y. 2019/20
bring this page
with you
Number of ECTS credits allocated 6.0
Type of assessment Mark
Course unit English denomination COMPUTER ENGINEERING LABORATORY
Department of reference Department of Information Engineering
E-Learning website
Mandatory attendance No
Language of instruction Italian
Single Course unit The Course unit can be attended under the option Single Course unit attendance
Optional Course unit The Course unit can be chosen as Optional Course unit

Teacher in charge SEBASTIAN DABERDAKU INF/01

ECTS: details
Type Scientific-Disciplinary Sector Credits allocated
Core courses ING-INF/05 Data Processing Systems 6.0

Course unit organization
Period Second semester
Year 3rd Year
Teaching method frontal

Type of hours Credits Teaching
Hours of
Individual study
Lecture 6.0 48 102.0 No turn

Start of activities 02/03/2020
End of activities 12/06/2020
Show course schedule 2019/20 Reg.2011 course timetable

Examination board
Board From To Members of the board
5 A.A. 2019/2020 01/10/2019 15/03/2021 DABERDAKU SEBASTIAN (Presidente)
GHIDONI STEFANO (Membro Effettivo)
MORO MICHELE (Supplente)
4 A.A. 2018/2019 01/10/2018 15/03/2020 GHIDONI STEFANO (Presidente)
MORO MICHELE (Supplente)

Prerequisites: The course relies on preliminary knowledge of: fundamentals of programming (loops, conditions, variables, functions), computer architecture, algorithmics.
Target skills and knowledge: The course will provide the following knowledge and abilities:
- Know cycles, conditions and basic algorithms in the C language.
- Know advanced programming patterns in C, with a focus both on syntax and semantics.
- Develop the ability of using advanced tools typical of the C language: pointers and memory management, and compare them against other popular programming languages.
- Develop the ability of developing a software project of good quality, offering a high level of readability, modularity, and being easy to maintain.
- Develop the ability of linking the memory management tools in C with computers operation.
Examination methods: Evaluation of knowledge and abilities acquired will be as follows:
- An evaluation of the software produced in three lab experiences, guided by the teacher - 10% of the final mark.
- An evaluation of code development capabilities, based on the evaluation of an individual software project developed by the student. The project will be discussed during the oral exam. Both software produced and oral examination will determine 90% of the final mark.
Assessment criteria: Evaluation criteria are as follows:
- For the evaluation of lab session software: capability of managing fundamental and advanced C language tools.
- For the evaluation of software project and oral exam: capability of developing a medium-sized software project, quality of delivered software, efficiency of the algorithmic solution proposed, quality of the theoretical tools and ability of using such tools for solving a specific problem.
Course unit contents: 1. Introduction to the C programming language
2. Syntax and program basic structure
3. Compiling, linking and executing - building of programs and libraries
4. Main language elements - cycles, conditional instructions, variables and scoping, functions
5. Pointers and their use for effective programming
6. Memory management in C, dynamic memory allocation
7. Composite data types: vectors, structs, unions
Planned learning activities and teaching methods: Teaching is developed by means of frontal lectures (at the blackboard and/or using slides), and eight lab lectures, in which students are assisted in their first steps towards the use of software development tools introduced in the course. Interactive teaching techniques will often be used, including think-pair-share and interactive discussions of a few minutes on open questions. This will enforce active learning and the ability to reflect on things.
Additional notes about suggested reading: All topics will be covered during the lectures. Slides will be made available on Elearning, together with examples of software development. Students' notes could be integrated using the books, and further material provided by the teacher on Elearning.
Textbooks (and optional supplementary readings)