Skip to content

almasstudyjourney/BSc-Data-Engineering-and-Software-Development

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BSc-in-Data-Engineering-and-Software-Development

image

Contenu


Introduction

Bienvenue dans le dépôt des projets réalisés dans le cadre de ma Licence Iddl à la faculté des Sciences et Techniques d'Al Hoceima (FSTH). Ce dépôt contient une collection de projets et de devoirs issus de divers cours tout au long de mon parcours académique. Chaque projet est organisé dans son propre dossier, facilitant ainsi l'exploration et la compréhension du travail que j'ai accompli.

Chaque projet inclut la solution soumise, qui se compose généralement d'un rapport accompagné du code. Afin de respecter le travail des professeurs, les énoncés et les données ne sont pas inclus dans le dépôt. Dans les cas où les données sont disponibles publiquement, des liens correspondants pour le téléchargement des données sont fournis.


Navigation

Pour explorer les projets, vous pouvez naviguer à travers les dossiers correspondant à chaque cours. Chaque dossier est généralement structuré comme suit :

{Nom_du_projet ou ID_évaluation}/ Contient les fichiers du projet, y compris le code, la documentation et toutes les ressources supplémentaires.

README.md/ : Fournit un aperçu du projet, ses objectifs, ainsi que des instructions pour exécuter ou reproduire l'analyse (si applicable). Le fichier README.md contient également des informations concernant le cours (nombre de projets, examens finaux, projets individuels/de groupe, etc.).

Il est important de noter que, bien que certains cours incluent des projets, d'autres ne proposent pas de projets.


Programme

1. Présentation

2. Objectifs du Programme et Compétences a acquerir

image

Pour plus d'informations, vous pouvez consulter le site du programme ou télécharger la brochure officielle.

3. Méthode d'Enseignement

  • Cours magistraux (CM) : Des sessions théoriques qui couvrent les bases théoriques en mathématiques, informatique, et physique, fournissant une fondation solide pour des disciplines avancées.

  • Travaux dirigés (TD) : Résolution d'exercices pratiques en petits groupes, facilitant la compréhension des concepts théoriques à travers l'application pratique.

  • Travaux pratiques (TP) : Séances en laboratoire pour appliquer les concepts informatiques et scientifiques à des expériences concrètes, incluant la programmation et l’analyse de données.

  • Projets de fin de semestre : Réalisation de projets académiques pour mettre en pratique les compétences acquises dans chaque semestre, souvent en groupe pour favoriser le travail collaboratif.

4. Partenariats et Collaborations

Non


Semestre 1

Code du module Intitulé du module Description
M1 Thermodynamique Étude des principes fondamentaux de la thermodynamique.
M2 Mécanique du point et Optique géométrique Concepts de base en mécanique et optique géométrique.
M3 Analyse 1 : Fonction d’une variable réelle Introduction à l'analyse des fonctions d'une variable réelle.
M4 Algèbre 1 : Polynômes et espaces vectoriels Étude des polynômes et des espaces vectoriels.
M5 Algorithmique et Programmation Initiation à l'algorithmique et à la programmation informatique (langage C).
M6 TEC 1 Techniques d'expression et de communication.

Semestre 2

Code du module Intitulé du module Description
M7 Circuits électriques et électroniques Étude des circuits électriques et des composants électroniques.
M8 Electricité Concepts de base en électricité.
M9 Analyse 2 : Calcul intégral et équations différentielles Calcul intégral et résolution d'équations différentielles.
M10 Algèbre 2: Réduction des endomorphismes et formes quadratiques Étude des endomorphismes et des formes quadratiques.
M11 Structure de la matière Introduction à la structure de la matière.
M12 TEC 2 Techniques d'expression et de communication.

Semestre 3

