FICHE DESCRIPTIVE DU COURS · INF114-B

Programmation Informatique Avancée

Obligatoire · Français
ECTS
5
Crédit local
3
Cours Théoriques + Travaux Dirigés (TD) + Travaux Pratiques (TP)
2 + 0 + 2
Niveau du Cours
Licence
Cours Pré-Requis
-
Semestre du Cours
2

Contenus

Objectif du Cours

Dans ce cours, les concepts fondamentaux introduits dans le premier cours «Introduction à la programmation» du premier semestre sont consolidées. En particulier, l'utilisation efficace des pointeurs, l'allocation et la gestion dynamique de la mémoire, analyse des algorithmes, des principes fondamentaux des algorithmes, des algorithmes de tri et la modélisation des algorithmes sont présentés. Dans les travaux pratiques (les séances de laboratoire) le langage C et le système d'exploitation Linux sont utilisés.

Contenu du Cours

- Introduction et rappels sur la programmation en C
- Allocation dynamique de la mémoire
- Listes chaînées
- Pile et File
- Analyse algorithmique
- Principe fondamentaux : Récursion, recherche, diviser pour règner
- Algorithmes de tri
- Modélisation et conception d'algorithmes

Acquis d'Apprentissage du Cours

- La connaissance approfondie sur la programmation en C
- La connaissaince sur la gestion de mémoire, les structures de données de base, les algorithmes de tri principaux
- L'aptitude pour la modélisation et conception d'algorithmes
- La capacité d'analyser des algorithmes

Méthodes d'Enseignement

Présentation, discussion, question-réponse, travaux pratiques/dirigés et projets

Ressources

Algorithms, Robert Sedgewick and Kevin Wayne, Pearson, 2011
The Algorithm Design Manual, Steven S. Skiena, Springer, 2008
Introduction to Algorithms, Cormen, Leiserson, Rivest & Stein, MIT Press, 2009
Understanding and Using C Pointers, Richard Reese, O’Reilly Media, 2013

Intitulés des Sujets

Intitulés des Sujets Théoriques
Semaine Intitulés des Sujets
1 Introduction et Rappel sur la Programmation en C
2 Allocation Dynamique de la Mémoire
3 Listes Chaînées
4 Opérations sur les Listes Chaînées
5 Pile et File
6 Introduction à l'Analyse Algorithmique
7 Notation de Big-O
8 Examen Partiel
9 Principes Fondementaux : Récursion versus Itération
10 Principes Fondementaux : Recherche, diviser pour règner
11 Algorithmes de Tri de Base
12 Analyse Algorithmique des Algorithmes de Tri
13 Modélisation et Conception des Algorithmes
14 Modélisation et Conception des Algorithmes & Exemples Actuels
Intitulés des Sujets Pratiques
Semaine Intitulés des Sujets
1 Rappel sur la Programmation en C
2 Allocation Dynamique de la Mémoire
3 Listes Chaînées
4 Opérations sur les Listes Chaînées
5 Pile et File
6 Analyse Algorithmique
7 Notation de Big-O
8 Examen Partiel
9 Principes Fondementaux : Récursion versus Itération
10 Principes Fondementaux : Recherche, diviser pour règner
11 Algorithmes de Tri de Base
12 Analyse Algorithmique des Algorithmes de Tri
13 Modélisation et Conception des Algorithmes
14 Présentation des Projets des Etudiants

Système d'évalution

Contribution à la Note Finale
Activités Numéro Contribution
Contribution du contrôle continu à la note finale 4 60
Contribution de l'examen final à la note finale 1 40
Total 5 100
Contrôle Continu
Activités Numéro Contribution
Devoir 0 0
Présentation 0 0
Examen partiel (temps de préparation inclu) 1 30
Projet 1 10
Travail de laboratoire 10 10
Autres travaux pratiques 0 0
Quiz 10 10
Devoir/projet de session 0 0
Portefeuille 0 0
Rapport 0 0
Journal d'apprentissage 0 0
Mémoire/projet de fin d'études 0 0
Séminaire 0 0
Autre 0 0
Make-up 0 0
Total 22 60

Evalution de la Compétence

No Objectifs Pédagogiques du Programme Contribiton
1 2 3 4 5
1 Matematik, fizik ve mühendislik bilimlerine özgü konularda yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri, mühendislik problemlerinin modellenmesi ve çözümünde kullanabilme becerisi. X
2 Karmaşık bilgisayar mühendisliği problemlerini saptama, tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi. X
3 Yazılımsal veya donanımsal karmaşık bir sistemi, süreci veya donanımı gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlama becerisi; bu amaçla modern tasarım yöntemlerini uygulama becerisi. X
4 Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları geliştirme, seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi. X
5 Analitik düşünce ile bir sistemi, sistem bileşenini ya da süreci analiz etme, modelleme, deney tasarlama ve yapma, veri toplama, çözüm algoritmaları üretebilme, uygulamaya alma ve geliştirme becerileri. X
6 Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi. X
7 Türkçe sözlü ve yazılı etkin iletişim kurma becerisi; en az iki yabancı dil bilgisi; etkin rapor yazma ve yazılı raporları anlama, yazılım ve donanım tasarımını, gerekirse teknik resim metotları kullanarak raporlayabilme, etkin sunum yapabilme becerisi. X
8 Bilgiye erişebilme ve bu amaçla kaynak araştırması yapabilme, veri tabanları ve diğer bilgi kaynaklarını kullanabilme becerisi X
9 Yaşam boyu öğrenmenin gerekliliği bilinci; kendini sürekli yenileme becerisi. X
10 Mesleki etik ilkelerine uygun davranma, mesleki sorumluluk bilinci; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi.
11 Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi; girişimcilik, yenilikçilik hakkında farkındalık; sürdürülebilir kalkınma hakkında bilgi.
12 Mühendislik uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri ve çağın mühendislik alanına yansıyan sorunları hakkında bilgi. X
13 Bilgisayar mühendisliği uygulamalarının hukuki ve etik boyutları konusunda farkındalık.

Tableau de la Charge de Travail

Activités Nombre Durée Charge totale de Travail
Durée du cours 14 2 28
Préparation pour le cours 1 10 10
Devoir 0 0 0
Présentation 0 0 0
Examen partiel (temps de préparation inclu) 1 20 20
Projet 1 10 10
Laboratoire 14 2 28
Autres travaux pratiques 0 0 0
Examen final (temps de préparation inclu) 1 20 20
Quiz 10 1 10
Devoir/projet de session 0 0 0
Portefeuille 0 0 0
Rapport 0 0 0
Journal d'apprentissage 0 0 0
Mémoire/projet de fin d'études 0 0 0
Séminaire 0 0 0
Autre 0 0 0
baclé 0 0 0
Yil 0 0 0
Yil 0 0 0
Yil 0 0 0
Charge totale de Travail 126
Charge totale de Travail / 25 5.04
Crédits ECTS 5