Fundamentals of Computer Science and Programming (Fondamenti di Informatica e Programmazione) - 9 ECTS

The course is targeted to Aerospace Engineering students, and aims to provide the foundation for the understanding of fundamental concepts for designing and programming computer applications using the Python language. During the course, techniques for software development using structured and object-oriented programming paradigms through the Python language will be addressed. The approach will be geared toward algorithm construction and data structuring and management. The course will give the student the tools to evaluate the correctness of proposed solutions and to analyze and evaluate the usefulness of existing solutions.

Instructor: Andrea Augello

Term: Second Semester

Topic Overview

  • Introduction to the computer’s structure and architecture
  • Numerical representation of data and information
  • Definition of algorithms and their representation through flowcharts and pseudocode
  • Notes on computational complexity and algorithm efficiency
  • Python data types, variables, and operators
  • Data structures: lists, tuples, dictionaries, and sets
  • Control structures: conditional statements and loops
  • Functions and procedures
  • Recursion, search and sorting algorithms
  • Object-oriented programming: classes, objects, inheritance, and polymorphism
  • Exceptions and error handling
  • File handling and data persistence

Syllabus and past editions