- Dates: 12th-14th November 2024
- Instructor: Kevin Cunningham
- Repo link
- Miro link
- Feedback link
- 9:30-11:00 Session 1
- 11:00-11:15 Coffee Break
- 11:15-12:45 Session 2
- 12:45-1:45 Lunch Break
- 1:45-3:15 Session 3
- 3:15-3:30 Tea Break
- 3:30-4:30 Session 4
This three-day course is designed to equip you with both foundational and advanced Python skills through a structured, hands-on approach. You’ll explore Python's core language features, dive into practical programming concepts, and gain exposure to essential libraries and tools. By the end, you'll be able to apply Python confidently across various real-world applications, bridging the gap between learning and doing with solid examples and clear best practices.
- Overview of the course structure
- Learning objectives and outcomes
- Introduction to Python and its significance
- Basic syntax and structure of Python
- Running Python scripts and using the interactive shell
- Writing your first Python program
- Understanding Python's built-in data types
- Working with numbers, strings, lists, tuples, and dictionaries
- Type conversions and basic operations
- Conditional statements:
if,elif, andelse - Loops:
forandwhile - Controlling loop execution with
break,continue, andelse
- Advanced data structures in Python
- Working with lists, sets, and dictionaries
- Understanding and using list comprehensions
- Defining and calling functions
- Function arguments, return values, and scope
- Lambda functions and functional programming concepts
- Recursion and higher-order functions
- Decorators and closures
- Practical examples and use cases
- Introduction to classes and objects
- Defining classes and creating instances
- Understanding
self, constructors, and methods
- Customizing the behavior of Python's operators
- Implementing special methods like
__add__,__sub__, and__eq__ - Practical applications of operator overloading
- Principles of inheritance in Python
- Creating subclasses and extending base class functionality
- Method overriding and the use of
super()
class TemperatureReading(Temperature, Reading):- Organizing code into modules
- Importing and using Python's standard and third-party libraries
- Best practices for module design and usage
- Exception handling in Python with
try,except,finally - Raising exceptions and custom exception classes
- Debugging and error management strategies
- Writing tests in Python using
unittestandpytest - Test-driven development (TDD) principles
- Mocking and coverage analysis
- Reading from and writing to files
- Working with CSV, JSON, and other file formats
- Best practices for file I/O operations
- Introduction to data visualization with Matplotlib
- Creating basic plots, charts, and graphs
- Customizing and exporting visualizations
- Understanding Python generators and
yield - Creating and using generator functions
- Practical examples of using generators for efficiency