Corso Vittorio Emanuele II, 39 - Roma 0669207671

Civil environmental engineering (Academic Year 2018/2019) - Construction, Survey and Topography

Programming


Credits: 6
Content language:Arabic
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
Emanuel Weitschek
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
Ghassan Kanaan
Ghassan Kanaan
Ghassan Kanaan
Ghassan Kanaan
Ghassan Kanaan
Ghassan Kanaan
Ghassan Kanaan
Ghassan Kanaan
Ghassan Kanaan
Ghassan Kanaan
    •  Lesson n. 11: Functions  Go to this lesson
Ghassan Kanaan
Ghassan Kanaan
Ghassan Kanaan
Ghassan Kanaan
Ghassan Kanaan
Ghassan Kanaan
Ghassan Kanaan
Ghassan Kanaan
Ghassan Kanaan
Ghassan Kanaan
Ghassan Kanaan
Ghassan Kanaan
Ghassan Kanaan
Ghassan Kanaan
Ghassan Kanaan
Fadel Sukkar
Fadel Sukkar
Fadel Sukkar
Fadel Sukkar
Fadel Sukkar
Fadel Sukkar
Fadel Sukkar
Fadel Sukkar
Fadel Sukkar
Fadel Sukkar
Fadel Sukkar
Fadel Sukkar
Fadel Sukkar
Fadel Sukkar
Fadel Sukkar
Fadel Sukkar
Fadel Sukkar
Fadel Sukkar
Fadel Sukkar
Fadel Sukkar
Fadel Sukkar
Fadel Sukkar
Fadel Sukkar
Fadel Sukkar
Fadel Sukkar