# Civil environmental engineering (Academic Year 2018/2019) - Structures and Infrastructures

## Programming

Credits: 9
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
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
 Michel Cubero-Castain Michel Cubero-Castain Michel Cubero-Castain Michel Cubero-Castain Michel Cubero-Castain Michel Cubero-Castain Michel Cubero-Castain Michel Cubero-Castain Michel Cubero-Castain Michel Cubero-Castain Michel Cubero-Castain Michel Cubero-Castain Michel Cubero-Castain Michel Cubero-Castain Michel Cubero-Castain Michel Cubero-Castain Michel Cubero-Castain Michel Cubero-Castain Michel Cubero-Castain Michel Cubero-Castain Abdellatif el Faker Abdellatif el Faker Abdellatif el Faker Abdellatif el Faker Abdellatif el Faker Abdellatif el Faker Abdellatif el Faker Abdellatif el Faker Abdellatif el Faker Abdellatif el Faker Abdellatif el Faker Abdellatif el Faker Abdellatif el Faker Abdellatif el Faker Abdellatif el Faker Abdellatif el Faker Abdellatif el Faker Abdellatif el Faker Abdellatif el Faker Abdellatif el Faker Abdellatif el Faker Abdellatif el Faker Abdellatif el Faker Abdellatif el Faker Abdellatif el Faker

Corso Vittorio Emanuele II, 39
00186 Roma - ITALIA
Tax code number: 97394340588
P.IVA: 13937651001

### Certified mail

info@pec.uninettunouniversity.net

### Student Secretariat

tel: +39 06 692076.70
tel: +39 06 692076.71
e-mail: info@uninettunouniversity.net

### Videoconferencing

Library 1st floor: 90.147.90.157
Meeting Room 5th floor: 90.147.90.158