CPSC 111: Winter 2008 Learning Goals
The Matrix

Course Outline
Lectures, Labs and Tutorials
Policies
Eclipse
Robots
 
CSLC
 
Challenge

Introdudction: This course uses learning goals. Learning goals describe the goals that you, as students, are expected to attain throughout the course of CPSC 111 this semester. They indicate the material and competencies that are central to this course and that must be mastered at a sufficient level in order to be granted a pass in this course. As instructors, the learning goals indicate the material that we will be teaching, and correspondingly, our expectations of our students' skill level. As students, the learning goals can be used as a checklist to ensure that your development through the course is on track, and that you are prepared for exams and assignments.

How to use: The following chart indicates each of the topic areas covered in this course as a row title. The column titles indicate the overreaching goals of the course. How each topic (row) meets each high-level learning goal (columns) is described in detail via the invidual learning goals (marked as letter-numbers in each cell). To save space, we have abbreviated each learning goal with a symbol-- to access the full learning goal, simply hover over the symbol and the goal will be displayed.

Note: If, when using Firefox, you are having trouble viewing the learning goals while hovering over the symbols (i.e. they appear truncated or incomplete), you may need to install this plugin.


Learning Goals Matrix:

A complete listing of the individual, low-level learning goals by topic can be found here

After successfully completing this class, students should be able to... Read and hand-execute (trace) provided code to "express understanding" of basic programming constructs and memory models (including sequential exeuction, conditional execution, iteration, arrays, methods/parameter passing, object-orientation and inheritance principles). Write and modify code to "express understanding" of basic programming constructs (including sequential exeuction, conditional execution, iteration, arrays, methods/parameter passing, object-orientation and inheritance principles). Write code to solve moderately-difficult problems (moderately difficult will be defined through example in an appendix). Recognize, create, and manipulate various models of programs including memory tracing and UML class diagrams. Explain Java language features (e.g. classes, visibility, fields, and methods) which support OO design principles such as modularity, encapsulation, abstraction and inheritance. Explain the major components of a computing system and how a program compiles and executes to a non-computer scientist.
Computing Systems           A, B
Programming Language Basics C, D C       E, (F),
Classes and Objects G, H G, H, I     I  
Conditionals J, K, L J, K, L (J), (K), L      
Designing and Defining Classes M, N, O, Q (O), R N, Q O, R M, P  
Iteration S, U T S, U T    
Arrays V, X   V, W X      
Sorting   Z,   (Z),   (AA),
Advanced Class Design AB1, AC1, AC3 AB4, AC4, AC5 AD   AB2, AB3, AC2, (AC4), (AC5)?  
Graphics AE2, AF,       AE1  

Back to main page...