Corso Vittorio Emanuele II, 39 - Roma 0669207671

Computer engineering (Academic Year 2021/2022) - Information and communication technologies engineering (reserved for the students of Helwan University, Cairo, Egypt)

Programming


Credits: 9
Content language:English
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
Paolo Enrico Camurati
Paolo Enrico Camurati
Paolo Enrico Camurati
Paolo Enrico Camurati
Paolo Enrico Camurati
Paolo Enrico Camurati
Paolo Enrico Camurati
Paolo Enrico Camurati
Paolo Enrico Camurati
Paolo Enrico Camurati
Paolo Enrico Camurati
Paolo Enrico Camurati
Paolo Enrico Camurati
Paolo Enrico Camurati
Paolo Enrico Camurati
Paolo Enrico Camurati
Paolo Enrico Camurati
Paolo Enrico Camurati
Paolo Enrico Camurati
Paolo Enrico Camurati
Paolo Enrico Camurati
Paolo Enrico Camurati
Paolo Enrico Camurati
Paolo Enrico Camurati
Paolo Enrico Camurati
    •  Lesson n. 26: Files  Go to this lesson
Farouk Al Omari
    •  Lesson n. 27: Pointers I  Go to this lesson
Farouk Al Omari
    •  Lesson n. 28: Pointers II  Go to this lesson
Farouk Al Omari
    •  Lesson n. 29: Strings  Go to this lesson
Farouk Al Omari
    •  Lesson n. 30: Structures  Go to this lesson
Farouk Al Omari
    •  Lesson n. 31: Sorting I  Go to this lesson
Farouk Al Omari
    •  Lesson n. 32: Sorting II  Go to this lesson
Farouk Al Omari
    •  Lesson n. 33: Sorting III  Go to this lesson
Farouk Al Omari
    •  Lesson n. 34: Searching  Go to this lesson
Farouk Al Omari
    •  Lesson n. 35: 2d Arrays  Go to this lesson
Farouk Al Omari
    •  Lesson n. 36: Stacks I  Go to this lesson
Farouk Al Omari
    •  Lesson n. 37: Stacks II  Go to this lesson
Farouk Al Omari
    •  Lesson n. 38: Queues I  Go to this lesson
Farouk Al Omari
    •  Lesson n. 39: Queues II  Go to this lesson
Farouk Al Omari
    •  Lesson n. 40: Queues III  Go to this lesson
Farouk Al Omari
Farouk Al Omari
Farouk Al Omari
Farouk Al Omari
Farouk Al Omari
Farouk Al Omari
    •  Lesson n. 46: Recursion I  Go to this lesson
Farouk Al Omari
    •  Lesson n. 47: Recursion II  Go to this lesson
Farouk Al Omari
    •  Lesson n. 48: Recursion III  Go to this lesson
Farouk Al Omari
    •  Lesson n. 49: Recursion IV  Go to this lesson
Farouk Al Omari
Farouk Al Omari
    •  Lesson n. 51: Programming  Go to this lesson
Aliaa Youssif
    •  Lesson n. 52: Pointers II  Go to this lesson
Aliaa Youssif
    •  Lesson n. 53: Files  Go to this lesson
Aliaa Youssif