• Edizioni di altri A.A.:
  • 2023/2024
  • 2024/2025
  • 2025/2026

  • Language:

    Italian. 
  • Textbooks:

    Cay S. Horstmann, Rance D. Necaise. Python for Everyone (3rd edition). Wiley 
  • Learning objectives:

    The aim of this course is to teach the principles of structured programming using Python as a programming language. It is not the aim of the course to teach object-oriented programming, which will instead be one of the main topics of the course "Programmazione e Algoritmi 2"
    EXPECTED LEARNING RESULTS
    KNOWLEDGE AND UNDERSTANDING
    At the end of the course, the student must be able to:

    illustrate the basic inner working of a computer and the meaning of algorithm
    illustrate the concept of asymptotic computational complexity of an algorithm;
    illustrate the principles of structured programming;
    illustrate the basic methods that Java provides for input/output from/to the console;
    illustrate the most important functions of the Python standard library for string manipulation, math calculations, input and output;
    illustrate the characteristics and use of the main predefined data structures in Python: lists, sets and dictionaries;
    illustrate the algorithms for linear and binary search and the the most common sorting algorithms.

    KNOWLEDGE AND UNDERSTANDING APPLIED
    At the end of the course, the student must be able to:

    manually generate the execution trace of a program written in the Python language;
    write simple structured programs in Python;
    calculate the asymptotic computational complexity of simple algorithms.

    COMMUNICATION SKILLS
    At the end of the course, the student must be able to explain the inner workings of programs and algorithms using correct and precise language.
    LEARNING SKILLS
    At the end of the course the student must be able to:

    learn to use programming languages other than Python, as long as they are based on the same paradigm (structured imperative programming with dynamic typing), such as JavaScript, PHP, Ruby, etc..
     
  • Prerequisite:

    None. 
  • Teaching methods:

    The course consists of 48 hours of lectures. 
  • Exam type:

    The exam consists of a written/practical test and an oral test. The written/practical test consists of a series of programming exercises, some to be carried out using a computer (for example, writing a program that meets certain specifications), others on paper (for example, writing the execution trace of a given program ). 
  • Sostenibilità:
     
  • Further information:

    This course is accompanied by the one called "Laboratorio di Programmazione 1", which completes the training with practical sessions in the computer laboratory.Further information is available on the course website on the fad.unich.it e-learning platform. The same platform will also be used as a forum for communicating with students. 


Introduction to programming. Introduction to Python. Conditional statement. Definite iteration. Indefinite iteration. Functions. Lists, sets and dictionaries. File management. Recursion. Sorting and searching algorithms. Introduction to computational complexity.


Introduction to programming.

Hardware and software
Programs and algorithms
Programming languages, interpreters and compilers

Introduction to Python.

The first Python program
Variables and numeric data types
Arithmetic expressions
Strings
Input and output using the terminal
Binary representation of data

Conditional statements and operators.

The if statement
Relational operators
Nested branches
Multiple alternatives
Boolean operators

Definite and indefinite iteration.

The for statement
The while statement
Break and continue statements
Nested loops

Functions.

Implementation and testing of functions
Parameter passing
Result of a function
Scope of variables

Lists, sets and dictionaries.

Lists
Algorithms that operate on lists
Tables as lists of lists
Sets
Dictionaries
Complex structures

File management.

Reading and writing text files
Exception handling

Recursion.

Recursive functions
The stack of activation records

Introduction to computational complexity

Measuring the performance of an algorithm
The notations O(n), Θ(n) and Ω(n)

Sorting and searching algorithms.

Linear and binary search
Selection sort
Merge sort

News

No news to be shown

Documents

No document to be shown

Scopri cosa vuol dire essere dell'Ud'A

SEDE DI CHIETI
Via dei Vestini,31
Centralino 0871.3551

SEDE DI PESCARA
Viale Pindaro,42
Centralino 085.45371

email: info@unich.it
PEC: ateneo@pec.unich.it
Partita IVA 01335970693

icona Facebook   icona Twitter

icona Youtube   icona Instagram