You are here

Crazy Objects

Author: 
Reid, George
Issue Date: 
Friday, February 8, 2008
Description: 
The "Crazy Objects" was an assignment put together to address misunderstanding some students have about how computer languages handle objects, specifically the idea of having a reference to an object and how objects can reference other objects. The assignment models a virtual classroom and the students are asked to complete the code for several objects having been only given the class file for one of them (implementation in Java). In order to accomplish the task (allowing the virtual student to go to class), they will need to properly create and reconnect all the objects in the correct order. Students can be given skeletons of the classes involved or asked to create them from the UML diagrams. Activity can be used in grade 11 (OOP) or in grade 12 depending on the skill level of the class. The assignment also offers an opprotunity to review classroom rules and procedure, and good study habits (bring books to class etc..). The idea was to customize the classroom object to reflect your own personal classroom rules and perhaps those of the school (in this case Mr. Reid == Mr. Strict ;)
Keywords: 
objects, classes, methods, object references, implementing classes, interaction among classes, cohesion, oop, uml, object-oriented
Education Levels: 
Middle School
High School
Intended Audience: 
Learner
Type: 
Tool : Code
Publisher: 
CEMCS Summer Institute, Toronto, Ont, CA
URL: 
http://hdl.handle.net/2378/423
CSTA Classification: 

CPP.L3A-04

Apply analysis, design, and implementation techniques to solve problems (e.g., use one or more software lifecycle models).

CT.L3B-10

Decompose a problem by defining new functions and classes.

CPP.L3A-02

Use mobile devices/ emulators to design, develop, and implement mobile computing applications.

CPP.L3B-02

Use tools of abstraction to decompose a large-scale computational problem (e.g., procedural abstraction, object-oriented design, functional design).

CC.L3C-01a

Object-Oriented Program Design (AP Comp Sci A Topic I)

CT.L3B-04

Evaluate algorithms by their efficiency, correctness, and clarity.

CC.L3C-01c

Program Analysis (AP Comp Sci A Topic III)

CC.L3C-12

Other Project-Based Courses

CC.L3C-01b

Program Implementation (AP Comp Sci A Topic II)

Download this resource: