Intermediate and Advanced Programming in Python with Mini-Project - Part 1 & 2
Tue 11 Feb 2025 10:00 AM - Wed 12 Feb 2025 2:30 PM
The Bridge, Dumfries, DG2 9AW
Description
Summary
Welcome back to the land of Python! You've navigated the basics and are ready to unleash Python's true potential. This section explores intermediate and advanced concepts, along with mini projects to solidify your learning.
Eligibility
You need to be a Dumfries and Galloway region resident at the age of 19 and above, the caveat to that is that you're a school leaver with no positive destination in mind.
Pre-Requisite
This course is designed for programmers with a basic understanding of Python who want to explore its advanced features and applications.
Course Duration
Two Days (1000 to 1430 hours GMT) with a 30 minute break in both sessions.
Course Objectives
- Deepen understanding of object-oriented programming (OOP) principles in Python.
- Explore advanced data structures like lists, dictionaries, and sets.
- Learn to work with modules, packages, and exception handling.
- Leverage Python for data analysis and visualization with libraries like NumPy and Matplotlib.
- Design and implement a mini-project to showcase learned concepts.
Outline
Day 1
Object-Oriented Programming (OOP) in Python (1.5 hours)
- Review of classes, objects, and methods
- Inheritance, polymorphism, and encapsulation
- Designing reusable and maintainable code with OOP
Advanced Data Structures (1 hour)
- Lists - advanced list manipulation techniques
- Dictionaries - working with key-value pairs efficiently
- Sets - exploring operations and set comprehensions
Modules and Packages (1 hour)
- Importing and using modules from the Python Standard Library
- Creating custom modules and packages for code organization
- Reusability and modularity in Python projects
Day 2
Exception Handling (1 hour)
- Handling errors and exceptions gracefully (try-except blocks)
- Making code robust and user-friendly
Data Analysis and Visualization with Python (1.5 hours)
- Introduction to NumPy for numerical computing
- Working with arrays and matrices
- Creating visualizations with Matplotlib (basic plotting concepts)
- Exploring other data analysis libraries (Pandas, Seaborn)
Mini-Project Introduction and Planning (30 min)
- Introduce the mini-project concept and purpose
- Discuss potential project ideas based on learned concepts (e.g., data analysis dashboard, web scraping tool)
- Break participants into small teams and allocate project themes
- Facilitate group brainstorming and planning (requirements, functionalities)
Mini-Project Execution (1 hour)
Course Wrap-up and Mini-Project Showcase (30 min)
- Q&A and Discussion on advanced C topics
- Each team presents their mini-project idea and approach
- Discuss lessons learned and best practices during project development
- Course Feedback
Note: This outline prioritizes hands-on learning. Labs and the mini-project should be designed to solidify concepts and encourage teamwork. Consider offering project templates or guidance for beginners while allowing flexibility for experienced participants.
Location
The Bridge, Dumfries, DG2 9AW