Course Identification
“Reinforced Informatics 1 (Introduction to Algorithms)” is a first-year, first-semester course in the 2025–2026 academic year within the Informatics Bachelor (Armenian) / Licence en Informatique de l’Université de Toulouse (French) program at the French University in Armenia. The course belongs to the Informatics (Computer Science) specialization and is assigned to the ICM Faculty as Bloc 2, Module 2.
Credits & Workload
The course carries 4 ECTS credits and includes a total of 30 contact hours, delivered entirely as lectures with integrated practical components. There is no separate laboratory or project component specified. In addition, students are expected to complete approximately 80 hours of individual work over the semester.
Aim of the Course
The aim of “Reinforced Informatics 1 (Introduction to Algorithms)” is to study the mathematical, logical and algorithmic foundations of computer science, as well as the basic ideas of algorithms and data structures. The course introduces fundamental concepts and principles that provide a strong theoretical and practical basis for subsequent informatics subjects, including number systems, propositional logic, basic algorithmic structures, arrays, graphs, trees and classical sorting methods.
Learning Outcomes - Knowledge
By the end of the course, students are expected to:
- Describe discrete structures and basic algorithms used in computer science.
- Understand and apply the mathematical, logical and algorithmic foundations of computer science.
Learning Outcomes - Application of Professional Knowledge
- Use effective tools and modern environments for solving algorithmic and programming-related tasks.
- Explain the principles of positional numeral systems (decimal, hexadecimal, binary), logical expressions, linear, branching and iterative algorithms, and basic data structures (arrays, graphs, trees).
- Perform conversions between number systems and carry out arithmetic operations in the binary system, as well as construct truth tables for logical expressions.
- Analyse and represent different algorithm types (linear, branching, loop-based) using pseudocode and flowcharts.
Learning Outcomes - Transferable Skills
- Work with professional literature in Armenian related to computer science and algorithms.
- Use clear written and oral professional communication in Armenian to explain algorithmic solutions.
- Analyse problems and design algorithmic solutions in a structured and step-by-step manner.
Assessment & Grading
Assessment is based on two written examinations: one intermediate test and one final exam. All evaluations are individual. Each assessment consists of 4 problems worth 5 points each for a total of 20 points.
The final grade is composed as follows:
- First written test – duration: 0.5–1.5 hours, weight: 50% of the overall 20-point grade. Problems cover the mathematical and logical foundations of computer science and the basics of algorithmisation (branching and loop algorithms, one-dimensional arrays).
- Second written exam – duration: 2 hours, weight: 50% of the overall 20-point grade. Problems require applying algorithmic knowledge to two-dimensional arrays and recursion, as well as tasks on data structures and sorting algorithms.
Full credit for a problem (5 points) is awarded when the student presents a completely correct and well-explained solution. Partial credit (2–4 points) is given when the main concepts are understood but minor mistakes occur (e.g. slight inaccuracies in a truth table or a flowchart). Minimal credit (1–1.5 points) is awarded when the student attempts the solution but shows significant conceptual misunderstandings or largely incorrect results.
Teaching Methods & Prerequisites
Teaching is practice-oriented and based on real or realistic examples and systematic solution of diverse types of problems. Students are guided through interactive activities to develop problem-solving skills, discover effective learning strategies and strengthen critical thinking, helping them retain and apply knowledge in later courses.
To enrol in this course, students should have school-level knowledge of mathematics and informatics. These prerequisites ensure familiarity with basic numerical operations, elementary logic and introductory programming concepts.
Course Content
Topic 1 – Mathematical Foundations of Computer Science
Positional number systems and representation of numerical information in computers. Binary and hexadecimal systems; conversion between decimal, binary and hexadecimal; arithmetic operations in the binary system.
Topic 2 – Logical Foundations of Computer Science
Propositions and logical operators; simple and compound statements; conjunction, disjunction, exclusive OR and negation; implication and equivalence; construction and use of truth tables for analysing logical expressions.
Topic 3 – Foundations of Algorithmisation
The concept of an algorithm and its basic properties. Forms of representing algorithms: mathematical formulas, programming language code and pseudocode. Algorithm representation via flowcharts: types of blocks, graphical symbols, functions and naming conventions.
Topic 4 – Loop Algorithms and Arrays
Conditional structures; simple loop structures (pre-condition loops, post-condition loops, counter-controlled loops); nested loops. Arrays: processing one-dimensional arrays (vectors) and two-dimensional arrays (matrices). Introduction to the concept of recursion.
Topic 5 – Data Structures
Basic data structures used in algorithms and programming:
- Stacks
- Queues
- Lists
- Graphs
- Binary search trees
- Heaps
Discussion of their operations and typical applications in computer science.
Topic 6 – Sorting Algorithms
Classical sorting methods and their basic properties:
- Bubble sort
- Selection sort
- Insertion sort
- Shaker sort
Introduction to the notion of algorithmic complexity and comparing sorting algorithms on this basis.
Literature & Resources
Required Literature
- J. Glenn Brookshear, Dennis Brylow, Computer Science: An Overview, 12th Edition, Pearson Education Limited, 2015.
- A. B. Chaudhuri, Flowchart and Algorithm Basics: The Art of Programming, Mercury Learning and Information LLC, 2020.
- L. Khachoyan, A. Andreasian, Collection of Programming Problems, YSU Press, 2019.
- M. A. Jagharyan, Data Structures, YSU Press, 2014.
Additional Literature
- S. Sogoyan, History of the Development of Informatics and Information Technologies, Zangak, 2015.
- S. G. Sargsyan et al., Data Structures, YSU, 2010.
- M. Alaverdyan, T. Harutyunyan, Sh. Melikyan, Collection of Programming Problems, Part 1, YSU Press, 2011.
- G. L. Yesayan, A. H. Makaryan, Collection of Programming Problems, 2005.
- Eric Lehman, F. Thomson Leighton, Albert R. Meyer, Mathematics for Computer Science, MIT, 2012.
- David Harel, Yishai Feldman, The Spirit of Computing, 3rd Edition, 2004.