الجـمـهوريـة الجـزائـريـة الديـمـقراطـيـة الشعـبيـة
People’s Democratic and Republic of Algeria
Ministry of Higher Education and وزارة التعليم العالي والبحث العلمي
Scientific Research المدرسة الوطنية العليا في األمن
National School of Cyber Security السيبراني
ALGORITHMS AND STATIC DATA STRUCTURES
Prof. Abdelfetah HENTOUT
[email protected] [email protected] 11/10/2024
Objectives
• To acquire a methodological approach
focused on modularity, allowing to design and
develop a small software application using
elementary objects and statically structured
data (1D and 2D arrays, strings, sets, records).
• To be able, starting from a problem statement,
to:
o Break it down into modules.
o Analyze and separately construct the
different modules (main and secondary).
o Validate each module.
o Separately program the various algorithms
corresponding to modules (main and
secondary).
o Create a technical programming report.
11/10/2024 2
Hourly volume
Semester 1: Algorithms and static data structures
Hourly volumes
Course TD/TP TP Other (specify) Total
30 hours 60 hours - 90 hours
11/10/2024 3
Content (1)
Chapter 1: Basic elements (03-04 hours)
• Algorithm, processor, action
• Programs and programming languages
• From problem to result
• Analysis of a problem
11/10/2024 4
Content (2)
Chapter 2: Presentation of the Algorithmic Formalism (07-08 hours)
• Need for an algorithmic formalism
• Presentation of the adopted algorithmic formalism
o Structure of an algorithm
o Environment: Elementary objects
▪ Objects in an environment
▪ Statements
▪ Declaration of constants
▪ Declaration of simple types
▪ Variable declarations
o Algorithm body
▪ Control structures
▪ Other basic actions (arithmetic, logical, mixed expressions,
read, Write)
11/10/2024 5
Content (3)
Chapter 3: Basic elements of the Pascal/other programming language
The programming language will not be taught at the course level but
through a documentation. The implementation will be done at TD/TP.
• Structure of a program
• Body of the program
o Assignment, Expressions, Block
o IF statement, CASE OF statement
o FOR statement, WHILE statement, REPEAT statement
o Entry procedures: READ and READLN
o Exit procedures: WRITE and WRITELN
o Program documentation
• Program environment
o Definition of an identifier
o Declaration of constants, types, variables
• List of reserved words
• Example of a program in Pascal 11/10/2024 6
Content (4)
Chapter 4: Modularity (15-16 hours)
• Fundamental concepts and benefits of modularity
• Types of modules
o Examples
o Communication mechanism
o Passing parameters
• Functions
o User functions (Structure, Calling, Declaration)
o Standard functions
o Functions in Pascal language
• Procedures
o User procedures (Structure, Calling)
o Standard procedures
o Procedures in the Pascal language
• Internal and external modules
• Local objects and global objects 11/10/2024 7
Content (5)
Chapter 5: Static data structures (05-06 hours)
• One-dimensional tables
• Sorting (selection, transposition, bubbles, by count, Shell)
• Two-dimensional tables
• Strings of characters
• Sets
• Recordings
11/10/2024 8
Personal work
• Three (03) practical works (TP) must be carried out
o Two (02) TP must be on modularity.
• TP involve implementing the studied approaches and producing TP
reports including:
o Problem statement
o Potential modular division
o Analysis
o Algorithms of the different modules
o Test cases
o Program listings
o Results
11/10/2024 9
Knowledge assessment method
• 02 intermediate tests: CI
• 03 practical assignment tests: TP
• 01 quick test grade: TR
• 01 participation bonus
𝐶𝐼 ∗ 5 + 𝑇𝑃 ∗ 3 + 𝑇𝑅 ∗ 2 + 𝐵𝑜𝑛𝑢𝑠
𝐹𝑖𝑛𝑎𝑙 𝑠𝑐𝑜𝑟𝑒 =
10
Coefficient : 05
Number of credits : 06
11/10/2024 10
Bibliography
• Wirth, N. “Systematic Programming: An Introduction”. Prentice Hall
(1973)
• Knebl, H. "Algorithms and data structures." Cham: Springer Nature
Switzerland AG (2020).
• Meyer, B., and Baudouin, C. "Programming methods“. Two parts: Part 2
(1982).
• Goldschlager, L. and Lister, A. "Computer science: A modern
introduction". Prentice Hall International (1982).
11/10/2024 11
[email protected]
[email protected]
11/10/2024 12