| SESSION |
TOPIC |
ASSIGNMENT |
| 1 |
Introduction
- What to expect from this course
- Hardware, software, and operating systems
- Programming and programming languages
- Java programming langauge and Java Virtual Machine
- Concept of system's life cycle
- Writing, compiling, and running a Java program
|
Assign-1: Copycat |
| 2 |
The Look of a Java Program
- Components and structure of a Java programs
- import java.lang.* and public static void main()
- Quick tour of System.out.println()
- Gathering user input with DataInputStream.read_()
- Gathering text input with BufferedReader.readLine()
|
N/A |
| 3 |
Data Types and Machine Implementation
- Bits and bytes revisited
- Reserved characters and keywords in Java
- Machine implementation of elementary data types
- Elementary data types (conversion and casting)
- Arithmetic operators (+, -, *, /, %, ++, --)
|
Assign-2: SimpleMath |
| 4 |
Condition Testing and Flow Control
- Relational operators (>, <, !=, ==)
- Logical operators (&&, || )
- Condition testing
- Decision making (IF ELSE, SWITCH CASE)
- Flow Control, and Looping (FOR, WHILE, DO WHILE)
|
Assign-3: Decision tree |
| 5 |
Arrays and Character Strings
- One dimensional arrays: declaration, initialization, and indexing
- Array of characters
- Syntax of char vs. character string constants
- Multidimensional arrays: declaration, initialization, and indexing
|
Assign-4: TicTacToe |
| 6 |
Concepts of "Class" and "Object"
- Basic idea of Object-Oriented Programming
- What is a class?
- What is an object?
- Notion of method functions (class interfaces)
|
N/A |
| 7 |
Instantiation and Manipulation of Objects
- Notion of "Constructor"
- Declaration of an object variable
- Creating objects from a class wit the "new" operator
- Calling method function on a target object
- Garbage collecting in Java
|
Assign-5: Object Flood |
| 8 |
The String and
StringBuffer Classes
- String class vs. array of characters
- Manipulation of character strings
- String vs. StringBuffer classes
|
Assign-6: Word Game |
| 9 |
Functions, Method Functions, and Function Calls
- What is a function
- Passing arguments by value (primitive data types)
- Passing arguments by reference (object variables)
- Return value and return void
- Control stack of function calls
|
N/A |
| 10 |
Algorithms
- Solving a computational problem
- Algorithm as formalized procedural steps
- Notion of pseudo-codes
- From algorithm to pseudo-codes to Java programming
|
Assign-7: Display |
| 11 |
Overview of Java Class Libraries
(Packages) |
N/A |
| 12 |
Java's Basic Data Type Classes
- Byte and Boolean classes
- Date class
- Integer and Long classes
- Float and Double classes
- Character and String classes
|
N/A |
| 13 |
I/O and File Accessing
- Concepts of System.in, System.out, and
System.error
- Notion of input and out streams
- FileInputStream, DataInputStream, BufferedInputStream,
FilterInputStream, and StringBufferInputStream
- FileOutputStream, DataOutputStream, BufferedOutputStream, and
StringBufferOutputStream
|
Assign-8: Text Processor |
| 14 |
Error Handling
- Notion of Exception in Java
- Throw, try ... catch ... and handle an Exception
- The java.io.IOException class family
- Wisdom of defensive programming
|
N/A |
| 15 |
Documenting your Java program
- Header of source codes file
- Inline comments
- Style of coding and codes formating (sample)
- In-depth documentation
- Generating web-based documentation with javadoc
|
N/A |
| 16 |
DEADLINE FOR THE LAST ASSIGNMENT |
N/A |