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