93034 - Foundations of Computer Science T

Academic Year 2021/2022

  • Moduli: Michele Lombardi (Modulo 1) Michele Lombardi (Modulo 2)
  • Teaching Mode: Traditional lectures (Modulo 1) Traditional lectures (Modulo 2)
  • Campus: Bologna
  • Corso: First cycle degree programme (L) in Electrical Energy Engineering (cod. 5822)

Learning outcomes

The student is introduced to the principles, project methodologies and fundamental tools for the development of computer applications, investigating some classic computational problems, proceeding for each of them to the identification of suitable solution algorithms, formalized in terms of the C programming language. The student acquires: - familiarity and mastery of the programming language; - ability to translate a problem into an algorithm; - theoretical aspects of computer science and computing systems.

Course contents

After a discussion with the Electrical Engineering coordinator, the course program has been modified to use Python as a target language. All other learning outcomes are unchanged.

The course content will include:

  • Introduction to Computer Science
  • Using the terminal emulator
  • Python interpreter and Jupyter notebbok
  • Structured Programming
  • Functions
  • Collections
  • Operative System and Hardware
  • Vector computations in Python
  • Functional Programming elements in Python
  • Object Oriented Programming elements in Python
  • Solving numerical computation problem in Python

Readings/Bibliography

There is no reference text: teaching material will consists of interactive notebooks and PDF slides, with references to online resource for more details.

Teaching methods

The course will meld lectures delivered as tutorials with hands-on session in the classroom.

Bringing your own laptop will be needed for the hands-on sessions.

Assessment methods

The exam will consist in practical test in one of the faculty labs. Bringing your own PC will not be necessary.

In case of restrictions due to the ongoing pandemic, the final test will switch to an online format.

Teaching tools

The course material will consists of interactive Jupyter notebooks and PDF slides.

All lectures will be recorded.

Office hours

See the website of Michele Lombardi