Learn how you can write, structure, and extend your code to be able to support developing large systems at scale. Understand how you can leverage open source libraries to quickly add advanced functionality to your code and how you can package your code into libraries of your own. Apply Object Oriented Programming to ensure that your code remains modular, clear, and understandable. Honing these skills are the foundations for building codebases that are maintainable and efficient as they grow to tens of thousands of lines.
Overview
Syllabus
- Course Overview
- In this lesson, we'll introduce your instructor, give a brief overview of the course, and look ahead to what you'll be building for your final project.
- Foundations
- We'll explore the Python language and the core programming design patterns you'll need to write clear and concise code—including object-oriented programming, documentation, typing, and tests.
- Building Modules
- Large codebases are built by combining many smaller building blocks of code known as modules. We'll build on our knowledge of object-oriented programming to create scalable Python modules.
- Using Libraries
- The Python community has thousands of publically available, open-source libraries we can use as modules in our software. We'll learn how we can install and use these resources!
- Python in Systems
- We'll learn how to effectively interface with our software through the command line as well as use other powerful command-line tools in our Python code
- Python for Web
- Learn how to use Python to consume web content and serve complex applications!
- Project: Motivational Meme Generator
- For this project, you'll build a "meme generator". This will demonstrate your newly learned skills by creating a dynamic, data-rich application that generates images with quotes.
Taught by
Gabriel Ruttner