7 - Object-Oriented Programming and AI-Assisted Coding Workflow — Topics & Learning Outcomes

📋 Module Topics🎯 Student Learning Outcomes

Module Topics

Foundations of Object-Oriented Programming

Introduces the fundamental concepts of OOP, explaining why it is a powerful paradigm for structuring engineering software. Covers the building blocks of classes, objects, attributes, and methods.

Modeling Engineering Objects with Classes

Demonstrates how OOP concepts are applied to represent real-world engineering entities such as structural beams and sensors as Python classes. Emphasizes practical class design for engineering problem-solving.

Inheritance and Class Hierarchies

Explains how inheritance allows new classes to build upon and extend existing ones, reducing duplication and reflecting natural hierarchies in engineering domains. Covers single inheritance, method overriding, and the use of super().

Introduction to AI-Assisted Coding Tools

Introduces GitHub Copilot and ChatGPT as AI coding assistants and explains how they integrate into the engineering programming workflow. Establishes the capabilities and limitations of each tool.

AI-Assisted Code Generation Workflow

Establishes a structured workflow for using AI tools to generate, refine, and integrate code for engineering programming tasks. Focuses on effective prompting strategies and iterative development practices.

AI-Assisted Debugging

Covers how to use AI tools to interpret error messages, identify bugs, and reason through incorrect program behavior. Establishes a systematic debugging approach that combines AI assistance with engineer-led analysis.

Responsible Use and Verification of AI-Generated Code

Establishes the ethical responsibilities and practical verification practices engineers must apply when using AI-generated code. Emphasizes that engineering judgment and accountability cannot be delegated to AI tools.

Student Learning Outcomes

By the end of this module, students will be able to:

MO1
Construct Python classes that model engineering objects — such as structural beams or sensors — by defining attributes, methods, and a constructor using the __init__ method
Level: ApplyType: CognitiveCourse mapping: CO1
MO2
Implement class hierarchies using inheritance, method overriding, and super() to represent 'is-a' relationships among engineering object types
Level: ApplyType: CognitiveCourse mapping: CO1
MO3
Formulate effective prompts for AI coding assistants to generate class scaffolding and test cases for engineering programming tasks
Level: ApplyType: BehavioralCourse mapping: CO2
MO4
Evaluate AI-generated engineering code by comparing program outputs against hand calculations and applying structured code review to identify logical errors or invalid assumptions
Level: EvaluateType: CognitiveCourse mapping: CO3
MO5
Apply a systematic debugging strategy — including interpreting Python tracebacks and using AI tools to explain common OOP errors — to diagnose and correct faults in class-based engineering programs
Level: ApplyType: BehavioralCourse mapping: CO3

Course Outcomes (reference)

CO1Use variables, arrays and object structures appropriate to solve engineering problems.
CO2Write computer functions to meet specific calculation needs.
CO3Write computer programs to solve mathematical expressions and engineering problems