Login

Imperative Programming I Description

Key Elements

Code

INFO 203

Formation

BS Mathematics

Semester

3

Credits

6

Number of Teaching Hours

24

Number of Tutoring Sessions

12

Number of Laboratory Sessions

24

Content

Objective

This course aims to equip students with the basic theory and methods for writing algorithms. Among many available methods, the core of computer programming is the top down method, which provides simple tools to deal with complex problems. Structured programming methods underlying high-level languages such as C language help to clarify and organize algorithms. Our objectives can be summarized as follows: • Analyzing a problem and designing the appropriate algorithm using abstraction mechanisms • Algorithm implementation by means of a high-level programming language

Content

ALGORITHM I. Concepts and basic elements A. Definitions and examples 1. Concept of actor 2. Initial and final state 3. Algorithm B. Particular case of algorithms: program C. Elementary actions 1. Definition 2. Examples D. Control structures 1. Sequence 2. Selection 3. Repetition E. Algorithm examples II. stepwise refinement A. top down approach 1. Definition 2. Principle of refinement B. Analogy with other domains C. Example: searching a string in another string D. Advantages and disadvantages III. Algorithm A. Description B. Algorithm language 1. Data representation a) Type: domain, operations b) Variables and constants c) expressions 2. Elementary instructions a) Affectation b) Input c) Output 3. Logic structures a) Sequence b) Selection: simple and multiple c) Repetition: Do While, Do, for 4. Algorithm structure a) Data declaration b) Algorithm body c) Examples and exercises C. Analysis of an algorithm 1. Algorithm state 2. Concept of state a) Initial, intermediate and final state 3. Array of states Programming in C language IV. Classical aspects A. Basic elements B. Declarations C. Operators D. expressions E. Instructions F. Elementary Input/Output G. Structured data 1. Arrays: one-dimensional and two-dimensional a) Declaration b) Manipulation: access an element V. Sub-programs A. Function definition 1. Function prototype 2. Body of a function B. Function call C. Passing parameters D. Local variables 1. Validity of local variables E. Global variables F. Recursivity VI. Introduction to pointers A. Pointers and addresses B. Operations on pointers C. Dynamic memory allocation D. Pointers and arrays