Fondamenti di Informatica

Academic Year 2024/2025 - Teacher: ALESSANDRO DI NUOVO

Expected 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

No requirements

Attendance of Lessons

Attendance is required.

Detailed Course Content

Required knowledge:

  • 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

 SubjectsText References
1Introduction to Computer Sciencehandouts; recommended books
2Representation of Informationhandouts; recommended books
3Boolean Algebrahandouts; recommended books
4Computer Architecturehandouts; recommended books
5Operative system and software applicationshandouts; recommended books
6Computer Networks and the Internethandouts; recommended books
7Algorithms and data structureshandouts; recommended books
8C/C++ programming languagehandouts; recommended books
9The 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.