Fondamenti di Informatica
Academic Year 2024/2025 - Teacher: ALESSANDRO DI NUOVOExpected Learning Outcomes
Course Learning Objectives according to the Dublin Descriptors:
Knowledge and Understanding: The student will acquire a solid foundation in computer science as a discipline that studies algorithms, the principles of operation and organization of computers, information systems, and computer networks, as well as the basics of programming languages and spreadsheets.
Applying Knowledge and Understanding: The student will be able to understand the structure and operational logic of modern information systems, design algorithms to solve moderately complex problems, and implement these algorithms in the C programming language and/or in spreadsheets.
Autonomy of Judgment: The student will develop the ability to evaluate the suitability of IT tools in a professional context and to select appropriate data structures and methodologies to solve data processing problems.
Communication Skills: The student will be able to engage with IT specialists on the organization of modern information systems and describe in detail the solutions adopted for data processing problems.
Learning Skills: The student will have the skills to learn advanced methodologies and new programming languages, applying the fundamental concepts acquired in the course with flexibility.
Course Structure
Seminars will be alternated with computer-based exercises led by the instructor. The course also includes practical exercises performed by the students.
Should the course be delivered in a hybrid or remote format, necessary adjustments may be introduced as compared to what was previously stated, in order to fulfil the program outlined in the syllabus.
Required Prerequisites
Attendance of Lessons
Detailed Course Content
- Information Representation: Number systems and conversion algorithms. Integer and floating-point arithmetic.
- Computer Structure: Structure of a computer, main memory, central unit, and basic operation of the computer.
- Operating System: Translation and execution of programs. Programming environment. Compilers vs. interpreters. Operating system.
- Algorithms and Programs: Automated information processing. Algorithms and programs. Programming languages. Program design.
- Computer Networks and the Internet: Computer networks, local area networks, wide area networks, the Internet, and common network applications.
- The C Programming Language: Syntax and semantics. Control: assignment and control structures. Data types in C: simple types (int, char, float, double) and structured types (arrays, strings, structures). Pointer type. Functions. Scope of identifiers. Declarations and scope of identifiers. Local, global, and static variables. Parameter binding techniques. Recursion. Files: text files and binary files. File access primitives.
- Search Algorithms: Sequential and binary search algorithms.
- Dynamic Memory Allocation
- Text Document Management
- Spreadsheet Design and Management
- Introduction to Database Design and Management
Textbook Information
Teaching materials
- Tutor's slides
- Tutor's handouts
- Suggested textbooks (not mandatory)
Course Planning
Subjects | Text References | |
---|---|---|
1 | Introduction to Computer Science | handouts; recommended books |
2 | Representation of Information | handouts; recommended books |
3 | Boolean Algebra | handouts; recommended books |
4 | Computer Architecture | handouts; recommended books |
5 | Operative system and software applications | handouts; recommended books |
6 | Computer Networks and the Internet | handouts; recommended books |
7 | Algorithms and data structures | handouts; recommended books |
8 | C/C++ programming language | handouts; recommended books |
9 | The spreadsheets for statistical methodologies and probability calculations. | handouts; recommended books |
Learning Assessment
Learning Assessment Procedures
The exam consists of two parts:
- Practical written test: questions multiple choice and open; implementation of a program in C, spreadsheets, and a database
- Oral exam: review of the practical test and assessment of knowledge of the course content
The assessment can also be carried out remotely, should circumstances require it.