Module Overview
When you're a software engineer, you're not just writing code for your own immediate needs - you're building a system that others will work on, from coworkers and open-source collaborators to future-you. To do this, we must write code based on shared design and style principles.
In this module, we will learn the basic principles of object-oriented programming (OOP), the most common paradigm for designing and building large codebases. We will also learn about standard code style, tooling, and the code review process.
Learning Objectives
1. Create a basic Python class with a constructor, methods and fields
- Understanding class structure and components
- Implementing constructors using __init__
- Creating class methods and instance methods
- Defining and using class attributes
- Working with instance variables
- Managing object state and behavior
2. Write stylistic (PEP 8) Python code and use a linter to encourage cleanliness and organization
- Following PEP 8 style guidelines
- Using linters for code quality checks
- Implementing proper code formatting
- Writing clear and consistent documentation
- Organizing code structure effectively
- Maintaining code readability standards
Guided Project
In this guided project, we'll apply our knowledge of OOP principles and Python style guidelines to create well-structured, readable code:
Guided Project File:
guided-project.md
Module Assignment
Please read the assignment.md file in the GitHub repository for detailed instructions
Assignment File:
assignment.md