Skip to main content
CODE 56755
ACADEMIC YEAR 2025/2026
CREDITS
SCIENTIFIC DISCIPLINARY SECTOR ING-INF/05
LANGUAGE Italian
TEACHING LOCATION
  • GENOVA
SEMESTER 1° Semester

OVERVIEW

The course provides the essential concepts and tools for the use and programming of computers, with specific reference to Naval Engineering. It begins with theoretical topics, particularly focusing on computer architecture and the functioning of operating systems, and then concentrates mainly on practical aspects related to the Python programming language.

 

AIMS AND CONTENT

LEARNING OUTCOMES

Knowledge of basic notions of computer science and program development.

AIMS AND LEARNING OUTCOMES

The main goal of the course is to provide a basic understanding of computer science, with a specific focus on solving practical problems through algorithms, using computers and the Python programming language as implementation tools. Throughout the course, students will acquire the skills to develop simple applications using Python, evaluate their performance empirically, and choose the most suitable data structures available in the language for specific tasks.

In particular, the attendance and active participation in the proposed educational activities (lectures and practical sessions), individual study, and group project work will enable students to:

- Acquire the following basic theoretical knowledge:

      - Logical and functional architecture of a computer

      - Structure, operation, and characteristics of main internal and external devices

      - Information encoding, encryption, and security

      - Binary, integer, and floating-point number systems

      - Computer networks and protocols

      - Operating systems

      - Problem-solving through algorithms

- Acquire the following skills:

      - Develop applications in Python

      - Use development tools such as PyCharm and Jupyter Notebook

      - Select and use the main control structures and data types

      - Design object-oriented programs

PREREQUISITES

There are no prerequisites.

TEACHING METHODS

The calendar is the published one. Lessons will start within 15 minutes of the scheduled time.

The course consists of lectures and practical sessions.
During lectures, several examples of software implementations related to the course content will be provided.
During the practical sessions, programming exercises will be proposed, and students will be encouraged to solve them independently. In the following lesson, the correct solutions will be presented.

SYLLABUS/CONTENT

The course program includes the presentation and discussion of the following topics:

- The Computer: structure and functionality of main components

- The Operating System: structure and functionality of main components

- Algorithms and programming languages

- Information encoding

- Computer networks and security

      - The Python programming language:

      - Variables and memory management

      - Numerical and textual expressions

      - Control structures: conditional statements, loops, procedures, and functions

      - Built-in data structures: lists, sets, dictionaries

      - Input/output operations

      - Classes and objects

      - Jupyter Notebook

RECOMMENDED READING/BIBLIOGRAPHY

The study material can be downloaded from Aulaweb and includes:

  • The slides projected in class and related notes on the blackboard
  • The material related to the exercises (that will be made available before and after each exercise).
  • A collection of exercises and exam texts.

During the lessons, other material will be indicated that can be found directly on the net.

For the programming part, it is not necessary to purchase a textbook. However, the following text (available online) may be useful: 

Think Python, Second Edition
https://greenteapress.com/thinkpython2/thinkpython2.pdf

TEACHERS AND EXAM BOARD

LESSONS

Class schedule

The timetable for this course is available here: Portale EasyAcademy

EXAMS

EXAM DESCRIPTION

A practical computer-based test using the Python language, followed by an oral examination.

ASSESSMENT METHODS

The final test and oral discussion aim to assess the following aspects of the student’s preparation:
- Basic theoretical knowledge in computer science
- Ability to develop an application in Python, and to explain and justify the design choices made