Back to the Introduction to Computer Science outline The Course Maker
Introduction to Computer Science outline
Week 15 · Module overview

Week 15 — Module Framing · Intro to Object-Oriented Programming

Introduction to Computer Science · CSCI 1101 Fall 2026 · Prof. Okafor Fictional sample

Course: Introduction to Computer Science — CS1 / Programming Fundamentals in Python (CSCI 1101) · Silver Oak University (fictional sample) · Prof. Okafor
Module: Week 15 of 16 · Fall 2026 · in-person, two 75-minute coding-along studio sessions
Objective covered: Objective 8 — Use introductory object-oriented programming: classes & objects, attributes & methods, init, and instances.

(A) Module 15 Overview + (B) Welcome Announcement. Dates assume Week 15 meeting *Tue Dec 8* and Thu Dec 10*, with end-of-week work due Sunday Dec 13, 11:59 p.m.***. Adjust to your section.


(A) Module 15 Overview — Start Here

Welcome to Week 15: Intro to Object-Oriented Programming

This is your home base for the week. Read it first, then work the checklist below.

You've used objects all term without naming them: a string has data (its characters) and methods (.upper(), .split()); a list has data and methods (.append(), .sort()). Those are objects Python built. This week — the last new topic before the final — you build your own. A class is a blueprint that bundles data (attributes) and behavior (methods) into one tidy thing, and an object is a specific thing you build from it. The course habit holds: define it, run it, and read what Python actually does — especially the AttributeError that shows up when you forget self..

The week's big question

"How do we bundle data and the functions that work on it into one tidy thing?"

By Friday you'll define your own kind of object — a Dog, a BankAccount, a Rectangle — with attributes, methods, and __init__, and you'll know the #1 OOP bug (forgetting self.).

By the end of this week, you can…

  • [ ] Define a class with __init__ that sets up an object's attributes.
  • [ ] Give objects attributes (self.x) and methods.
  • [ ] Create instances and call their methods.
  • [ ] Explain self and fix the classic missing-self AttributeError.

What's due this week, and when

# Do this Type Due
1 Read the readings + watch the linked resource Read / watch (ungraded) Before Thu Dec 10
2 Skim the slides (Deck 15) and the lecture outline Prep (ungraded) Alongside class
3 Lecture Tutorial 15 — classes & objects with one approved chatbot; submit the share link Lecture Tutorial · graded (5%) Sun Dec 13, 11:59 p.m.
4 Practice exercises Practice · ungraded Sun Dec 13 (recommended)
5 Coding Lab 15 — "Build an Object" — define a class, create objects, fix a self bug Coding Lab · graded (15%) · 50 pts Sun Dec 13, 11:59 p.m.
6 Quiz 15 — class/object, attributes, methods, __init__, self Quiz · graded (10%) Sun Dec 13, 11:59 p.m.
7 Discussion 15 — "When Software Fails, Who's Responsible?" — an ethics debate, worked with one approved chatbot; post the AI summary + chat link and reply to two classmates Discussion · graded (10%) Initial post Fri Dec 11; replies Sun Dec 13
8 Assignment 15 — "Build a Class" — define classes, coached and scored by one approved chatbot Assignment · graded (15%) · 100 pts Sun Dec 13, 11:59 p.m.

Heads-up on the AI tools: chatbots sometimes forget self. (so attributes don't stick → AttributeError) or omit __init__. Catching that — by running the code — is the point.

How to succeed this week

  • Write self. on every attribute. To store data on an object, write self.x = value in __init__. Forgetting self. is the #1 OOP bug.
  • Two hooks: "A class is the blueprint; an object is the thing you build from it." And "self. stores it on the object."
  • Read the AttributeError. 'X' object has no attribute 'y' almost always means you forgot self.y = ... in __init__.
  • It's the last new topic. Next week is the cumulative final — keep your earlier weeks' notes handy.

(B) Welcome Announcement — Module 15

Release setting: post on the module's start day, Tue Dec 8, 2026.

Subject: Week 15 — build your own kind of object 🧱

Hi everyone,

This week — the last new topic before the final — you go from using objects (strings, lists) to building your own. A class is a blueprint that bundles data (attributes) and behavior (methods) into one tidy unit; an object is a specific thing built from it. We'll build a Dog, a Rectangle, and a BankAccount, and meet the #1 OOP bug: forgetting self..

Three things not to miss:
1. Lecture Tutorial 15 — classes & objects with an approved chatbot; submit the share link. Due Sun Dec 13.
2. Coding Lab 15 (Build an Object), Quiz 15, Discussion 15, and Assignment 15 also close Sun Dec 13.
3. Open the Start Here page first.

One reminder: to store data on an object, write self.attribute = value in __init__. Forget the self. and you'll get an AttributeError later — read it; it tells you exactly what's missing.

See you Tuesday,
Prof. Okafor


~ Prof. Okafor's edition · Fall 2026 · built with thecoursemaker.com