COMP-202 - Introduction to Computing 1 (Winter, 2005)

Welcome
News
Syllabus
Calendar
Assignments
Office hours
WebCT
Notes
Hints
Resources
Links

Calendar

* Please note that as of week 4 the readings are different for each edition of the book. The sections are marked as follows:
2nd ed. Second edition
3rd ed. Third edition
4th ed. Fourth edition

Week # Dates General topic Subtopics Readings* Events
Week 1 January 4 to January 7 Computer Systems

  • Introduction and course outline
  • Computer Hardware
  • Digital information
  • Number systems (specially binary numbers)
  • Computer Networks
  • Programming
1.1 - 1.6, Appendix B.
Week 2 January 10 to January 14 Introduction to programming

  • Programming Languages: Syntax and Semantics
  • Java programs (Hello World)
  • Compilers and Interpreters
  • Introduction to objects
  • Basic elements of Java: Keywords and literals
  • Variables and assignments
  • Primitive Data Types
2.1 - 2.5 Assignment 1
Week 3 January 17 to January 21 Primitive Data Types, Objects, Input/Output

  • Primitive Data Types
  • Arithmetic operators
  • Standard I/O
  • String concatenation
  • Creating objects
  • Class libraries
2.1 - 2.6, 3.2, 3.3
Week 4 January 24 to January 28 Conditional control flow

  • The if statement
  • Boolean expressions revisited
  • The switch statement
  • Equivalence of conditional statements
  • More operators
2nd ed
3.1 - 3.5
3rd ed
3.1 - 3.5
4th ed
5.1 - 5.4
Assignment 2
Week 5 January 21 to February 4 Repetition: loops

  • The while statement
  • The do/while statement
  • The for statement
  • Equivalence of loop statements
2nd ed
3.6 - 3.9
3rd ed
3.6 - 3.9
4th ed
5.5, 5.7, 5.8
Week 6 February 7 to February 11 Objects and Classes

  • Objects: attributes, state and behaviour.
  • Anatomy of a Class: attributes and methods
  • Classes as Types
  • Creating new objects
  • Parameter passing
  • Scope
  • Visibility and Encapsulation
2nd ed
2.1, 2.5, 4.1 - 4.3
3rd ed
2.0, 2.1, 2.6, 4.0 - 4.2
4th ed
3.1, 3.2, 4.1 - 4.4
Assignment 3
Week 7 February 14 to February 18 Objects and Classes (cont.)

  • Object relationships: aggregation (the ``has-a'' relation)
  • Method decomposition
  • Method overloading
  • Static members
2nd ed
4.4 - 4.6
3rd ed
4.3 - 4.5
4th ed
6.1 - 6.4, 6.7, 6.8
Week 8 February 21 to February 25 *STUDY* break

  • *STUDY*
  • Party
  • Sleep
  • Relax
Ch. 1 - 6
Don Quixote
War and Peace
The Illiad
Week 9 February 28 to March 4 Objects and Classes (cont.)

  • Static variables and methods
  • References (or pointers) and aliases
2nd ed
5.1 - 5.2
3rd ed
5.0 - 5.1
4th ed
6.3, 3.1 (sec on aliases)
Assignment 4, Midterm: March 3rd @ 6:00 - 7:30pm @ ENGMC 204
Week 10 March 7 to March 11 Arrays

  • Arrays of primitive data objects
  • Arrays of general objects
  • Two-dimensional and n-dimensional arrays
  • Sorting (Selection sort and Insertion sort)
  • Vectors: growing arrays
2nd ed
6.1 - 6.5
3rd ed
6.0 - 6.4
4th ed
7.1 - 7.3, 7.6, 7.7
Week 11 March 14 to March 18 Inheritance

  • Subclasses
  • Shadowing attributes
  • Overriding methods
  • Class hierarchy
  • The Object class
2nd ed
7.1 - 7.3
3rd ed
7.0 - 7.2
4th ed
8.1 - 8.4
Assignment 5
Week 12 March 21 to March 25 Interfaces and Polymorphism

  • Polymorphism
  • Accessing parent classes: the super reference
  • Abstract classes
  • Interfaces
2nd ed
5.4, 7.4 - 7.6
3rd ed
5.5, 7.3 - 7.5
4th ed
6.5, 9.1 - 9.6
Week 13 March 28 to April 1 Exceptions

  • Exception objects
  • Throwing exceptions
  • Catching exceptions
  • Exception propagation
2nd ed
8.1
3rd ed
8.0
4th ed
10.1 - 10.4
Assignment 6
Week 14 April 4 to April 8 Recursion and Data Structures

  • Recursion
  • Dynamic memory allocation
  • Linked lists
2nd ed
11.1 - 11.3, 12.1 - 12.2
3rd ed
11.0 - 11.2, 12.0 - 12.1
4th ed
11.1 - 11.3, 12.1 - 12.2
Week 15 April 11 to April 13 Data Structures

  • More on linked lists
  • Stacks
  • Queues
2nd ed
12.3 - 12.4
3rd ed
12.2 - 12.3
4th ed
12.3 - 12.5