This course concerns Algorithmic and Data Structure. It is proposed for students in L2. The course contains the following sections:

1) Introduction

2) Recursivity

3) Complexity

4) Sequential Strutures

5) Hierarchical Structures

6) Sorting Algorithms

Ce document se veut un support de cours pour les étudiants de 2eme année licence informatique de l’université de Biskra. En fait ce n’est pas un document exhaustif néanmoins il survole les notions de base de la logique qui sont généralement les plus utiles.
Le présent polycopié est organisé en cinq chapitres : le premier chapitre intitulé La Logique des Propositions qui est consacré à la description de la logique des propositions et les formules propositionnelles. Le deuxième chapitre intitulé La Déduction, il décrit les règles d’inférences et leurs utilisation dans la démonstration des théorèmes. Le troisième chapitre intitulé La Récursivité, dans ce chapitre nous allons introduire les fonctions récursives qui sont mécaniquement calculables par une machine de Turing. Le quatrième chapitre intitulé La Machine de Turing, dans ce chapitre nous allons décrire le principe de fonctionnement de la machine de Turing et comment elle est utilisée pour calculer les fonction récursives. Le cinquième chapitre intitulé La Logique des Prédicats, qui est considérée par nature plus expressive que la logique des propositions, et permet de représenter des connaissances relatifs à des environnements complexes. Elle est construite à partir de la logique propositionnelle et s’inspire du langage naturel

Graph theory is a branch of discrete mathematics that focuses on the study of graphs, which are mathematical structures representing relationships between entities. A graph is composed of vertices (or nodes) and edges, where edges connect pairs of vertices. Graph theory has applications in various fields, including computer science, biology, social network analysis, transportation planning, and telecommunications.

Graph theory courses often include a mix of theoretical concepts, algorithmic techniques, and practical applications. Students may also engage in problem-solving and algorithm design, gaining a solid understanding of how graphs model real-world relationships and how graph algorithms can be used to solve various problems.  


The content of this course material contains into two main parts: (i) The first part focuses primarily on the main components of a computer and their interactions: Processor, Memory, and Peripheral Organs and a detailed view of the memories (central memory, cache memory and auxiliary memories). Secondly, this first part provides the notions of computer instructions. (ii) The second part consists of presentation of the architecture and internal components of the microprocessor, their roles and their interconnections. Then, this part contains explanations of the components of microprocessor MIPS R3000 and its assembly language. Thus, we illustrate the concepts and internal architecture on the MIPS R3000 industrial processor. These two parts are organized into 4 chapters:

- Chapter 1: Introduction and basic components of a computer. It offers an overview of the history of computers and their generations as well as the famous Von Neumann machine. This chapter will therefore present the different internal components of a computer and the relationships between them. Then, it presents the different addressing modes (immediate, direct, indirect, relative, indexed, etc.). Moreover, it explains the internal organization, physical structure, components, and operations of central memory. It presents the different types of memory, the memory hierarchy and the role and organization of cache memory. Finally, it explains the design of central memory using memory chips (ICs).

- Chapter 2: Notions of computer instructions. This chapter presents the different levels of programing languages (high level and low level: assembly language and machine language). In addition, it explains the different addressing modes and the different types of machines (3, 2 and 1 addresses).

- Chapter 3: The microprocessor. This chapter begins with the definition of the microprocessor and its history. Then, it presents, in detail, the internal components of a microprocessor and their roles and interconnections. Afterwards, we present the performance and improvements of the architectures of a microprocessor, namely MIPS (Millions of Instructions Per Second), Harvard architecture, frequency increase, CISC and RISC and Pipeline architecture.

- Chapter 4: The MIPS R3000 microprocessor. This chapter presents the architecture of the 32-bit MIPS R3000 microprocessor, the visible registers, addressing and structuring of the addressable space, and the assembly language of the MIPS R3000 processor. It defines the hardware/software interface, introduces the concepts of machine language and assembly language, and introduces students to programming in MIPS R3000 assembly language. Also, it explains the steps in transforming a program written in a procedural language such as C into executable code in machine language through several examples, exercises, and programs using the MARS emulator.

 

Le cours comporte les 6 parties suivantes : Généralités sur les systèmes d’information, les flux d’informations, codification de l’information, Modélisation des systèmes d’information qui comporte les points suivants : Modèle conceptuel de données, Modèle logique de données, modèle conceptuel des traitements..etc