Computer Science Fundamentals - 6 ECTS
The course is targeted to Industrial and Information 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: First Semester
Topic Overview
- Introduction to the computer’s structure and architecture
- 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