Corso Vittorio Emanuele II, 39 - Roma 0669207671

Management Engineering (Academic Year 2022/2023) - Production path

Programming


Credits: 9
Content language:Italian
Course description
The module starts with the basic aspects of computer engineering, i.e., architectures, programming and simple algorithms. Programming is seen as a problem-solving approach, starting from the understanding and upgrading of existing programs. Basic programming notions are introduced, such as abstraction, abstract data types, control structures.
Prerequisites
Basic notions on mathematical functions, relations and set theory.
Objectives
The initial main goal of this corse is to provide the student with the fundamentals on computer architecture and to introduce the C. Programming skills are then seen as a way to solve problems of increasing complexity focusing on the designer’s ability of the students. Notions related to the dynamic memory structures, abstract data types, and recursive programming are introduced.
Program
  • Data representation. Boolean algebra, logic functions, basic notions on computer architecture
  • Problem solving and algorithms: problem definition, decomposition, data and control flow, variables, constants, expressions, flow charts, elementary debugging strategies
  • Fundamental programming statements in C
  • Syntax and semantics of C
  • Variables, types and assignments
  • Iterative and conditional statements
  • Basic I/O
  • Functions and parameter passing
  • Data structures: scalars, arrays and structure
  • files, strings, structures, dynamic memory allocation
  • Simple problem solving: quadratic sorting algorithms, linear and binary search, merge of arrays, dynamic manipulation of one-dimensional arrays, dynamic manipulation of two-dimensional arrays, queues and stacks on static and dynamic array structures.
  • Recursion basics: recursion tree, termination condition. Simple recursive problem solving: factorial computation, Fibonacci’s numbers, binary search, merge sort, the 8-queens problem.
  • Basic dynamic data structures: lists, queues, stacks
  • Basic notions of algorithms’ complexity
Book
Kim N. KingC a Modern approach, 2nd edition
Deitel & Deitel– C How to program, 5th edition.
Exercises
The most part of the lessons are accompanied with some exercises to have the student apply what has learned from the videolesson.
Professor/Tutor responsible for teaching
Amedeo Cesta
Video professors
Prof. Paolo Enrico Camurati - Politecnico di Torino (Torino - Italy)
Prof. Farouk Al Omari - Yarmouk University (Irbid City - Jordan)
Prof. Aliaa Youssif -
List of lessons
Marco Mezzalama
Marco Mezzalama
Marco Mezzalama
Marco Mezzalama
Marco Mezzalama
Marco Mezzalama
Marco Mezzalama
Marco Mezzalama
Angelo Raffaele Meo
Angelo Raffaele Meo
Angelo Raffaele Meo
Angelo Raffaele Meo
    •  Lesson n. 12: Internet  Go to this lesson
Angelo Raffaele Meo
Angelo Raffaele Meo
Angelo Raffaele Meo
Angelo Raffaele Meo
Angelo Raffaele Meo
Marco Mezzalama
Marco Mezzalama
Marco Mezzalama
Marco Mezzalama
Marco Mezzalama
Marco Mezzalama
    •  Lesson n. 23: Cicli (while)  Go to this lesson
Marco Mezzalama
Marco Mezzalama
Marco Mezzalama
Marco Mezzalama
Marco Mezzalama
    •  Lesson n. 28: Vettori  Go to this lesson
Marco Mezzalama
Marco Mezzalama
Marco Mezzalama
    •  Lesson n. 31: Funzioni I  Go to this lesson
Marco Mezzalama
    •  Lesson n. 32: Funzioni II  Go to this lesson
Marco Mezzalama
    •  Lesson n. 33: Puntatori  Go to this lesson
Marco Mezzalama
    •  Lesson n. 34: Matrici  Go to this lesson
Marco Mezzalama
Marco Mezzalama
    •  Lesson n. 36: Caratteri  Go to this lesson
Marco Mezzalama
    •  Lesson n. 37: Stringhe  Go to this lesson
Marco Mezzalama
Marco Mezzalama
    •  Lesson n. 39: File  Go to this lesson
Marco Mezzalama
Marco Mezzalama
Marco Mezzalama
Marco Mezzalama
Marco Mezzalama