Code du module Intitulé du module Description
M13 Mécanique des Solides Étude du comportement mécanique des solides.
M14 Analyse 3 : Fonctions de plusieurs variables et calcul des intégrales multiples Analyse des fonctions à plusieurs variables et calcul des intégrales multiples.
M15 Statistique descriptive/probabilités Introduction à la statistique descriptive et aux probabilités.
M16 Algorithmique et Programmation 2 Concepts avancés en algorithmique et programmation.
M17 Réactivité chimique Étude des mécanismes de réactivité chimique.
M18 TEC 3 Techniques d'expression et de communication.

Semestre 4

Code du module Intitulé du module Description
M19 Electromagnétisme Concepts de base en électromagnétisme.
M20 Mécanique quantique et Relativité Introduction à la mécanique quantique et à la relativité.
M21 Analyse 4: Séries de fonctions et calcul des résidus Étude des séries de fonctions et du calcul des résidus.
M22 Structure de données en C Conception et manipulation de structures de données en langage C.
M23 Analyse numérique Méthodes numériques pour la résolution de problèmes mathématiques.
M24 Systèmes d’Information et Base de données(SQL) Introduction aux systèmes d'information et bases de données relationnelles.

Semestre 5

Code du module Intitulé du module Description
M25 Mathématiques pour l’ingénierie des données Concepts mathématiques appliqués à l'ingénierie des données.
M26 Python pour les sciences de données Programmation en Python pour l'analyse de données.
M27 Technologies du Web et Framework Développement web et utilisation de frameworks modernes.
M28 Programmation Orientée Objet en Java Programmation orientée objet avancée en Java.
M29 Modélisation et conception avec UML Utilisation du langage UML pour la modélisation de systèmes.
M30 Réseaux et systèmes Introduction aux réseaux informatiques et aux systèmes distribués.

Semestre 6

Code du module Intitulé du module Description
M31 Intelligence artificielle Concepts fondamentaux en intelligence artificielle (Machine Learning et Deep Learning).
M32 Base de données avancées Gestion et optimisation de bases de données avancées (Oracle).
M33 Gestion de projet et soft skills Compétences en gestion de projet et développement des soft skills.
M34-M36 Projet de Fin d’Etudes Projet de fin d’études ou stage en entreprise, équivalent à trois modules.

Projets

Dans cette section, j'ai mis en avant certains des meilleurs devoirs et projets, selon mon avis.

  • 1. Détection et Classification des images en utilisant CNN

    • Description: Ce projet consiste en la détection et la classification d'images à l'aide du dataset Fashion MNIST, qui comprend 70 000 images de vêtements et accessoires en noir et blanc, classés en 10 catégories différentes. Pour cette tâche, j'ai développé un modèle de réseau de neurones convolutionnels (CNN) qui exploite la puissance des convolutions pour extraire les caractéristiques essentielles des images et améliorer les performances de classification.

    • Méthodologie:

      • Prétraitement des données : Les images ont été normalisées et redimensionnées pour garantir une entrée uniforme dans le modèle.

      • Architecture du CNN : J'ai conçu un modèle comprenant plusieurs couches convolutionnelles, suivies de couches de pooling, et enfin, des couches entièrement connectées pour la classification finale.

      • Entraînement : Le modèle a été entraîné sur un ensemble d'apprentissage, les hyperparamètres sont ajuster pour éviter le surapprentissage.

      • Évaluation : Les performances du modèle ont été évaluées sur un ensemble de test, en mesurant des métriques telles que la précision, le rappel et le score F1.

      • Resultats: Le modèle a atteint une précision de classification de 91%, démontrant ainsi son efficacité dans la reconnaissance des différentes catégories de vêtements.

    • Fichier: Détection et Classification des images

  • 2.Tableau de Bord Suivi des Finances Personnelles

    • Description: Ce projet consiste à créer un tableau de bord interactif pour le suivi des finances personnelles à l'aide de Power BI. L'objectif est de fournir aux utilisateurs une plateforme visuelle qui permet une vue d'ensemble claire et intuitive de leur situation financière, facilitant ainsi la gestion de leurs revenus, de leurs dépenses.

    • Méthodologie:

      • Collecte des données : Les utilisateurs entrent leurs revenus et leurs dépenses mensuelles dans des catégories définies (alimentation, logement, transport, loisirs, etc.).
      • Prétraitement : Les données sont normalisées et agrégées pour une analyse cohérente.
      • Visualisation : Utilisation de graphiques et de tableaux pour représenter visuellement les données financières, permettant de suivre l'évolution des dépenses et des revenus au fil du temps.
    • Fonctionnalités:

      • Résumé Financier : Vue d'ensemble des revenus, des dépenses et de mise à jour en temps réel.
      • Analyse des Dépenses : Graphiques et tableaux permettant de visualiser les dépenses par catégorie et d'identifier les domaines d'amélioration avec des alertes si l'utilisateur a dépasser la date prévu pour un payement.
      • Évolution Mensuelle : Suivi de l'évolution des revenus et des dépenses au fil des mois à l'aide de graphiques linéaires.
    • Fichier: Personal Financial Dashboard - Power BI

