Skip to content

Latest commit

 

History

69 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NSI Python Projects Collection

A comprehensive portfolio of Computer Science (NSI - Numérique et Sciences Informatiques) projects demonstrating advanced Python programming concepts, algorithms, and data structures.

Table of Contents

Overview

This repository showcases a curated collection of Python projects developed during my NSI coursework, highlighting rigorous applications of fundamental and advanced computer science topics, including:

  • Object-Oriented Programming
  • Data Structures & Algorithms
  • Database Management
  • Web Development
  • Computational Biology Simulations
  • Graph Theory & Cryptography

Major Projects

Library Management System (Projet CDI)

A full-stack web application designed for managing a school library's collection and loans, demonstrating full development lifecycle capabilities.

Tech Stack: Django, SQLite, JavaScript
Features:

  • Book catalog management
  • User authentication and borrowing system
  • Database-driven architecture
  • Responsive web interface

Files: Projet CDI/


Predator-Prey Simulation (Projet proie-prédateur)

An ecological simulation implementing the Lotka-Volterra model with visual representation, showcasing an ability to model complex mathematical concepts in software.

Tech Stack: Python, Pygame/Tkinter
Features:

  • Real-time ecosystem dynamics
  • Population tracking and visualization
  • Grid-based environment with sprites
  • Emergent behavior patterns

Files: Projet proie-prédateur/


Sudoku Solver

An intelligent Sudoku puzzle solver using backtracking algorithms, demonstrating strong algorithmic problem-solving skills and efficiency.

Tech Stack: Python
Features:

  • Constraint satisfaction problem implementation
  • Recursive backtracking algorithm
  • Input validation and solution verification

Files: Projet sudoku/


Database Project

A database management system integrated with Python, evidencing data persistence and system design capabilities.

Tech Stack: Python, SQLite
Features:

  • SQL query interface
  • Data manipulation and retrieval
  • Database design and normalization

Files: Projet base de donnée/

Core Concepts & Exercises

Fundamental Topics Covered

File Concept Description
ex01_recursivite.py Recursion Recursive functions, base cases, stack management
ex02_modules.py Modules Code organization, imports, namespace management
ex03_prog_objet.py OOP Classes, inheritance, encapsulation, polymorphism
ex04_arbres.py Trees Binary trees, BST, traversal algorithms
ex05_structures_lineaires.py Linear Structures Stacks, queues, linked lists
ex07_diviser_regner.py Divide & Conquer Merge sort, quick sort, binary search
ex09_puces.py Chip Game Logic puzzles, problem-solving algorithms
ex10_graphes.py Graph Theory Graph representations, traversal (BFS/DFS), shortest paths
ex11_securisation.py Security Cryptography, hashing, data protection
ex12_calculabilité.py Computability Turing machines, complexity theory
ex13_prog_fonctionelle.py Functional Programming Lambda functions, map/filter/reduce, immutability
ex14_recherche_textuelle.py Text Search Pattern matching, string algorithms

Technologies

  • Language: Python 3.x
  • Web Framework: Django
  • Database: SQLite
  • Testing: pytest
  • Version Control: Git
  • Package Management: pip, npm

Project Highlights

Algorithmic Complexity

  • Implementations showcase a clear understanding of time and space complexity analysis
  • Optimized solutions for classic computer science problems
  • Practical application of Big-O notation

Software Engineering Practices

  • Clean, documented code emphasizing maintainability
  • Modular architecture principles applied throughout
  • Test coverage ensuring reliability
  • Robust database design and normalization

Problem-Solving Skills

  • Algorithm design tailored to specific constraints
  • Informed data structure selection and implementation
  • End-to-end real-world application development

Contributing

This repository represents personal educational work, but feedback and professional inquiries are always welcome.

About

A collection of Python projects exploring algorithms, OOP, databases, and simulations from my Computer Science studies.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages