Java Programming Syllabus
Course Overview:
This course introduces Java programming, focusing on fundamental programming concepts,
object-oriented principles, and core Java libraries. The course will also cover advanced topics
like multithreading, Java collections, networking, and JavaFX for GUI development.
Week 1: Introduction to Java
Topics:
o Overview of Java Language and Platform
o Features of Java: Object-Oriented, Platform-Independent, Robust, Secure
o Java Development Kit (JDK) and Integrated Development Environment (IDE)
o Writing, Compiling, and Running Java Programs
o Structure of a Java Program: Main Method, Classes, and Methods
o Primitive Data Types, Variables, and Constants
Reading:
o Chapter 1-2 of Head First Java by Kathy Sierra and Bert Bates
Week 2: Control Flow and Data Types
Topics:
o Conditional Statements: if, else, switch
o Loops: for, while, do-while
o Break and Continue Statements
o Arrays: Declaring, Initializing, and Accessing Elements
o String Handling in Java (String class, StringBuilder, StringBuffer)
o Java Autoboxing and Unboxing
Reading:
o Chapter 3-5 of Head First Java by Kathy Sierra and Bert Bates
Week 3: Object-Oriented Programming Concepts
Topics:
o Introduction to Object-Oriented Programming (OOP)
o Classes and Objects: Creation and Initialization
o Methods: Method Overloading, Return Types, Method Parameters
o Constructors: Default and Parameterized
o The "this" Keyword and "static" Keyword
o Encapsulation: Access Modifiers (public, private, protected, default)
Reading:
o Chapter 6-8 of Head First Java by Kathy Sierra and Bert Bates
Week 4: Inheritance and Polymorphism
Topics:
o Understanding Inheritance: Extending Classes
o Method Overriding and Super Keyword
o Constructor Inheritance
o Polymorphism: Compile-time and Runtime Polymorphism
o Abstract Classes and Methods
o Interfaces and their Implementation
Reading:
o Chapter 9-11 of Head First Java by Kathy Sierra and Bert Bates
Week 5: Exception Handling
Topics:
o What is an Exception? Types of Exceptions (Checked and Unchecked)
o try-catch Block and Multiple Catch Blocks
o throw and throws Keywords
o Custom Exceptions: Creating User-defined Exceptions
o Finally Block
o Exception Chaining
Reading:
o Chapter 12 of Head First Java by Kathy Sierra and Bert Bates
Week 6: Java Collections Framework
Topics:
o Introduction to Collections in Java
o List Interface: ArrayList, LinkedList
o Set Interface: HashSet, TreeSet
o Map Interface: HashMap, TreeMap
o Iterators: Using Iterator and ListIterator
o Generic Types in Collections
o Sorting and Searching in Collections
Reading:
o Chapter 14 of Head First Java by Kathy Sierra and Bert Bates
o Java Collections Framework API Documentation
Lab:
o Implement examples with ArrayList, HashMap, and TreeSet
Week 7: File Handling and I/O Streams
Topics:
o Reading and Writing Files in Java
o File Class: Creating, Deleting, and Checking Files
o Byte and Character Streams
o Buffered Streams: BufferedReader, BufferedWriter
o Serialization: Writing and Reading Objects
o Exception Handling in File I/O
Reading:
o Chapter 15 of Head First Java by Kathy Sierra and Bert Bates
Lab:
o Implement file operations: read, write, and serialize objects
Week 8: Multithreading
Topics:
o Introduction to Threads and Processes
o Creating Threads: Extending Thread and Implementing Runnable
o Synchronization in Java (synchronized keyword)
o Thread Lifecycle and Thread States
o Thread Communication: wait(), notify(), notifyAll()
o Executor Framework
Reading:
o Chapter 16 of Head First Java by Kathy Sierra and Bert Bates
Lab:
o Implement a simple multithreaded application
Week 9: GUI Development with JavaFX
Topics:
o Introduction to JavaFX: Building Rich GUI Applications
o JavaFX Components: Buttons, Labels, TextFields, etc.
o Event Handling: ActionEvents, Event Listeners
o Layouts: VBox, HBox, BorderPane, GridPane
o Scene and Stage in JavaFX
o MVC Pattern for JavaFX Applications
Reading:
o JavaFX: Introduction by Example (various online resources and documentation)
Lab:
o Create a simple JavaFX application with basic GUI elements
Week 10: Java Database Connectivity (JDBC)
Topics:
o Introduction to JDBC and Database Connectivity
o Connecting to a Database (MySQL/SQLite)
o Executing SQL Queries using JDBC
o PreparedStatement vs Statement
o ResultSet: Retrieving and Processing Data
o Transactions and Connection Pooling
Reading:
o JDBC API Documentation and online resources
Lab:
o Implement a small application that interacts with a database (CRUD operations)
Week 11: Lambda Expressions and Functional Programming
Topics:
o Introduction to Lambda Expressions
o Functional Interfaces and the @FunctionalInterface Annotation
o Using Lambda Expressions with Java Collections (Streams API)
o Method References
o Stream Operations: map, filter, reduce
o Parallel Streams in Java
Reading:
o Chapter 18 of Head First Java by Kathy Sierra and Bert Bates
Lab:
o Implement functional-style programming with Streams and Lambda Expressions
Week 12: Advanced Java Concepts and Project
Topics:
o Design Patterns in Java (Singleton, Factory, Observer)
o Java Reflection API
o Annotations and their Use Cases
o Java 8 Features Overview: Default Methods, Optional, etc.
o Memory Management and Garbage Collection
Lab:
o Final Project: Build a complete application incorporating Java fundamentals and
advanced concepts