Notes

Semestre Module Titre du projet Note
Premier Semestre OOP Java Application de gestion des notes 15/20
Python pour Data Science Analyse factorielle des correspondances (AFC) 16.5/20
Deuxième Semestre Intelligence Artificielle Reconnaissance et classification d'images avec CNN 18/20
Bases de données avancées Tableau de bord financier personnel (Power BI) 16/20
Gestion de projet et Soft Skills La communication et La capacité d'écoute 18/20
Projet Final Projet de thèse Analyse des sentiments et des émotions 18.5/20

Langages, Outils et Technologies

Au cours de ma formation, j'ai eu l'opportunité de travailler avec divers langages de programmation, outils et technologies. Voici une liste des principaux :

Catégorie Langages/ Outils/ Technologies
Langages de Programmation - Python : Pour l'analyse de données, machine learning, et développement de scripts.
- Java : Programmation orientée objet et développement d'applications.
- C : Programmation bas niveau et manipulation des structures de données.
- SQL/ PL SQL : Requêtes pour la gestion de bases de données relationnelles.
- HTML/CSS/JavaScript : Développement de sites web dynamiques.
Outils et Technologies - Jupyter Notebook : Environnement de développement interactif pour Python.
- TensorFlow/Keras/ Scikit-learn : Bibliothèques pour le machine learning et le deep learning.
- Git/GitHub : Gestion du code source et collaboration.
- MySQL/ PL/SQL : Gestion et interrogation de bases de données.
- Power BI : Outil de visualisation de données pour des rapports dynamiques.
- UML : Pour la modélisation et conception des systèmes logiciels.
- Django/Flask/Streamlit : Frameworks pour le développement web en Python.
- Pandas, NumPy, Matplotlib, Seaborn : Bibliothèques Python pour l'analyse de données et la visualisation.
Environnements de Développement - VS Code : Éditeur de code pour plusieurs langages.
- PyCharm : IDE dédié à Python pour le développement.
- IntelliJ IDEA : IDE pour le développement en Java.
- Linux : Système d'exploitation utilisé pour le développement et l'administration de systèmes.

Avertissement

Veuillez noter que ce dépôt est destiné uniquement à des fins éducatives et de portfolio. Il représente mon évolution et mes progrès en tant qu'étudinate en Ingénierie de données et Développement Logiciel au cours de mes études. Certains projets peuvent inclure du code ou des solutions fournies dans le cadre des matériaux de cours, tandis que d'autres peuvent impliquer un travail collaboratif avec des camarades ou des conseils d'instructeurs.

Il est important de respecter les politiques d'intégrité académique et les directives de votre propre institution lorsque vous utilisez ce dépôt comme référence.


Informations de contact

Si vous avez des questions, souhaitez discuter de l'un des projets plus en détail, ou simplement entrer en contact, n'hésitez pas à me contacter :