COMP-202 - Introduction to Computing 1 (Fall, 2003)

Welcome
News
Syllabus
Calendar
Assignments
Office hours
Hints
Links
Resources

Calendar

Week # Dates General topic Subtopics Readings Events
Week 1 September 3 to September 5 Computer Systems

  • Introduction and course outline
  • Computer Hardware
  • Digital information
  • Number systems (specially binary numbers)
  • Computer Networks
  • Programming
1.1 - 1.4, Appendix B.
Week 2 September 8 to September 12 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.0 - 2.5 Assignment 1, Tutorial
Week 3 September 15 to September 19 Primitive Data Types, Objects, Input/Output

  • Primitive Data Types
  • Arithmetic operators
  • Standard I/O
  • String concatenation
  • Creating objects
  • Class libraries
2.6 - 2.9
Week 4 September 22 to September 26 Conditional control flow

  • The if statement
  • Boolean expressions revisited
  • The switch statement
  • Equivalence of conditional statements
  • More operators
3.0 - 3.5 Assignment 2
Week 5 September 29 to October 3 Repetition: loops

  • The while statement
  • The do/while statement
  • The for statement
  • Equivalence of loop statements
3.6 - 3.9
Week 6 October 6 to October 10 Objects and Classes

  • Objects: attributes, state and behaviour.
  • Anatomy of a Class: attributes and methods
  • Classes as Types
  • Creating new objects
  • Parameter passing
  • Scope
4.0 - 4.2 Assignment 3
Week 7 October 13 to October 17 Objects and Classes (cont.)

  • Static variables and methods
  • Recursion
5.1, 11.0 - 11.1
Week 8 October 20 to October 24 Objects and Classes (cont.)

  • Object relationships: aggregation (the ``has-a'' relation)
  • Method decomposition
  • Method overloading
4.3 - 4.5 Assignment 4, Tutorial
Week 9 October 27 to October 31 Enhancing Classes

  • References (or pointers) and aliases
  • Review
5.0, 5.2 - 5.4 Midterm
Week 10 November 3 to November 7 Graphics and Applets
    1.5, 2.10, 2.11, 3.10, 4.6, 4.7
    Week 11 November 10 to November 14 Arrays and Vectors

    • Arrays of primitive data objects
    • Arrays of general objects
    • Two-dimensional and n-dimensional arrays
    • Sorting (Selection sort and Insertion sort)
    • Vectors: growing arrays
    6.0 - 6.4 Assignment 5
    Week 12 November 17 to November 21 Inheritance and Interfaces

    • Subclasses
    • Shadowing attributes
    • Overriding methods
    • Polymorphism
    • Accessing parent classes: the super reference
    • Class hierarchy
    7.0 - 7.4, 5.5, 7.5
    Week 13 November 24 to November 28 Exceptions, I/O Streams and Data Structures

    • Exceptions
    • I/O Streams
    • Saving and loading text files
    • Introduction to data structures
    8.0 - 8.3, 12.1 - 12.3 Assignment 6
    Week 14 December 1 to December 5 Dynamic Data Structures and Software Engineering

    • Dynamic memory allocation
    • Linked lists
    • Stacks
    • Queues
    • The Software development cycle
    12.1 - 12.3 Tutorial