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.

Important Dates

  • Course Content Release: 18 October 2016 09:00 (GMT +8)
  • Graded Assessments, Project and Exam Due Date: 23 January 2017 23:59 (GMT +8)

Course Outline

Module Learning Objectives Contents Graded Assessments

1

  • 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 01 Graded Problem Tasks
Lab 01 - Highscore Table

2

  • 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 02 Graded Problem Tasks
Lab 02 - Saving and Loading Records

3

  • 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 03 Graded Problem Tasks

4

  • 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 04 Graded Problem Tasks
Lab 03 - Screen Transition

5

  • 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 05 Graded Problem Tasks