Brief Description of Aims and Content
This module introduces the core concepts of an object-oriented perspective in Java necessary to understand the grammar of Java, operators, data types, expressions, blocks, statements and control structures, standard mathematical functions and Strings, arrays, I/O streams and file input/output as well as output formatting to develop small applications (programming in the small) and provide students with the ability to write large applications (programming in the large) using object-oriented programming to solve real application problems.
1. Introduction
· Internet origin and development
· Internet architecture framework
· World Wide Web
2. Introduction to Java
· Java Evolution: History, Features
· Java vs C and C++
· Java and the Internet / World Wide Web
· Web Browsers
· Hardware and Software Requirements
· Java Support Systems and Environment
3. Learning the Basics of Java Language
· Java Programming Basics
· Structure of a Java Program
· Simple Programs with Two Classes
· Java Tokens and Statements
· Implementing a Java Program
· Java Virtual Machine (JVM)
· Command Line Arguments
· Programming Style
4. Constants, Variables, and Data Types
· Constants, Variables
· Data Types
· Declaration and Initialization
· Scope and Symbolic Constants
· Type Casting
· Default Values
5. Operators and Expressions
· Arithmetic, Relational, Logical, Assignment Operators
· Increment/Decrement, Conditional, Bitwise, Special Operators
· Arithmetic Expressions, Evaluation
· Precedence and Type Conversion (Autoboxing/Unboxing)
6. Decision Making and Looping
· `if`, `if-else`, Nested `if-else`, `else-if` Ladder
· `switch` Statement, Ternary (`?:`) Operator
· Loops: `while`, `do-while`, `for`
· Loop Control: `break`, `continue`, Labeled Loops
7. Arrays, Strings, and Vectors
· One-dimensional Arrays
· Strings and String Methods
· Introduction to Vectors
· Wrapper Classes
8. Object-Oriented Programming in Java
· The Object Paradigm
· Classes and Objects
· Encapsulation, Inheritance, Polymorphism, Abstraction
· Interfaces
· Accessing Members, Constructors
· Method Overloading, Static Members
9. Java Packages
· Introduction to Packages
· Java API Packages
· Creating and Using Custom Packages
· Naming Conventions
· Hiding Classes
10. Exception Handling
· Types of Errors
· Try-Catch Blocks
· Multiple Catch Statements
· Finally Block
· Throwing Custom Exceptions
· Using Exceptions for Debugging
11. Multithreaded Programming
· Thread Lifecycle
· Creating Threads (Extending Thread/Implementing Runnable)
· Thread Methods and Exceptions
· Synchronization
· Thread Priorities
12. Applet Programming
· Applets vs Applications
· Applet Lifecycle
· Writing and Running Applets
· HTML Integration and Applet Tags
· Passing Parameters
· Input from Users
· Displaying Output
13. Graphics and GUI Programming
· Graphics Class
· Drawing Lines, Rectangles, Circles, Polygons
· Bar Charts, Line Graphs, Arcs
· Basics of GUI Design
· AWT Components and Layout Managers
· Menus, Containers
· Swing Components
· Using `java.util` and Collections (e.g., Map)
14. File Input/Output and Stream Handling
· Java I/O Streams Overview
· Byte and Character Streams
· File Class
· Reading/Writing Bytes and Characters
· Buffered Streams
· I/O Exceptions
· Handling Primitive Data
· Interactive Input and Output
15. Working with Relational Databases
· JDBC Concepts and Metadata
· Selecting Database Drivers
· Writing JDBC Programs
· Establishing Connections
· Executing Statements
- Module Team: Bugingo Emmanuel