International Teaching | PROGRAMMING TECHNIQUES
International Teaching PROGRAMMING TECHNIQUES
Back
Lessons Timetable
cod. IE23300001
PROGRAMMING TECHNIQUES
IE23300001 | |
DEPARTMENT OF INFORMATION AND ELECTRICAL ENGINEERING AND APPLIED MATHEMATICS | |
EQF7 | |
ELECTRICAL ENGINEERING FOR DIGITAL ENERGY | |
2025/2026 |
OBBLIGATORIO | |
YEAR OF COURSE 1 | |
YEAR OF DIDACTIC SYSTEM 2025 | |
AUTUMN SEMESTER |
SSD | CFU | HOURS | ACTIVITY | |
---|---|---|---|---|
ING-INF/05 | 3 | 24 | LESSONS | |
ING-INF/05 | 1 | 8 | LAB | |
ING-INF/05 | 2 | 16 | EXERCISES |
Objectives | |
---|---|
The course provides the basic elements for solving problems of low complexity using computer systems, utilizing the fundamental components of a high-level programming language. It is structured to enable students to acquire knowledge of the fundamental elements of programming in the Python language, along with essential problem-solving techniques using a computer. Knowledge and understanding Syntax of the Python language. Main types and data structures. Fundamental constructs of high-level programming languages, basic data structures. Standard libraries of the language for data acquisition, processing, and visualization. Applying knowledge and understanding Designing and implementing scripts and simple applications for data processing. Implementing scripts and applications for reading data from heterogeneous sources. Utilizing libraries for graphical data visualization. |
Prerequisites | |
---|---|
For the successful achievement of the learning goals, knowledge of programming fundamentals and practical experience in using a programming language are required. |
Contents | |
---|---|
TEACHING UNIT 1: FUNDAMENTALS OF PROGRAMMING RECAP (LECTURE/PRACTICE/LAB HOURS 4/0/0) 1. (2 Lecture Hours): Course Introduction. Concept of algorithm, executor, language, program, process. Representation of an algorithm using a flow chart. 2. (2 Lecture Hours): System of types and operators in a programming language. Constants and variables. Declarative, simple, assignment, and expression statements. Control structures. Subprograms and parameter passing. KNOWLEDGE AND UNDERSTANDING: Understanding the terms: algorithm, executor, language, program, process, system of types and operators in a language. APPLIED KNOWLEDGE AND UNDERSTANDING: Recognizing the main syntactic elements in a programming language such as variables, literals, constants, control structures, and subprograms. TEACHING UNIT 2: PYTHON LANGUAGE BASICS (LECTURE/PRACTICE/LAB HOURS 6/6/0) 3. (2 Lecture Hours): Introduction to the Python programming language. 4. (2 Lecture Hours): Data types, operators, and expressions. 5. (2 Practice Hours): Structure of a Python program. 6. (2 Lecture Hours): Iterative and selective control structures. 7. (2 Practice Hours): Practice exercises on the use of control structures in Python. 8. (2 Practice Hours): Practice exercises on the use of control structures in Python. KNOWLEDGE AND UNDERSTANDING: Understanding the structure of a program in the Python language, its system of types and operators, and control structures. APPLIED KNOWLEDGE AND UNDERSTANDING: Implementing and executing simple programs in the Python language using its control structures. TEACHING UNIT 3: DATA STRUCTURES AND I/O (LECTURE/PRACTICE/LAB HOURS 6/6/0) 9. (2 Lecture Hours): Data structures in Python: strings and lists. 10. (2 Practice Hours): Practice exercises on strings and lists. 11. (2 Lecture Hours): Data structures in Python: tuples, sets, and dictionaries. 12. (2 Practice Hours): Practice exercises on tuples, sets, and dictionaries. 13. (2 Lecture Hours): I/O in Python. 14. (2 Practice Hours): Practice exercises on I/O. KNOWLEDGE AND UNDERSTANDING: Knowledge of the main structured data types available in Python. Knowledge of I/O functions. APPLIED KNOWLEDGE AND UNDERSTANDING: Implementing and executing simple programs in the Python language that utilize the main structured data types available in Python and perform I/O operations on commonly used stream types. TEACHING UNIT 4: MODULES AND PACKAGES (LECTURE/PRACTICE/LAB HOURS 4/6/0) 15. (2 Lecture Hours): Basic concepts of object-oriented programming in Python. 16. (2 Practice Hours): Practice exercises on the use of classes and objects in Python. 17. (2 Lecture Hours): Modules and packages. 18. (2 Practice Hours): Presentation of the main Python modules and packages. 19. (2 Practice Hours): Modules for data analysis and visualization. KNOWLEDGE AND UNDERSTANDING: Knowledge of the main modules and packages in the Python language libraries. APPLIED KNOWLEDGE AND UNDERSTANDING: Implementing applications that utilize the functionalities available in the Python language libraries, with a focus on those dedicated to data analysis and visualization. Consulting library documentation to correctly use the available functions. TEACHING UNIT 5: FINAL COURSE PROJECT (LECTURE/PRACTICE/LAB HOURS 0/0/10) 20. (2 Lab Hours): Implementation of the final course project. 21. (2 Lab Hours): Implementation of the final course project. 22. (2 Lab Hours): Implementation of the final course project. 23. (2 Lab Hours): Implementation of the final course project. 24. (2 Lab Hours): Implementation of the final course project. KNOWLEDGE AND UNDERSTANDING: - APPLIED KNOWLEDGE AND UNDERSTANDING: Implementing a medium-small sized application focused on data acquisition, processing, and visualization in the context of Digital Energy. TOTAL LECTURE/PRACTICE/LAB HOURS 20/18/10 |
Teaching Methods | |
---|---|
The course includes theoretical lectures, classroom exercises, and practical laboratory exercises. In the classroom exercises, algorithms are presented and their coding in the Python language is discussed. In the laboratory exercises, students independently carry out the previous activities based on the specifications provided by the instructor. |
Verification of learning | |
---|---|
The examination aims to evaluate the overall understanding and knowledge of the concepts presented in the course, the ability to apply this knowledge to problem-solving through the implementation of software applications written in Python, independent judgment, communication skills, and learning ability. It consists of a practical test and an oral interview. The practical test assesses the ability to develop programs in Python and is conducted directly on the student's personal computing system. Minimum requirements include solving the proposed problem without significant syntax errors. Maximum capabilities, on the other hand, involve achieving efficient algorithmic solutions using appropriate data structures, algorithms, and leveraging the libraries provided by the language. The oral interview covers all topics of the course, and the evaluation takes into account the student's demonstrated knowledge, depth of understanding, learning ability, and quality of presentation. For the final grade, the practical test contributes 60%, and the oral interview contributes 40%. The highest distinction is awarded to students who demonstrate the ability to apply the acquired knowledge in contexts different from those presented during the course. |
Texts | |
---|---|
Supplementary teaching material will be available on the university e-learning platform (http://elearning.unisa.it) accessible to students using their own university credentials. |
More Information | |
---|---|
The course is held in Italian |
BETA VERSION Data source ESSE3