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
| Week | Learning Objectives | Contents | Graded Assessments | 
| 
 1  | 
  | 
 Module 01 - Course Overview Hardware and software; Problem solving 
 Handouts: 
  | 
 Module 01 Graded Problem Tasks  | 
| 
 2  | 
  | 
 Module 02 - Programming Fundamentals Primitive data types; Identifiers and Variables; Assignment statements; Arithmetic expressions; Simple I/O 
 Handouts: 
  | 
 Module 02 Graded Problem Tasks  | 
| 
 3  | 
  | 
 Module 03 - Object-oriented Programming Objects and classes; Properties and methods; Java documentation 
 Handouts: 
  | 
 Module 03 Graded Problem Tasks  | 
| 
 4  | 
  | 
 Module 04 - Scope Rules, Character String, Control Flow (if-else-if, switch) Scope rules; Character String; Boolean expressions; Branching statements: if-else-if, switch; 
 Handouts: 
  | 
 Module 04 Graded Problem Tasks  | 
| 
 5  | 
  | 
 Module 05 - Control Flow (loops), Arrays while loop; static methods; Shortcut operators; do-while loop; for loop; Arrays 
 Handouts: 
  | 
 Module 05 Graded Problem Tasks  | 
| 
 6  | 
  | 
 Exam 
 Handouts: 
  | 
 Exam  |