Skip to main content

Overall Course Objectives

By the end of this course, you will be able to:

  • Take a “real-life” problem and abstract out the pertinent aspects necessary to solve it.
  • Formulate formal solutions to well-defined problems using the logic of a programming language.
  • Implement formal solutions in Java using an integrated development environment.
  • Have an understanding of the basics of data abstraction using the object-oriented framework.

 

Course Outline

Part 1 (Module 01 - 05)

Module Learning Objectives Contents Graded Assessments

01

  • To briefly describe computer hardware and software
  • To explain the problem solving process
  • To write the first Java program

Hardware and software; Problem solving

  1. Introduction
  2. Hardware
  3. Software and Programming Languages
  4. Problem Solving
  5. First Java Program

Handouts:

  • PPT slides in PDF

Module 01 Graded Problem Tasks
Lab 01 - Hello World

02

  • To use the primitive data types in Java
  • To utilize identifiers and variables for storing different values
  • To construct simple programs by using arithmetic expressions and arithmetic operators
  • To explain the use of assignment statements
  • To apply type conversions in Java
  • To apply simple input/output (I/O) in programs

Primitive data types; Identifiers and Variables; Assignment statements; Arithmetic expressions; Simple I/O

  1. Introduction
  2. Identifiers
  3. Variable and Data Types
  4. Expressions
  5. Memory Allocation
  6. Simple I/O

Handouts:

  • PPT slides in PDF

Module 02 Graded Problem Tasks
Lab 02 - Math is Easy

03

  • To briefly describe object-oriented programming
  • To create a class with properties and methods
  • To construct and use objects in a class
  • To document classes with Java documents ion style

Objects and classes; Properties and methods; Java documentation

  1. Introduction
  2. General Structure
  3. Comments
  4. Example: BankAccount
  5. Example: ColorImage
  6. Example: Car2

Handouts:

  • PPT slides in PDF

Module 03 Graded Problem Tasks
Lab 03 - ColorImage Objects

04

  • To apply the scope rules in resolving the values of variables in different scopes
  • To describe Boolean type and Boolean operators
  • To construct Boolean expressions using Boolean operators
  • To apply the use of if-else-if statements to control the flow of a program
  • To apply the use of switch statement to control the flow of a program
  • To understand the char type and String type in Java

Scope rules; Boolean expressions; Branching statements: if-else-if, switch; Character String

    1. Introduction
    2. More Examples
    3. Character String
    4. Boolean Expressions
    5. Branching Statement - If-else-if
    6. Branching Statement - Switch

Handouts:

  • PPT slides in PDF

Module 04 Graded Problem Tasks
Lab 04 - Rock-paper-scissors

05

  • To formulate repetitive actions in a program by using a loop statement
  • To explain the different loop constructs such as while loop, do while loop and for loop
  • To use shortcut operators in programs
  • To construct an array for holding objects of the same type
  • To swap entries in an array

Loops; Shortcut operators; Arrays

    1. Introduction
    2. Static Methods and Shortcut Operators
    3. Do-while and For Loops
    4. Arrays

Handouts:

  • PPT slides in PDF

Module 05 Graded Problem Tasks
Lab 05 - Matching Game

 

Part 2 (Module 06 - 10)

Module Learning Objectives Contents Graded Assessments

06

  • To understand fundamental concepts in Object-oriented programming
  • To understand and use subclasses in Java
  • To construct multidimensional arrays
  • To apply the use of nested loops in manipulating multidimensional arrays
  • To perform searching and sorting in arrays

Introduction to OOP,
Subclass,
Multidimensional array,
Searching and Sorting

  1. Introduction to OOP and Subclass
  2. Multidimensional Arrays
  3. Sorting and Searching

Handouts:

  • PPT slides in PDF
Module 06 Graded Problem Tasks

07

  • To solve problems with strings
  • To write programs that process a text file
  • To save results to a text file

Character String, File I/O

  1. Character String
  2. String Manipulation
  3. File I/O
  4. More Examples on File I/O

Handouts:

  • PPT slides in PDF

Module 07 Graded Problem Tasks

08

  • To describe event-driven programming
  • To write interactive programs by integrating real time mouse events
  • To build simple graphical user interfaces by using java swing components

Simple event-driven programming, Graphical user interface

  1. Event-driven Programming
  2. Graphical User Interface (GUI)

Handouts:

  • PPT slides in PDF

Module 08 Graded Problem Tasks

09

  • To describe the concept of recursion
  • To identify the class of problems which repeat in a self-similar way
  • To write programs for solving problems using recursive function calls

Recursion

  1. Introduction to recursion
  2. More examples on recursion

Handouts:

  • PPT slides in PDF

Module 09 Graded Problem Tasks

10

  • To describe abstract data type (ADT)
  • To use Stack and Queue
  • To write, compile and execute a Java program using the Eclipse IDE

Abstract data type (ADT), Stack and Queue, Eclipse IDE (Optional)

  1. Abstract Data Type (ADT)
  2. The N-Queen Problem
  3. Square Apple Example
  4. Queue and Deque
  5. Eclipse (Optional)

Handouts:

  • PPT slides in PDF

Module 10 Graded Problem Tasks