BELLAOUAR Slimane2026-06-072026https://dspace.univ-ghardaia.edu.dz/handle/123456789/10444A widely held, yet mistaken, belief in public, industrial, and even academic circles is that a computer is a machine capable of solving problems because it is endowed with a certain intelligence. In reality, this machine is capable of nothing unless an entity (for example, a programmer) has shown it the steps to follow, without any belief that this machine can provide the slightest interpretation of these steps. In other words, the machine blindly executes the steps. This philosophy of showing the machine the steps to follow to solve a problem is called an algorithm. A survey of graduates from Stanford University asked which courses they relied on most in their professional careers. The introduction to programming module took first place, followed closely by core software courses covering basic data structures and algorithms. In light of this, this course handout, Algorithms and Data Structures: Part 1, is tailored for first-year undergraduate students in Computer Science and Mathematics. As of the 2025–2026 academic year, it fully complies with the most recent official ministry curriculum for the Computer Systems (Systèmes Informatiques) specialization. Furthermore, it serves as an excellent foundational resource for other technical disciplines and institutions teaching introductory programming and algorithm modules. Additionally, in strict alignment with the strategic policy of the Ministry of Higher Education and Scientific Research, this course manual is presented in English. This initiative promotes the widespread use of English in higher education and research, ensuring our students are well-equipped to integrate seamlessly into the global academic and professional landscape. While algorithm textbooks are abundant in the literature, they can often be daunting or overly theoretical for novice students. Our objective is to provide learners with a manual that is accessible, practical, and easy to comprehend, both conceptually and technically. To achieve this: • We draw upon all our experience acquired over more than seventeen years of eaching algorithms at the University of Ghardaia and other institutions. • We accompany the explanation of new concepts and new techniques with examples and illustrations. • Each chapter is followed by a certain number of exercises of varying degrees of difficulty, well-designed to implement the theoretical knowledge acquired. These exercises aim to cover professional life situations (mathematical calculations, management, . . . ). For the algorithmic formalism, we mainly used the conventions of the Pascal language. This formalism makes it easier for students to implement algorithms in a high-level language. In order to implement the algorithmic solutions, in this handout, we have chosen to use two programming languages: C and Pascal. The C language is chosen because it is prescribed in the official ministry curriculum. The Pascal language was chosen for its pedagogical value in helping students master fundamental programming concepts. To be in line with the official ministry curricula, this book is the first part of a series of three parts that cover the teaching of the algorithms and data structures module for the first three semesters of the Computer Science specialty in the Mathematics and Computer Science domain. The first part, "Algorithms and Data Structures 1", covers the following elements: 1. Introduction to Computer Science. 2. Basic Elements of Algorithms. 3. Presentation of the Algorithmic Formalism. 4. Arrays and Strings. 5. Custom Types. We also plan to include Python programming languages in future versions. With the aim of facilitating and widening access to this series of handouts, we plan to produce versions in Arabic. At the end of this work, I would first like to thank God the Almighty and Merciful, who gave me the strength and patience to accomplish this modest work. My sincere thanks go to Messrs. Slimane Oulad-Naoui, Abdelkader Bouhani, Chaker Abdelaziz Kerrache, Khaled Kechida, Ahmed Saidi, Messaoud Benguennane and Misses Habiba Benabderrahmane, Wassila Belfardi, and Asma Bouchekkouf teachers at the University of Ghardaia, who accompanied me throughout these years in teaching the Algorithms and Data Structures module. Their footprints are clearly visible on the content of this handout. Finally, my thanks also go to all those who have, in one way or another, directly or indirectly, provided their supportMATHEMATICS::Applied mathematics::Theoretical computer scienceBasic Elements of AlgorithmsPresentation of the Algorithmic FormalismArrays and StringsCustom TypesFurther ReadingCourse Handout Algorithms and Data StructuresPart 1Other