28004 - Foundations of Informatics T-1 (L-Z)

Academic Year 2025/2026

  • Moduli: Wilma Penzo (Modulo 1) Wilma Penzo (Modulo 2)
  • Teaching Mode: Traditional lectures (Modulo 1) Traditional lectures (Modulo 2)
  • Campus: Bologna
  • Corso: First cycle degree programme (L) in Engineering Management (cod. 6679)

Learning outcomes

Basic and operative knowledge of computer architectures. Knowledge of principles, methodologies, and tools for solving low-complexity problems. Capability of applying the competencies in the project and development of small programs, following the object-oriented paradigm.

Course contents

Requirements/Prior knowledge

To successfully follow the teaching no prior knowledge or skills in the computer science field are required.

Fluent spoken and written Italian is a necessary pre-requisite: all lectures and tutorials, and all study material will be in Italian.

Due to the applied nature of the course, attendance at lessons is highly recommended, although not mandatory. Non-attending students are encouraged to complete the exercises provided, using the integrated programming environment used in the course.

Course organization

The course is structured into two modules, delivered in parallel. Module 1 introduces the core concepts of the discipline and includes the application of these concepts through hands-on laboratory exercises. Module 2 integrates the activities covered in Module 1 with guided exercises conducted online in synchronous mode, using digital tools for sharing and active student participation.

Program

1. Computer Architecture
General architecture of a computer. Von Neumann machine. Memory devices.

2. Computer software
The operating system. Tools for programming: editors, debuggers, compilers, and interpreters. Development phases of a program.

3. Programming concepts
Methods for problem solving. Algorithms. Methodologies of structured and modular programming. Iteration and recursion.

4. Programming languages
Programming languages: concepts and history. Syntax and semantics.

5. Java Language
Introduction to object-oriented programming. Object-oriented paradigm. Fundamenals of the Java programming language. Algorithms and data structures in Java. Inheritance. Advanced data structures in Java.

Readings/Bibliography

Recommended course book
  • W. Savitch, D. Micucci: Programmazione di base e avanzata con Java. III edizione. Pearson, 2024. 

Further readings

  • D. Sciuto, G. Buonanno, L. Mari: Introduzione ai sistemi informatici, VI edizione. McGraw-Hill, 2022.

Additional slides downloadable from Virtuale will be provided by the teacher.

On Virtuale, lab and online exercises, additional in-depth exercises, exam preparation tests, including solutions, and software for programming will also be available.

Teaching methods

The teaching participates to the Unibo didactic experimentation project and it is delivered in Blended Learning mode (in-person and remotely). 

The course is provided by means of slides displayed during lecture hours.

In-person lectures are focused on covering the course's theoretical contents, by providing the knowledge base for the design and the implemention of efficient algorithms for solving complex problems.

Lectures are integrated with computer-based practice exercises: each exercise tackles a particular theme, for which real problems are proposed; such problems are to be solved using the knowledge obtained during lecture hours. Lab exercises foster problem-solving skills and develop computational thinking. Furthermore, through the use of specific programming support software tools, the ability to identify errors and propose solutions is strengthened. 

Remote activities are carried out with the help of innovative teaching tools aimed at involving students and at promoting active participation. This fosters proactive thinking in formulating solutions, critical analysis, and discussion of proposed alternatives in a collaborative peer-to-peer environment. Additional benefits include the development of communication skills through synchronous participation in activities, both individually and in groups.

In consideration of the type of activity requested and teaching methods adopted, the attendance of this activity requires the prior participation of all students in modules 1 and 2 of training on safety in the study places, in e-learning mode.

Assessment methods

Exam assessment aims at testing the achievement of the following learning outcomes:

  • knowledge of computer hardware and software architectural bases
  • acquisition of skills for the formulation and analysis of algorithms
  • ability to implement algorithms in a given programming language (Java)

Achievements will be assessed by the means of a final exam. This is based on an analytical assessment of the "expected learning outcomes" described above. In order to properly assess such achievement the examination is composed of a practical test without the help of notes or books, or devices such as calculators or similar, possibly followed by an oral exam.

The practical test, lasting 100 minutes using the EOL application, consists of:

  • the implementation of a Java program to solve a problem; the text of the problem is usually divided into 2/3 points to be developed
  • answering 7 closed-ended and 3 open-ended questions about the theoretical part of the entire course program (programming language included)

Theory questions will be graded as follows:

For each closed-ended question

  • 1 point for each correct answer
  • -0.25 points for each incorrect answer
  • 0 points for each unanswered question

For each open-ended question

  • 3 points for each correct answer
  • between 0 and 3 points for each partially correct answer
  • 0 points for each incorrect answer or unanswered question

In order to pass the practical test, correct answer to at least 6 questions about the theoretical part, and a free of error implementation of the first point of the Java program are mandatory requirements.

The maximum score achievable, providing all correct and complete answers and completing the required program correctly, is 30 cum laude. A minimum score of 18/30 is considered a pass. There is no minimum attendance requirement to pass the test.

The oral exam is required only at the request of the teacher, in order to verify the originality of the practical test carried out by the student. The oral exam consists of a technical conversation with the teacher in order to demonstrate a knowledge of the key concepts of the subject. The oral exam should be taken in the same session of the practical test.

To obtain a passing grade, students are required to at least demonstrate a master knowledge of the key concepts of the subject and some algorithmic and logical thinking abilities. Higher grades will be awarded to students who demonstrate an organic understanding of the subject, a comprehensive use of technical language, problem solving capabilities and programming skills. A failing grade will be awarded if the student shows knowledge gaps in key-concepts of the subject, inappropriate use of technical language, and/or logic failures in problem solving and in programming capabilities.

In order to participate to the exam, the student must register through the AlmaEsami application, and must meet the mandatory deadlines.

The passing grade is valid for the exam session it is achieved within and it will be registered, except for grade rejection that must be received by the teacher by the registration date. 

 

Teaching tools

Classroom lessons will be held using slides, which will be integrated with an integrated development environment for the development of exercises.

Lab hours are supported by the teacher and a tutor. Students will be assigned a PC, so as to practice the concepts learned during the lessons, and to improve their own programming capabilities.

Remote activities will be provided with the aid of innovative teaching tools in which students will be able to measure, through interactive tests, the skills they have progressively acquired.

Students will have the opportunity to practice at home by installing on their own PC the programming software used in computer-based practice exercises held in laboratory and in class hours, and during the exam.

All teaching materials prepared by the teacher will be available on Virtuale.

Office hours

See the website of Wilma Penzo

SDGs

Quality education Gender equality Industry, innovation and infrastructure

This teaching activity contributes to the achievement of the Sustainable Development Goals of the UN 2030 Agenda.