Computer Architecture and Applications : Course Handout with Solved Exercises 1st year– Science and Technology
Loading...
Date
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
Le présent document constitue un support pédagogique destiné aux étudiants de première année de licence
(Sciences et Technologies). Il a été utilisé dans le cadre de l’enseignement entre 2018 et 2026, en tant
qu’élément constitutif de l’unité d’enseignement méthodologique. Le polycopié regroupe un ensemble
de cours théoriques et de travaux dirigés (TD), permettant à l’étudiant d’acquérir une compréhension
progressive et appliquée des notions étudiées.
Le contenu a été élaboré conformément au programme officiel défini par le Ministère de l’Enseignement
Supérieur et de la Recherche Scientifique. Il vise à fournir aux étudiants des bases solides en informatique,
indispensables à la fois pour leur formation académique et pour leur future insertion professionnelle.
Objectifs du cours
Ce module a pour objectif principal de permettre aux étudiants de :
• Comprendre les concepts fondamentaux de l’informatique et de l’algorithmique ;
• Développer la logique et la méthodologie nécessaires à la conception de programmes ;
• Apprendre à programmer à l’aide d’un langage évolué.
Dans ce cadre, le langage C a été retenu pour sa simplicité, son efficacité, sa portabilité et sa proximité avec
l’architecture des ordinateurs, ce qui permet à l’étudiant de relier la logique des programmes aux opérations
réalisées par la machine.
Pour des raisons pédagogiques, le cours est structuré en trois chapitres principaux :
1. Introduction à l’informatique: Ce chapitre fournit les bases nécessaires pour comprendre le
fonctionnement d’un ordinateur et prépare les étudiants aux notions d’algorithmique et de
programmation qui seront développées dans les chapitres suivants.
2. Notions d’algorithmique: Développement de la logique et des méthodes de conception de
programmes. Les étudiants apprennent à analyser un problème, concevoir un algorithme et
représenter celui-ci de manière structurée. Ils découvrent également les concepts essentiels :
variables, constantes, types de données, opérateurs, entrées/sorties et structures de contrôle.
3. Introduction au langage C: Ce chapitre a pour objectif l’apprentissage de la traduction de la logique
algorithmique en instructions exécutables par un ordinateur.
Les étudiants découvrent le langage C comme outil pratique pour mettre en œuvre leurs
algorithmes, apprendre la syntaxe d’un langage de programmation évolué et développer des
programmes fonctionnels. Ce chapitre relie directement la théorie algorithmique à la pratique de la
programmation.
Connaissances préalables recommandées
Il est préférable que les étudiants disposent de notions élémentaires en technologie du Web et d’une
familiarité générale avec l’utilisation d’un ordinateur. Ces connaissances faciliteront l’assimilation des
contenus et le développement des compétences pratiques en programmation.
Mots-clés:
Fondements de l’informatique, Architecture des ordinateurs, Codage de l’information, Systèmes de
numération, Conception d'algorithmes, Résolution de problèmes, Programmation en langage C, Structures
de contrôle, Fondamentaux de la programmation.
مقدمة
مقدمة
يُعدّ هذا المستند دعامة بيداغوجية مو ّجهة لطلبة السنة األولى ليسانس )علوم وتكنولوجيا(. وقد استُخدم في إطار التدريس خالل
َو الفترة الممتدة من 2018 إلى 2026 ع مجموعة من الدروس
، بوصفه عنص ًرا مكّونًا لوحدة التعليم المنهجي. ويضم هذا المطب
النظرية واألعمال المو ّجهة(TD (، بما يتيح للطالب اكتساب فهم تدريجي وتطبيقي للمفاهيم المدروسة.
تم إعداد المحتوى وفقًا للبرنامج الرسمي الذي حدّدته وزارة التعليم العالي والبحث العلمي، ويهدف إلى تزويد الطلبة بأسس متينة
في اإلعالم اآللي، وهي أسس ضرورية سواء لمسارهم األكاديمي أو الندماجهم المهني مستقبال.ً
أهداف المقياس :
يهدف هذا المقياس أسا ًسا إلى تمكين الطلبة من :
• فهم المفاهيم األساسية لإلعالم اآللي والخوارزميات؛
• تنمية المنطق والمنهجية الالزمة لتصميم البرامج؛
م البرمجة باستخدام لغة برمجة متقدمة.
ّ
• تعل
وفي هذا اإلطار، تم اعتماد لغة البرمجة C لما تتميز به من بساطة وفعالية وقابلية للنقل، إضافة إلى قربها من بنية الحاسوب،
مما يسمح للطالب بربط منطق البرامج بالعمليات التي تنفذها اآللة.
وألسباب بيداغوجية، قُ : ّسم الدرس إلى ثالثة فصول رئيسية
.1 مدخل إلى اإلعالم اآللي :يقدّم هذا الفصل األسس الالزمة لفهم كيفية عمل الحاسوب، ويُمّهد للطلبة مفاهيم الخوارزميات
والبرمجة التي سيتم تطويرها في الفصول الالحقة.
م الطلبة تحليل
ّ
.2 مفاهيم الخوارزميات :ير ّكز هذا الفصل على تطوير المنطق وأساليب تصميم البرامج، حيث يتعل
ّظمة. كما يكتشفون المفاهيم األساسية مثل: المتغيرات، الثوابت،
المشكالت، وتصميم الخوارزميات، وتمثيلها بطريقة من
أنواع البيانات، المعامالت، اإلدخال/اإلخراج، وبُنى التحكم.
م كيفية ترجمة المنطق الخوارزمي إلى تعليمات قابلة للتنفيذ من طرف
ّ
.3 مدخل إلى لغة C : يهدف هذا الفصل إلى تعل
الحاسوب.
يتعّرف الطلبة على لغة C م صياغة لغة برمجة متقدمة، وتطوير برامج وظيفية.
ّ
كأداة عملية لتطبيق خوارزمياتهم، وتعل
ويربط هذا الفصل مباشرة بين النظرية الخوارزمية والتطبيق العملي للبرمجة.
المعارف القبلية الموصى بها:
يُستحسن أن يمتلك الطلبة معارف أولية في تكنولوجيا الويب وإلما ًما عا ًما باستخدام الحاسوب. فهذه المعارف من شأنها تسهيل
استيعاب المحتويات وتطوير المهارات العملية في مجال البرمجة.
الكلمات المفتاحية:
أساسيات اإلعالم اآللي، هندسة الحاسوب، ترميز المعلومات، أنظمة الترقيم، تصميم الخوارزميات، حل المشكالت،
البرمجة بلغةC ، هياكل التحكم، أساسيات البرمجة
Description
Citation
BENIDRIS Fatima-Zohra ; ROUBA Baroudi