Programming techniques
Course objectives
Obiettivi generali: Basic knowledge about the architecture and organization of a computer. Development of skills on the definition of algorithms to solve problems. Foundations of programming, using C as reference language. Familiarity with the definition and use of data structures, both elementary (such as arrays) and more complex (such as data tables, linked lists and binary trees). Capability to apply the above mentioned knowledge to solve problems of low and medium complexity, entailing the selection and definition of suitable algorithms and the implementation of small-medium size software systems. Obiettivi specifici: Knowledge and understanding: Knowledge about the structured programming methodology. Programming and problem solving skills, involving the definition and implementation of data structures/programs suitable to solve problems. Knowledge about notable algorithms, and skilled selection of the best suited algorithm for a problem. Technical skills in the management of program modules, data structures of progressive complexity (from static defined data structures to dynamically managed data structures). Visualization and comprehension of the principles on which a computer run programs. Applying knowledge and understanding: Use of programming environments to implement programs. Definition of algorithms and modularized programs to solve a problem. Skills related to the design and implementation of small/medium software systems. Skills related to the comprehension of the execution of a program, to be applied in program testing activity. Making judgements: Being able to assess the correctness and appropriateness of a function or a program built by modules. These skills are developed during the autonomous in-depth analysis fostered by the learning materials, and during the lab activities. These skills are deepened with the production, description, and discussion with the teacher, of homework. Communication: Being able to describe and share the lines of design and implementation of a program, explaining the decisions taken about the representation in the program of relevant data of the problem. The homework duties require to provide the teacher with a short description of the solution, so to put on trial the communication capabilities of the student. Learning skills: Structured programming is explained and described as a step toward further advanced programming methodologies, to foster awareness that there is more to see and one should not settle on what was learned so far. The activities fostered by the course, such as the autonomous in depth analysis, and the design and implementation of small and less small programs, as requested by the homework, allow to develop such comprehension and trains the student to do her/his own update, in this area, autonomously in the future.
Program - Frequency - Exams
Course program
Prerequisites
Frequency
Exam mode
Lesson mode
- Lesson code1035370
- Academic year2024/2025
- CourseInformation Engineering
- CurriculumElettronica
- Year1st year
- Semester2nd semester
- SSDING-INF/05
- CFU9
- Subject areaIngegneria informatica