BSSE2301 SOFTWARE ENGINEERING MINI PROJECT 2025
Python programming learning course outline modules
Modules Sub modules Mentors/Lecturers
Module 1: Getting Started with Python Geoffrey:
Introduction to [Link]@[Link]
Python Introduction to Python and its history
• Installing Python and setting up the
• environment
Using Python IDEs (e.g., PyCharm, VS
Code, Jupyter Notebook, Anaconda)
Basic Syntax and Variables Livingstone:
19th - 23rd May ndigezzalivingstone2@gm
2025 • Python syntax and conventions [Link]
• Variables and data types
• Basic input and output operations
Control Structures Geoffrey:
[Link]@[Link]
Conditional statements (if, elif, else)
• Loops (for, while)
• Comprehensions (list, dictionary
• comprehensions)
Module 2: Data Lists, Tuples, and Sets Livingstone:
Structures ndigezzalivingstone2@gm
Introduction to lists and basic [Link]
• operations
• Tuples and their uses
• Sets and set operations
19th - 23rd May
Dictionaries Geoffrey:
2025
[Link]@[Link]
• Creating and using dictionaries
• Dictionary methods and operations
Advanced Data Structures Livingstone:
• Nested data structures ndigezzalivingstone2@gm
• Collections module (namedtuple, [Link]
defaultdict, Counter, deque)
Module 3: Functions Defining Functions Geoffrey:
and Modules [Link]@[Link]
• Function syntax and parameters
26th - 30th May 2025 • Return values
• Lambda functions
Modules and Packages Livingstone:
ndigezzalivingstone2@gm
Importing modules [Link]
• Creating and using custom modules
• Understanding and using packages
• (e.g., pip and PyPI)
Error Handling Geoffrey:
• Exception handling with try, except, [Link]@[Link]
else, and finally
• Custom exceptions
Module 4: Object- Classes and Objects Livingstone:
Oriented ndigezzalivingstone2@gm
Programming (OOP) Defining classes and creating objects [Link]
• Instance and class variables
• Methods (instance, class, and static
26th - 30th May 2025 • methods)
Inheritance and Polymorphism Geoffrey:
[Link]@[Link]
• Inheritance and method overriding
• Polymorphism and method resolution
order
• Abstract classes and interfaces
Advanced OOP Concepts Livingstone:
ndigezzalivingstone2@gm
• Encapsulation and data hiding [Link]
• Magic methods and operator
overloading
• Composition vs. inheritance
Module 5: File Reading and Writing Files Geoffrey:
Handling [Link]@[Link]
• Working with text files
2nd - 6th May 2025 • Handling CSV files
• JSON and XML file processing
File and Directory Operations Livingstone:
ndigezzalivingstone2@gm
Navigating the file system [Link]
• File and directory management (os and
• shutil modules)
Module 6: Data Introduction to NumPy Geoffrey:
Science with Python [Link]@[Link]
2nd - 6th June 2025 • Creating and manipulating arrays
• Mathematical operations with NumPy
Pandas for Data Analysis Livingstone:
ndigezzalivingstone2@gm
DataFrames and Series [Link]
• Data manipulation and analysis with
• Pandas
Data Visualization Geoffrey:
[Link]@[Link]
• Matplotlib for basic plotting
• Advanced visualizations with Seaborn
Module 7: Machine Introduction to Machine Learning
Learning basics
• Supervised Learning Livingstone:
• Unsupervised Learning ndigezzalivingstone2@gm
[Link]
9th - 13th June 2025 • Model Selection and Validation
• Advanced Topics (Neural Networks and Geoffrey:
Deep Learning, Natural Language [Link]@[Link]
Processing (NLP)
• Project: Machine Learning Geoffrey&Livingstone:
[Link]@[Link]
Module 8: Web Introduction to Web Development Livingstone:
Development with ndigezzalivingstone2@gm
Python Understanding web technologies [Link]
16th - 20th June 2025 • Setting up a web server with Flask or
• Django
Building Web Applications Geoffrey:
[Link]@[Link]
Creating routes and views
• Handling forms and user input
• Integrating databases (SQL,
• PostgreSQL, MySQL / MariaDB)
Advanced Web Development Geoffrey:
16th - 20th June 2025
[Link]@[Link]
User authentication and authorization
• REST APIs with Flask or Django REST
• Framework
Module 9: Working Introduction to APIs Livingstone:
with APIs ndigezzalivingstone2@gm
23th - 27th June 2025 • Understanding RESTful APIs [Link]
• Consuming APIs with requests module
Creating APIs Livingstone:
ndigezzalivingstone2@gm
• Building APIs with Flask-RESTful or [Link]
Django REST Framework
• Authentication and versioning of APIs
Module 10: Automating Tasks with Python Geoffrey:
Automation and [Link]@[Link]
Scripting Writing scripts for task automation
23th - 27th June 2025 • Scheduling tasks with cron jobs or task
• schedulers
Web Scraping Livingstone:
ndigezzalivingstone2@gm
• Basics of web scraping with [Link]
BeautifulSoup
• Advanced scraping with Scrapy
Module 11: Testing Testing in Python Geoffrey:
and Debugging [Link]@[Link]
30th June - 4th July Writing unit tests with unittest and
2025 • pytest
Test-driven development (TDD)
• concepts
Debugging Techniques Livingstone:
ndigezzalivingstone2@gm
Using debugging tools (pdb, logging [Link]
• module)
Best practices for debugging and
• troubleshooting
Module 12: Concurrency and Parallelism Geoffrey:
Advanced Topics [Link]@[Link]
7th - 11th July 2025 Threading and multiprocessing
• Asynchronous programming with
• asyncio
14th - 18th July 2025 Performance Optimization Livingstone:
ndigezzalivingstone2@gm
Profiling and optimizing code [Link]
• Memory management and best
• practices
Deployment and DevOps Geoffrey:
[Link]@[Link]
• Deploying applications with Docker
21th - 25th July 2025 • Continuous Integration and Continuous
Deployment (CI/CD) practices
• Best practices
Weekly Timetable
Total weekly contact hours 9.5 hours
Time Monday Tuesday Wednesday Thursday Friday
09:00 - 11:00 Geoffrey: Geoffrey: Geoffrey:
[Link]@ ---- [Link]@ ---- [Link]@
[Link] [Link] [Link]
14:00-16:00 Livingstone: ---- Livingstone: ---- Livingstone:
ndigezzalivings ndigezzalivings ndigezzalivings
tone2@gmail.c tone2@gmail.c tone2@gmail.c
om om om
Note-
Group Project and Supervision Allocation- This will be done in the fifth week
Group Formation
Size: Each group will consist of 4-5 members.
Online class
Platform: Online classes will be conducted via Zoom.
Schedule: Classes will follow the regular timetable.
Access: The Zoom links will be the same thought out the recess program
Links:
Morning: Register in advance for this meeting:
Afternoon: Register in advance for this meeting
After registering, you will receive a confirmation email containing information about joining the
meeting.
Guido van Rossum (Creator of Python):
"Python is an experiment in how much freedom programmers need. Too much freedom
and nobody can read another's code; too little and expressiveness is endangered."