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. |
Basic notions on mathematical functions, relations and set theory. |
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. |
- 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
|
Kim N. King: C a Modern approach, 2nd edition
Deitel & Deitel: – C How to program, 5th edition.
|
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
|
|
|
|
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
|
|
|
Farouk Al Omari
|
|
|
Farouk Al Omari
|
|
|
Farouk Al Omari
|
|
|
Farouk Al Omari
|
|
|
Farouk Al Omari
|
|
|
Farouk Al Omari
|
|
|
Farouk Al Omari
|
|
|
Farouk Al Omari
|
|
|
Farouk Al Omari
|
|
|
Farouk Al Omari
|
|
|
Farouk Al Omari
|
|
|
Farouk Al Omari
|
|
|
Farouk Al Omari
|
|
|
Farouk Al Omari
|
|
|
Farouk Al Omari
|
|
|
Farouk Al Omari
|
|
|
Farouk Al Omari
|
|
|
Farouk Al Omari
|
|
|
Farouk Al Omari
|
|
|
Farouk Al Omari
|
|
|
Farouk Al Omari
|
|
|
Farouk Al Omari
|
|
|
Farouk Al Omari
|
|
|
Farouk Al Omari
|
|
|
Farouk Al Omari
|
|
|
Aliaa Youssif
|
|
|
Aliaa Youssif
|
|
|
Aliaa Youssif
|
|