This course utilizes the power and flexibility of the Python language to apply practical programming strategies such as the functional paradigm, modularity, parallelism, concurrency, metaprogramming, reactive programming, microservices, and design patterns. Students will learn when and how to apply their knowledge and understanding to achieve optimal solutions to a variety of software problems. Prior knowledge of the Python language is required for this course.
- Functional Programming
- Unit Testing
- Parallelism and Concurrency
- Reactive Programming
- Design Patterns
- Organize code elements into logically related and lucidly defined packages, modules, and components
- Develop metaprogramming software features
- Assemble unit tests
- Employ concurrency
- Recognize opportunities for reactive programming approaches
- Identify applications that can benefit from a microservices-oriented design
- Select and implement design patterns within appropriate contexts
PrerequisitesIntro to Programming Python and Python Programming Fundamentals, or demonstration of equivalency.
You will have access to your course materials on the published start date OR 1 business day after your enrollment is confirmed if you enroll on or after the published start date.
Software required: Anaconda, Visual Studio Code, Jupyter Notebook.
Hardware required: Computer with Windows or Mac OS preferred.
Applies Towards the Following Certificates
- Python Programming Certificate (UCSD) : Required Courses