مطبوعات أساتذة قسم الرياضيات والإعلام الآلي
Permanent URI for this collectionhttps://dspace.univ-ghardaia.edu.dz.dz/handle/123456789/3040
Browse
9 results
Search Results
Item Course Handout Algorithms and Data Structures(university of ghardaia, 2026) BELLAOUAR SlimaneA 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 supportItem Réduction des endomorphismes(2025) MERABET BrahimLes notions d’applications linéaires et de matrices occupent une place centrale en algèbre linéaire. Elles constituent des outils incontournables aussi bien pour les mathématiques pures que pour les sciences appliquées : analyse numérique, traitement du signal, mécanique, physique quantique, économie ou encore informatique. La puissance de ces concepts réside dans leur capacité à traduire des situations complexes en un langage algébrique simple et manipulable. Une application linéaire est, avant tout, une transformation qui respecte la structure vectorielle : elle conserve les combinaisons linéaires. Grâce à ce caractère, elle permet de modéliser un grand nombre de phénomènes où interviennent des relations proportionnelles et des superpositions d’effets. La représentation matricielle, quant à elle, offre un outil concret et efficace pour effectuer des calculs et pour mettre en évidence les propriétés essentielles de ces transformations. L’étude des matrices ne se limite pas à de simples manipulations algébriques. Elle ouvre la voie à des questions fondamentales : — Comment simplifier une application linéaire en choisissant une base adaptée ? — Quelles sont les informations contenues dans le polynôme caractéristique et le polynôme minimal ? — Peut-on calculer efficacement des puissances ou l’exponentielle d’une matrice ? — Quels liens unissent la structure interne d’un endomorphisme et ses valeurs propres ? Ces interrogations mènent naturellement à l’étude de la réduction des endomorphismes. Réduire une application linéaire, c’est trouver une base dans laquelle sa matrice prend une forme la plus simple possible. Selon les cas, il s’agira d’une matrice diagonale, triangulaire ou encore sous forme de Jordan. Ces formes réduites condensent toute l’information spectrale de l’endomorphisme et rendent accessibles des calculs autrement complexes, comme le calcul de puissances élevées ou de l’exponentielle de la matrice. Le premier chapitre de ce polycopié rappelle les bases : définition des applications linéaires, représentation matricielle, changement de base et notion de matrices semblables. Le deuxième chapitre introduit l’anneau des polynômes et développe la théorie des polynômes d’endomorphismes, en particulier le polynôme minimal et les polynômes annulateurs, outils clés de la réduction. Le troisième chapitre est consacré aux valeurs propres et vecteurs propres, au polynôme caractéristique et au théorème de Cayley-Hamilton. Ces résultats préparent à la diagonalisation, développée dans le quatrième chapitre, puis à la trigonalisation et enfin à la jordanisation, qui représente le cadre le plus général de simplification d’un endomorphisme. Enfin, le septième chapitre aborde l’exponentielle d’une matrice et son application à la résolution des équations différentielles linéaires à coefficients constants. Ce lien illustre la puissance de l’algèbre linéaire : un concept algébrique abstrait devient un outil concret pour résoudre des problèmes analytiques. Ainsi, ce cours a un double objectif : 1. Fournir une compréhension théorique solide des propriétés des endomorphismes et de leurs formes réduites. 2. Donner des méthodes pratiques pour effectuer des calculs utiles dans des contextes variés.Item AlgËbre3 : RÈduction des endomorphismes Cours et Exercices(université Ghardaia, 2023) Guerarra, SihemLa rÈduction díendomorphisme a pour objectif díexprimer des matrices et des endomorphismes sous une forme plus simple, par exemple pour faciliter les calculs. Cela consiste essentiellement ‡ trouver une dÈcomposition de líespace vectoriel en une somme directe de sous-espaces stables sur lesquels líendomorphisme induit est plus simple. Lorsque líespace vectoriel E est de dimension Önie, líÈtude de líendomorphisme f se ramËne immÈdiatement ‡ celle de sa matrice par rapport ‡ une base donnÈe. La matrice obtenue est une matrice carrÈe. Souvent, la mÍme base de E est considÈrÈe au dÈpart et ‡ líarrivÈe. Moins gÈomÈtriquement, cela correspond ‡ trouver une base de líespace dans la quelle líendomorphisme síexprime simplement. líespace vectoriel sur lequel síapplique líendomorphisme possËde des propriÈtÈs di§Èrentes selon les cas. Lorsque líespace est de dimension Önie, la structure du corps dÈtermine líessentiel des propriÈtÈs de rÈduction. Cette approche, qui fait intervenir líanneau des polynÙmes associÈ au corps. Le cas le plus simple est celui o˘ le corps est algÈbriquement clos, cíest-‡-dire que tout polynÙme non constant admet au moins une racine. Cíest le cas des nombres complexes. Alors la rÈduction est particuliËrement e¢ cace. elle mËne ‡ líÈtude des sous-espaces caractÈristiques, qui fournit une rÈduction simple de líendomorphisme, dite rÈduction de Jordan. Elle permet alors de comprendre pourquoi le polynÙme caractÈristique est un multiple du polynÙme minimal, et fournit donc une dÈmonstration du thÈorËme de Cayley-Hamilton. Elle est enÖn la base díune famille díalgorithmes souvent largement plus rapides quíune approche par les dÈterminants. La notion de valeur propre devient le bon outil dans ce contexte. Lorsquíil existe une base de vecteurs propres, on parle de diagonalisation. cette deniËre est un procÈdÈ díalgËbre linÈaire qui permet de simpliÖer la description de certains endomorphismes díun espace vectoriel, en particulier de certaines matrices carrÈes. Elle consiste ‡ rechercher et expliciter une base de líespace vectoriel constituÈe de vecteurs propres, lorsquíil en existe une. En dimension Önie, la diagonalisation revient 3 Introduction en e§et ‡ dÈcrire cet endomorphisme ‡ líaide díune matrice diagonale. Un vecteur propre est un vecteur non nul dont líimage par f est colinÈaire au vecteur díorigine. Le rapport de colinÈaritÈ est appelÈ valeur propre. Líensemble constituÈ des vecteurs propres de valeur propre , et du vecteur nul, est appelÈ le sous-espace propre de f associÈ ‡ la valeur propre . La dÈcomposition en sous-espaces propres possËde de bonnes propriÈtÈs : - Les sous-espaces propres sont en somme directe. - La restriction de líendomorphisme au sous-espace propre associÈ ‡ la valeur propre est líhomothÈtie de rapport . - Les propriÈtÈs recherchÈes pour une rÈduction optimale sont rassemblÈes. La diagonalisation díun endomorphisme a plusieurs díapplications, elles permet un calcul rapide et simple de ses puissances et de son exponentielle, ce qui permet díexprimer numÈriquement certains systËmes dynamiques linÈaires, obtenus par itÈration ou par des Èquations di§Èrentielles linÈaires. Le polycopiÈ est dÈstignÈ aux Ètudiant de la deuxiËme annÈe licence MathÈmatique, il se compose de troix chapitres, dans le premier chapitre on a exposÈ quelques prÈliminaires nÈcessaires pour le contenu comme líarithmetique des polynÙmes, la factorisation des polynomes sur le corps | et quelques notions trËs outils concernants líalgËbre lineaires comme la somme directe des sousespaces vectoriels, la matrice associÈe ‡ une application linÈaire dans des bases donnÈes, la rËgle de changement de bases, les dÈterminants. Dans le deuxiËme chapitre on a ÈtudiÈ la rÈduction des endomorphismes díespaces vectoriels de dimension Önie, díabord on a introduit quelques notions trËs outils concernants líalgËbre lineaires, aprÈs on a dÈÖni les espaces vectoriels stables par líendomorphismes en suite, les valeurs et les vecteurs propres, on a parlÈ des polynÙmes díendomorphismes o˘ on a commencÈ par les polynÙmes annulateurs en gÈnÈral, on particuliÈr le thÈorËme de cayley Hamilton et le polynÙme minimal, et par consÈquence on a donnÈ la deuxiËme critËre de la diagonalisation, aussi on a presentÈ les conditions de la trigonalisation des endomorphisme et la forme normale de Jordan. et le polynÙme caractÈristique, le polynome minimale o˘ on a abouti ‡ la premiËre critËre de la diagonalisation des endomorphismes. Dans le troisiËme chapitre on a prÈsentÈ quelques applications de la diagonalisation des endomorphismes, telles que la puissance, líexponentielle, suites rÈcurrentes linÈaires, rÈsolution des systËmes di§Èrentielles linÈairs. A la Ön de chaque chapitre on a appuyÈ le document par une serie des exercicesItem Extraction of textual information(University Ghardaia, 2024) Degha, Houssem+eddineThis course provides an overview of Information Mining technologies as an important field in the text mining process. It involves transforming unstructured or semi-structured collections of texts into an ordered collection of data. During the courses, the students will learn: • Architectures of Information Extraction Systems • Knowledge-based Models vs. Probabilistic Models • Recognition of Named Entities and Classification • Coreference Resolution • Recognition of Temporal Expressions and Normalization • Pattern ExtractionItem Analyse II(University Ghardaia, 2021) KINA, AbdelkrimLe présent polycopié contient le programme officiel de la matière Analyse 2 des- tiné principalement aux étudiants en première année socle commun Mathématiques et Informatique. Il peut aussi servir aux étudiants de première ST. Le contenu de cette matière est la base de toute introduction à l’analyse mathé- matique. Il est considéré comme une continuation directe de la matière Analyse 1 en premier semestre. Ce polycopié comporte quatre chapitres principaux, où sont exposées les notions d’intégrale de Riemann, de différentes techniques de calcul des primitives, de l’initiation à la résolution des équations différentielles. A la fin de chaque chapitre on pourra trouver une série d’exercices avec solu- tions permettant d’aller plus loin dans la compréhension et l’assimilation des notions mathématiques introduites.Item Algèbre 3 réduction des endomorphyismes cours et exercices(Université de ghardaia, 2023) Guerarra, SihamItem Cours du module : AlgËbre1 PremiËre annÈe LMD(university ghardaia, 2022) Guerarra, SihemLíalgËbre (de líarabe al-jabr) est une branche des mathÈmatiques qui permet díexprimer les propriÈtÈs des opÈrations et le traitement des Èquations et aboutit ‡ líÈtude des structures algÈbriques. Selon líÈpoque et le niveau díÈtudes considÈrÈs, elle peut Ítre dÈcrite comme : Une arithmÈtique gÈnÈralisÈe, Ètendant ‡ di§Èrents objets ou grandeurs les opÈrations usuelles sur les nombres, La thÈorie des Èquations et des polynÙmes, Depuis le dÈbut du XXeme siËcle, líÈtude des structures algÈbriques (algËbre gÈnÈrale ou abstraite). Historiquement, les structures algÈbriques sont apparues dans di§Èrents domaines des mathÈ- matiques, et níy ont pas ÈtÈ ÈtudiÈes sÈparÈment. Cíest pourquoi líalgËbre gÈnÈrale pos-sËde beaucoup de connexions avec toutes les branches des mathÈmatiques, un grand nombre de types de structures al- gÈbriques vÈriÖent di§Èrents axiomes (groupes, anneaux, corps, espaces vectoriels,...etc.). Pour ces dif- fÈrents types de structures, on dÈÖnit une notion díhomomorphisme et des constructions de structures qui sont analogues ou qui ont des propriÈtÈs analogues (sous-structures, quotients, produits,...etc.). Ces homomorphismes et ces constructions ont un grand nombre de propriÈtÈs qui sont semblables (líintersection de sous-groupes, de sous-anneaux,...etc., en est un, líimage díun sous-groupe, díun sous- anneau,...etc., par un homomorphisme en est un aussi). On a alors dÈÖnit de maniËre gÈnÈrale et abstraite les structures algÈbriques pour pouvoir traiter de maniËre uniforme ces constructions et leurs propriÈtÈs, et on a pu, par la suite, se concentrer sur les propriÈtÈs propres ‡ chacune de ces structures. Vue ‡ líinteret de ce domain vaste de mathÈmatique, on síinteresse dans ce cours de math- Èmatiques de premiËre annÈe essentielement, par les notions díalgËbre gÈnÈrale, et se divise en cinq chapitres, le premier dÈbute par la logique et les ensembles, qui sont des fondamentaux en math- Èmatiques, ensuite on prÈsente les relations binaires dÈÖnies sur un ensemble. EnÖn il se termine par líÈtude, des structures algÈbriques ainsi que líanneau de polynÙmes, et pour motiver ces notions díalgËbre, le cours se comporte ‡ la Ön de chaque partie, des exercices avec des solutions.Item Polycopie de cours ´ Algorithmique et Structure de Donnees : Partie 1(university ghardaia/كلية العلوم والتكنولوجيا, 2020) BELLAOUAR, SlimaneUne idee tr ´ es r ` epandue, ´ a tort, dans les milieux publiques, industrielles et m ` eme ˆ academiques, que l’ordinateur est une machine capable de r ´ esoudre les probl ´ emes ` car elle est dotee d’une certaine intelligence. ´ En effet, cette machine n’est capable de rien, sauf si une entite (par exemple un ´ programmeur) lui avait montre les ´ etapes ´ a suivre, sans aucune croyance, que cette ` machine peut donner la moindre interpretation de ces ´ etapes. Autrement dit, la ma- ´ chine execute les ´ etapes aveuglement. Cette philosophie, de montrer ´ a la machine ` les etapes ´ a suivre pour r ` esoudre un probl ´ eme, porte le nom d’ ` algorithme. Une enquete men ˆ ee aupr ´ es des dipl ` omˆ es (de cinq ans d’ ´ etudes) de l’universit ´ e´ de Stanford a demande quels cours utilisaient-ils dans leur travail ? Le module in- ´ troduction a la programmation a pris la premi ` ere place. Viennent ensuite les cours ` de niveau logiciel couvrant, essentiellement, les structures de donnees de base et les ´ algorithmes. Dans cette optique, cet ouvrage intitule´ Algorithmique et Structure de Donnees : ´ Partie 1 est dedi ´ e aux ´ etudiants premi ´ ere ann ` ee licence du domaine Math ´ ematiques ´ et Informatique. Il respecte les consignes des derniers canevas mis en vigueur pour les specialit ´ es Syst ´ emes Informatiques (SI) et Ing ` enierie des Syst ´ emes d’Information ` et du Logiciel (ISIL) depuis l’annee universitaire 2018 ´ /2019. Neanmoins, il peut ´ etre ˆ utilise par d’autres fili ´ eres techniques ou d’autres institutions dispensant les mo- ` dules algorithmique, structure de donnees et programmation. ´ Par ailleurs, les ouvrages d’algorithmique sont en abondance dans la litterature. ´ Cependant, ils sont plus ou moins accessibles pour les etudiants novices. Notre ob- ´ jectif consiste a mettre ` a la port ` ee de l’ ´ etudiant un ouvrage simple ´ a lire et ` a com- ` prendre, tant au niveau conceptuel que techniqueItem ANALYSES FRONTALES DANS LES COMPILATEURS(جامعة غرداية/كلية العلوم والتكنولوجيا, 2021) OULAD-NAOUI, SlimaneCe document se veut une synthèse du cours sur les compilateurs que je dispense à l’université de Ghardaïa. L’écriture des compilateurs est à la fois un sujet fascinant, fastidieux et complexe. En effet, la conception/réalisation de compilateurs est classée dans le top topics les plus inextricables en informatique suivant immédiatement celui de l’écriture des systèmes d’exploitation. De ce fait, l’étudiant doit être pourvu d’un ensemble complet et varié d’outils qui va du pur fondamental (théorie des langages, théories des graphes, des flots de données, optimisation, etc.), au plus palpable (structures de données, processeurs, jeux d’instructions, caches, etc.). Ainsi pour maîtriser cette complexité élevée, ce cours est de coutume scindé en deux grandes parties. La première concerne le travail antérieur accompli par un compilateur dit aussi la partie analyse ou le front-end, qui comprend les phases d’analyse lexicale, d’analyse syntaxique et l’analyse sémantique. La deuxième partie, quant à elle s’occupe de la seconde moitie des tâches d’un compilateur, baptisée la partie synthèse ou le back-end, qui prend en charge : l’optimisation indépendante à la machine, la génération de code et en fin son optimisation au égard de la machine cible. Dans cette optique, ce rapport aborde la front-end d’un compilateur, ce qui justifie son titre : « Analyses frontales dans les compilateurs ». Il est destiné aux étudiants de la troisième années LMD de la mention Mathématiques et Informatique. La deuxième partie (le back-end) est présentement enseignée au niveau première année Master où un fascicule à part est en cours d’élaboration. La documentation sur la construction des compilateurs est abondante. Néanmoins, ce manuscrit puise de quelques références de base tel que le fameux dragon book [1] de l’équipe du professeur Jeff Ullman, des classiques livres de J. P. Tremblay [30], de M.L Scott [27] et de Cooper & Torcson [7]. J’ai aussi beaucoup inspiré et exploité le cours en ligne du professeur Alex Aiken de l’université de Stanford [2]. Le lecteur trouvera également dans ce document une liste intéressante d’exercices et de projets de programmation par chapitre dont l’accomplissement et l’élaboration confirme le niveau de maîtrise des points abordés. Dans la liste bibliographiques, j’ai veuillé à citer les "seminal" papiers sur les travaux fondateurs de l’ana- 4 Introduction lyse des langages de programmation, et les liens vers les outils les plus connus dans ce domaine tel que Flex, Bison, CUP, JavaCC, etc. L’imperfection est humaine et ce travail ne fait pas l’exception cela d’une part. D’autre part, je dois avouer que la compilation de ce rapport fait intervenir plusieurs compétences que parfois m’échappent d’une manière ou d’une autre. Je ne peux nier, vu la charge qui m’incombe, la précipitation et le stresse qui a accompagné la préparation de ce travail. Par conséquent, je souhaiterais aimablement inviter les lecteurs de ce document de me signaler toute erreur quelque soit sa nature (orthographe, typographie, méthodologie-style, fond, etc.
