93034 - Foundations of Computer Science T

Academic Year 2023/2024

  • Teaching Mode: Traditional lectures
  • 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 course coordination, 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
  • Elements of Functional Programming in Python
  • Elements of Object Oriented Programming in Python
  • Elements of numerical methods in Python

In terms of applications, the course will focus on the solution on using Python to address numerical problems.

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 sessions.

Assessment methods

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

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