Student Learning Outcomes
This course builds on the foundational Python skills from CMSC1203 Structured Programming Logic, introducing students to advanced Python techniques for developing robust standalone applications. The course guides students through advanced object-oriented programming (OOP), functional programming, array-based numerical computing, project structuring, unit testing, and debugging. Through hands-on practical programming exercises, students create functional Python applications, gaining skills for technical roles in programming, system design, and related fields. This course emphasizes a programming-focused approach, ensuring students develop advanced, real-world Python programming expertise applicable to modern technology applications.Student Learning Outcomes
- Identify advanced object-oriented programming constructs, including multiple inheritance and abstract base classes used in software design.
- Explain the role of lambdas, generators, and decorators in optimizing Python code efficiency.
- Implement array-based numerical computations, including matrix operations, within a Python program.
- Compare dependency management and package structuring techniques for organizing modular software projects.
- Assess the impact of unit testing and debugging techniques on software reliability.
- Integrate advanced error-handling and exception management strategies into Python programs.
- Optimize Python code to meet specific performance requirements for computational tasks.
- Design a standalone Python application to address a real-world programming challenge.
Prerequisites
Please see eServices for section availability and current pre-req/test score requirements for this course.