Programming Using Java

"Computer Science is no more about computers than astronomy is about telescopes" Edsger Dijkstra

This course will help students examine computer science concepts. Students will outline stages in software development, define standard control and data structures, identify on and off-line resources, explain the function of basic computer components, and develop problem solving skills. Students will use Java to write programs.

Learning Goals

Unit 1 Review

  1. Review of the Grade 11 Curriculum:
    1. Structures
    2. Encapsulation
    3. Strings
    4. Arrays

Unit 2 Multidimensional Arrays

  1. Understand the concept of objects storing objects
  2. Familiarize with array syntax
  3. Write programs using jagged arrays

Unit 3 Recursion

  1. Understand the concept of recursion in mathematics
  2. Familiarize with recursive methods
  3. Understand Binary Search algorithm
  4. Write programs using recursion

Unit 4 Lists

  1. Understand the concept of nested classes
  2. Understand the difference between arrays and lists
  3. Understand the concept of linking nodes
  4. Understand the concepts of Stack and Queues
  5. Write programs using lists

Unit 5 Trees

  1. Understand the concept of trees
  2. Understand the concept of binary trees
  3. Understand the concept of binary search trees
  4. Understand the concept of tree traversals
  5. Write programs using trees

Unit 6 Sorting Algorithms

  1. Understand the concept of swapping values
  2. Understand the concept of partition
  3. Familiarize with:
    1. Bubble Sort
    2. Selection Sort
    3. Insertion Sort
    4. QuickSort
  4. Write programs using sorts

Unit 7 Inheritance

  1. Understand the concept of Inheritance in OOP
  2. Familiarize with the protected access modifier
  3. understand the concept of abstract classes and methods:
  4. Understand the concept of Polymorphism
  5. Write programs using Inheritance

Unit 8 Python

  1. Brief introduction to the Python programming language
  2. Write a simple program using Python

Unit 9 Swing

  1. Understand the concept of Graphical User Interface
  2. Familiarize Swing syntax
  3. Write programs using Swing