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
[email protected] 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 ail.com
• Variables and data types
• Basic input and output operations
Control Structures Geoffrey:
[email protected] 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 ail.com
• operations
• Tuples and their uses
• Sets and set operations
19th - 23rd May
Dictionaries Geoffrey:
2025
[email protected] • Creating and using dictionaries
• Dictionary methods and operations
Advanced Data Structures Livingstone:
• Nested data structures ndigezzalivingstone2@gm
• Collections module (namedtuple, ail.com
defaultdict, Counter, deque)
Module 3: Functions Defining Functions Geoffrey:
and Modules
[email protected] • Function syntax and parameters
26th - 30th May 2025 • Return values
• Lambda functions
Modules and Packages Livingstone:
ndigezzalivingstone2@gm
Importing modules ail.com
• Creating and using custom modules
• Understanding and using packages
• (e.g., pip and PyPI)
Error Handling Geoffrey:
• Exception handling with try, except,
[email protected] else, and finally
• Custom exceptions
Module 4: Object- Classes and Objects Livingstone:
Oriented ndigezzalivingstone2@gm
Programming (OOP) Defining classes and creating objects ail.com
• Instance and class variables
• Methods (instance, class, and static
26th - 30th May 2025 • methods)
Inheritance and Polymorphism Geoffrey:
[email protected] • Inheritance and method overriding
• Polymorphism and method resolution
order
• Abstract classes and interfaces
Advanced OOP Concepts Livingstone:
ndigezzalivingstone2@gm
• Encapsulation and data hiding ail.com
• Magic methods and operator
overloading
• Composition vs. inheritance
Module 5: File Reading and Writing Files Geoffrey:
Handling
[email protected] • 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 ail.com
• File and directory management (os and
• shutil modules)
Module 6: Data Introduction to NumPy Geoffrey:
Science with Python
[email protected] 2nd - 6th June 2025 • Creating and manipulating arrays
• Mathematical operations with NumPy
Pandas for Data Analysis Livingstone:
ndigezzalivingstone2@gm
DataFrames and Series ail.com
• Data manipulation and analysis with
• Pandas
Data Visualization Geoffrey:
[email protected] • Matplotlib for basic plotting
• Advanced visualizations with Seaborn
Module 7: Machine Introduction to Machine Learning
Learning basics
• Supervised Learning Livingstone:
• Unsupervised Learning ndigezzalivingstone2@gm
ail.com
9th - 13th June 2025 • Model Selection and Validation
• Advanced Topics (Neural Networks and Geoffrey:
Deep Learning, Natural Language
[email protected] Processing (NLP)
• Project: Machine Learning Geoffrey&Livingstone:
[email protected] Module 8: Web Introduction to Web Development Livingstone:
Development with ndigezzalivingstone2@gm
Python Understanding web technologies ail.com
16th - 20th June 2025 • Setting up a web server with Flask or
• Django
Building Web Applications Geoffrey:
[email protected] Creating routes and views
• Handling forms and user input
• Integrating databases (SQL,
• PostgreSQL, MySQL / MariaDB)
Advanced Web Development Geoffrey:
16th - 20th June 2025
[email protected] 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 ail.com
• Consuming APIs with requests module
Creating APIs Livingstone:
ndigezzalivingstone2@gm
• Building APIs with Flask-RESTful or ail.com
Django REST Framework
• Authentication and versioning of APIs
Module 10: Automating Tasks with Python Geoffrey:
Automation and
[email protected] 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 ail.com
BeautifulSoup
• Advanced scraping with Scrapy
Module 11: Testing Testing in Python Geoffrey:
and Debugging
[email protected]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 ail.com
• module)
Best practices for debugging and
• troubleshooting
Module 12: Concurrency and Parallelism Geoffrey:
Advanced Topics
[email protected]7th - 11th July 2025 Threading and multiprocessing
• Asynchronous programming with
• asyncio
14th - 18th July 2025 Performance Optimization Livingstone:
ndigezzalivingstone2@gm
Profiling and optimizing code ail.com
• Memory management and best
• practices
Deployment and DevOps Geoffrey:
[email protected] • 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:
jeff.geoff.cis@ ---- jeff.geoff.cis@ ---- jeff.geoff.cis@
gmail.com gmail.com gmail.com
14:00-16:00 Livingstone: ---- Livingstone: ---- Livingstone:
ndigezzalivings ndigezzalivings ndigezzalivings
[email protected] [email protected] [email protected] 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."