Final Objectives: By the end of this semester students should be able to:
- Improve their oral communicative competence through presenting exposes using powerpoint and board.
- Tackle a variety of themes within the context of computer science.
- Enrich their English repertoire with new vocabulary
- Improve their learning within the scope of ESP.
- Enseignant: mokhtaria kheraz

This is the course "Theory of Computation". Course lectures, tutorial exercise sheets, and practical assignment sheets can be found here. Material will be uploaded on a weekly basis. The solutions to the
pen-and-paper exercises and programming assignments will be uploaded after they have been attempted by students in
the tutorial and practical sessions.
Contact me on: amine.marref@univ-saida.dz. Make sure you email me from your university account so that I can reply
to you.
My academic profile: https://marref.org
- Enseignant: Amine Marref

Before starting this course, the student learned about the structure of the machine and the architecture of the computer. These latter courses allowed the student to understand the operation of a computer on the hardware side while the current course will allow them to learn knowledge about the basic software side of a computer.
At the end of this course the student should have a clear idea of the first objective of an operating system, which is "to make the use of the machine easier and more optimal for a non-expert user"
- Enseignant: Noureddine DOUMI

Ce cours est destiné aux étudiants de deuxième année Licence, semestre 4, il appartient à l'unité d'enseignement fondamentale UEF2 avec un nombre de crédits égal à 3 et un coefficient égal à 5.
Ce cours a pour objectif de fournir aux étudiants les notions de base pour une bonne compréhension des réseaux. A l'issue de ce cours, les étudiants doivent être capables de :
- Comprendre le fonctionnement d'un réseau à travers la maîtrise de tous ses composants et leurs rôles.
- Planifier l'installation d'un réseau d'ordinateurs et son utilisation.
- comprendre le modèle en couches, le rôle et fonctions de chaque couche et les différents protocoles qui y sont associés.
Ce cours se compose de 6 chapitres: Introduction aux réseaux, la couche physique, la couche Liaison de données, la couche réseau, la couche Transport et la couche application.
- Enseignant: hadj ahmed bouarara

L’orienté objet est un paradigme parmi les paradigmes de programmation et de développement des applications informatiques. Ce paradigme confère aux programmes de bonnes propriétés, et il permet une plus grande clarté conceptuelle, et il offre principalement une grande robustesse face aux modifications futures avec une maintenance logicielle très efficace. Le but de ce cours est de présenter principalement les concepts essentiels de ce paradigme en ignorant les aspects techniques proprement liés aux langages de programmations. On va traiter les concepts de bases, les méthodes de développement, ainsi que les conseils pertinents qui aboutissent aux développements de bons programmes. Il s’agit d’une une initiation à la programmation OO (Orienté Objet) en se focalisant principalement sur la présentation des concepts fondamentaux communs à la plupart des langages de programmation OO généraliste. Pour se faire, on suppose que les notions de bases de la programmation dite procédurale (les types, les variables, les boucles, les fonctions, etc) sont plus au moins acquises. Le cours est déroulé en adoptant le langage de programmation Java comme un moyen d’illustration des concepts fondamentaux de la programmation OO. Ainsi, pour aborder ces concepts fondamentaux, on suppose une familiarité avec les bases de la syntaxe du langage Java afin de les mettre en pratique. Alors, on se focalise sur les concepts purement OO en ignorant des aspects proprement techniques liés au langage de programmation qui sont proprement dite API (Application Programming Interface). Le cours permettre au fur et à mesure de se contrôler et de s’orienter par soi-même. Alors, d’une manière progressive, qu’on ait bien compris le contenu du cours, il se faudra pratiquer. Pas de pratique, pas de bonne de programmation, voire même pas de programmation du tout. J’insiste sur le fait de la pratique individuelle, puisque l’apprentissage de la langue d’une manière générale, et de la programmation en particulier nécessite un travail assidu et rigoureux.
- Enseignant: Mansour MEKOUR

Dans ce cours, nous apprendrons les outils de base que chaque codeur de page Web doit connaître. Nous commencerons par le bas en apprenant comment implémenter des pages Web modernes avec HTML et CSS. Nous passerons ensuite à apprendre à coder nos pages de telle sorte que ses composants se réorganisent et se redimensionnent automatiquement en fonction de la taille de l'écran de l'utilisateur. Vous pourrez coder une page Web qui sera tout aussi utile sur un téléphone mobile que sur un ordinateur de bureau. Aucun «pincement et zoom» requis! Enfin et surtout, nous obtiendrons une introduction approfondie au langage le plus omniprésent, populaire et incroyablement puissant du Web: Javascript. En utilisant Javascript, vous pourrez créer une application Web entièrement fonctionnelle qui utilise Ajax pour exposer les fonctionnalités et les données côté serveur à l'utilisateur final.
- Enseignant: Orkia Derkaoui
Les bases de données ont pris une place importante en informatique, surtout avec l’avènement du web.Il est difficile de donner une définition exacte de la notion de base de données. Une définition très générale pourrait être : on appelle base de données un ensemble structuré et organisé permettant le stockage de grandes quantités d'informations afin d'en faciliter l'exploitation (ajout, mise à jour, recherche de données). Le but de ce cours est de former les étudiants à concevoir une bonne base de données en évitant les écueils classiques aboutissant à des données inutilisables. En effet, une mauvaise conception de départ conduit à stocker des données inutiles (redondance) et ainsi à générer des incohérences. Par ailleurs, une structure de données inadaptée peut provoquer des erreurs fondamentales d’expression dans l’interrogation de la base de données. Nous présenterons tout d'abord les concepts fondamentaux des bases de données relationnelles, puis apprendrons à les interroger par le biais de requêtes. Ces requêtes peuvent être exprimées de diverses manières. Nous présentons tout d’abord l’algèbre relationnelle, qui permet de représenter les requêtes de manière graphique et de bien comprendre leur structure et leur cohérence. Vous apprendrez ensuite à interroger ces bases de données sur machine à l'aide du langage SQL, très largement utilisé en entreprise. Ces notions seront mises en pratique lors de séances de travaux dirigés et travaux pratiques.
- Enseignant: Aissa FELLAH