Course

Course Summary
Credit Type:
Course
ACE ID:
UMBC-0017
Organization's ID:
TCPRG0002
Location:
Classroom-based
Length:
80 hours
Dates Offered:
Credit Recommendation & Competencies
Level Credits (SH) Subject
Upper-Division Baccalaureate 3 computer science
Description

Objective:

The course objective is to enable students to design, create, and use high -level objects to abstract away low-level details in programs.

Learning Outcomes:

  • Write programs that utilize the benefits of custom classes when developing in an Object -Oriented language such as Python
  • Use inheritance to design specialized classes from existing classes
  • Understand Python's Method Resolution Order (MRO) when working with the Python data model of classes
  • Write Python code that adheres to fundamental Python guidelines and principles
  • Create UML diagrams in the development process to help analyze how components and interfaces interact
  • Write pure functions in Python to design more testable applications
  • Use Test Driven Development to provide automated testing and eliminate duplication
  • Utilize the DRY and SOLID design principles in the writing of Python Programs
  • Define an Abstract Base Class to represent an application programming interface (API)
  • Write Python programs that utilize the tkinter module to create a Graphical User Interface (GUI) to the application

General Topics:

  • Test driven development, object oriented design, inheritance, abstract classes, object oriented analysis tools, Python Data Model, functional programming, and writing GUIs in Python
Instruction & Assessment

Instructional Strategies:

  • Audio Visual Materials
  • Classroom Exercise
  • Discussion
  • Lectures
  • Practical Exercises

Methods of Assessment:

  • Other
  • skill demonstration

Minimum Passing Score:

70%
Supplemental Materials