Course Handout Algorithms and Data Structures

dc.contributor.authorBELLAOUAR Slimane
dc.date.accessioned2026-06-07T10:51:09Z
dc.date.issued2026
dc.description.abstractA 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 support
dc.description.provenanceSubmitted by Zobiri ahlam (ahlamzobiri@gmail.com) on 2026-06-07T10:51:09Z No. of bitstreams: 1 asd1_textbook_english.pdf: 2025801 bytes, checksum: 6b9bdbac3913ac2c3c9e66709e0f99a8 (MD5)en
dc.description.provenanceMade available in DSpace on 2026-06-07T10:51:09Z (GMT). No. of bitstreams: 1 asd1_textbook_english.pdf: 2025801 bytes, checksum: 6b9bdbac3913ac2c3c9e66709e0f99a8 (MD5) Previous issue date: 2026en
dc.identifier.urihttps://dspace.univ-ghardaia.edu.dz/handle/123456789/10444
dc.publisheruniversity of ghardaia
dc.subjectMATHEMATICS::Applied mathematics::Theoretical computer science
dc.subjectBasic Elements of Algorithms
dc.subjectPresentation of the Algorithmic Formalism
dc.subjectArrays and Strings
dc.subjectCustom Types
dc.subjectFurther Reading
dc.titleCourse Handout Algorithms and Data Structures
dc.title.alternativePart 1
dc.typeOther

Files

Original bundle

Now showing 1 - 1 of 1
No Thumbnail Available
Name:
asd1_textbook_english.pdf
Size:
1.93 MB
Format:
Adobe Portable Document Format

License bundle

Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
1.71 KB
Format:
Item-specific license agreed upon to submission
Description: