Java Programming (4343203) - 42 Lecture Schedule#
GTU Semester 4 - 14 Weeks × 3 Lectures per Week
📊 Unit Time Allocation Analysis#
- Total Teaching Hours: 42 hours
- Unit 1: 8 hours → 8 lectures (Weeks 1-3)
- Unit 2: 11 hours → 11 lectures (Weeks 3-6)
- Unit 3: 11 hours → 11 lectures (Weeks 7-10)
- Unit 4: 6 hours → 6 lectures (Weeks 11-12)
- Unit 5: 6 hours → 6 lectures (Weeks 13-14)
🎯 Complete Lecture Schedule#
UNIT 1: Introduction to Java (8 Lectures)#
Week 1#
Lecture 1 - Java Introduction & History
- Slide Deck:
01-java-introduction.html - Content: Java overview, features, history, platform independence
- Key Diagrams: JVM compilation process diagram
Lecture 2 - Java Environment Setup & First Program
- Slide Deck:
01-java-introduction.html(continued) - Content: JDK, JRE, JVM architecture, setting up environment
- Lab Work: Installing JDK, writing Hello World program
Lecture 3 - Data Types & Variables
- Slide Deck:
02-data-types-variables.html - Content: Primitive vs reference types, variable declaration
- Key Diagrams: Data types hierarchy, array memory layout
Week 2#
Lecture 4 - Data Types Deep Dive
- Slide Deck:
02-data-types-variables.html(continued) - Content: Type conversion, casting, wrapper classes
- Lab Work: Variable declaration and initialization
Lecture 5 - Operators & Expressions
- Slide Deck:
03-operators-control-flow.html - Content: Arithmetic, relational, logical, bitwise operators
- Key Diagrams: Operator precedence visualization
Lecture 6 - Control Flow - Selection Statements
- Slide Deck:
03-operators-control-flow.html(continued) - Content: if-else, nested if, switch statements
- Key Diagrams: Control flow statements flowchart
Week 3#
Lecture 7 - Control Flow - Loops
- Slide Deck:
03-operators-control-flow.html(continued) - Content: for, while, do-while, enhanced for loops
- Lab Work: Loop programming exercises
Lecture 8 - Arrays & String Basics
- Slide Deck:
02-data-types-variables.html(arrays section) - Content: 1D arrays, 2D arrays, array methods
- Lab Work: Array manipulation programs
UNIT 2: Object-Oriented Programming Fundamentals (11 Lectures)#
Week 3 (continued)#
Lecture 9 - OOP Concepts Introduction
- Slide Deck:
04-oop-fundamentals.html - Content: Classes, objects, encapsulation, abstraction
- Key Diagrams: OOP concepts visualization
Week 4#
Lecture 10 - Classes & Objects
- Slide Deck:
04-oop-fundamentals.html(continued) - Content: Class definition, object creation, instance variables
- Lab Work: Creating simple classes
Lecture 11 - Constructors & Methods
- Slide Deck:
04-oop-fundamentals.html(continued) - Content: Constructor types, method overloading
- Key Diagrams: Constructor types comparison
Lecture 12 - Access Modifiers & Encapsulation
- Slide Deck:
05-modifiers-strings.html - Content: public, private, protected, default access
- Key Diagrams: Access modifiers scope visualization
Week 5#
Lecture 13 - String Handling
- Slide Deck:
05-modifiers-strings.html(continued) - Content: String class, immutability, String methods
- Key Diagrams: String memory manipulation
Lecture 14 - Static Members & Final Keyword
- Slide Deck:
05-modifiers-strings.html(continued) - Content: Static variables, methods, final keyword
- Lab Work: Static member usage examples
Lecture 15 - Inheritance Fundamentals
- Slide Deck:
06-inheritance-polymorphism.html - Content: extends keyword, super keyword, IS-A relationship
- Key Diagrams: Inheritance & polymorphism relationships
Week 6#
Lecture 16 - Method Overriding & Polymorphism
- Slide Deck:
06-inheritance-polymorphism.html(continued) - Content: @Override annotation, dynamic method dispatch
- Key Diagrams: Method overriding vs overloading comparison
Lecture 17 - Abstract Classes & Methods
- Slide Deck:
07-interfaces-abstract-classes.html - Content: abstract keyword, abstract classes vs concrete classes
- Lab Work: Abstract class implementation
Lecture 18 - Interfaces & Multiple Inheritance
- Slide Deck:
07-interfaces-abstract-classes.html(continued) - Content: Interface definition, implements keyword, multiple inheritance
- Key Diagrams: Interface vs abstract class comparison
Lecture 19 - Packages & Access Control
- Slide Deck:
08-packages-access-control.html - Content: Package creation, import statements, CLASSPATH
- Lab Work: Creating and using packages
UNIT 3: Advanced Java Concepts (11 Lectures)#
Week 7#
Lecture 20 - Exception Handling Introduction
- Slide Deck:
09-exception-handling.html - Content: Exception hierarchy, try-catch-finally
- Key Diagrams: Exception hierarchy complete
Lecture 21 - Exception Handling Deep Dive
- Slide Deck:
09-exception-handling.html(continued) - Content: Checked vs unchecked exceptions, custom exceptions
- Lab Work: Exception handling programs
Lecture 22 - Multithreading Fundamentals
- Slide Deck:
10-multithreading.html - Content: Thread class, Runnable interface, thread creation
- Key Diagrams: Thread lifecycle complete
Week 8#
Lecture 23 - Thread Synchronization
- Slide Deck:
10-multithreading.html(continued) - Content: synchronized keyword, thread communication
- Lab Work: Thread synchronization examples
Lecture 24 - File Handling - Streams
- Slide Deck:
11-file-handling.html - Content: InputStream, OutputStream, byte streams
- Key Diagrams: File I/O streams hierarchy
Lecture 25 - File Handling - Character Streams
- Slide Deck:
11-file-handling.html(continued) - Content: Reader, Writer classes, text file operations
- Lab Work: File read/write programs
Week 9#
Lecture 26 - Serialization & Object I/O
- Slide Deck:
11-file-handling.html(continued) - Content: ObjectInputStream, ObjectOutputStream, Serializable
- Lab Work: Object serialization examples
Lecture 27 - Collections Framework - Overview
- Slide Deck:
12-collections-framework.html - Content: Collection hierarchy, List, Set, Map interfaces
- Key Diagrams: Collections framework complete hierarchy
Lecture 28 - Collections Framework - List Implementations
- Slide Deck:
12-collections-framework.html(continued) - Content: ArrayList, LinkedList, Vector comparison
- Lab Work: List operations and performance
Week 10#
Lecture 29 - Collections Framework - Set & Map
- Slide Deck:
12-collections-framework.html(continued) - Content: HashSet, TreeSet, HashMap, TreeMap
- Lab Work: Set and Map implementations
Lecture 30 - Advanced Collections & Generics
- Slide Deck:
12-collections-framework.html(continued) - Content: Generics, type safety, wildcards
- Lab Work: Generic collection programs
UNIT 4: Advanced Features & Best Practices (6 Lectures)#
Week 11#
Lecture 31 - Wrapper Classes & Autoboxing
- Slide Deck:
14-wrapper-classes-advanced.html - Content: Integer, Double, Boolean classes, autoboxing/unboxing
- Key Diagrams: Wrapper classes autoboxing diagram
Lecture 32 - Inner Classes & Anonymous Classes
- Slide Deck:
14-wrapper-classes-advanced.html(continued) - Content: Nested classes, local classes, anonymous classes
- Key Diagrams: Inner classes hierarchy
Lecture 33 - Memory Management & Garbage Collection
- Slide Deck:
01-java-introduction.html(GC section) + Memory Model - Content: Heap structure, GC process, memory tuning
- Key Diagrams: Java Memory Model, Garbage collection process
Week 12#
Lecture 34 - Command Line Arguments & System Properties
- Slide Deck:
14-wrapper-classes-advanced.html(continued) - Content: main method args, System.getProperty()
- Lab Work: Command line programs
Lecture 35 - Programming Best Practices
- Slide Deck:
13-programming-examples.html - Content: Code organization, naming conventions, error handling
- Lab Work: Refactoring exercises
Lecture 36 - Design Patterns Introduction
- Slide Deck:
13-programming-examples.html(continued) - Content: Singleton, Factory, Observer patterns
- Lab Work: Simple design pattern implementations
UNIT 5: Practical Applications & Project Work (6 Lectures)#
Week 13#
Lecture 37 - Complete Project Example - Banking System
- Slide Deck:
13-programming-examples.html(banking section) - Content: Object-oriented design, class relationships
- Lab Work: Banking system implementation part 1
Lecture 38 - Project Implementation - Data Management
- Slide Deck:
13-programming-examples.html(continued) - Content: File persistence, exception handling in projects
- Lab Work: Banking system implementation part 2
Lecture 39 - Project Implementation - Threading & Collections
- Slide Deck:
13-programming-examples.html(continued) - Content: Multi-user scenarios, thread safety
- Lab Work: Banking system implementation part 3
Week 14#
Lecture 40 - Testing & Debugging
- Slide Deck:
13-programming-examples.html(testing section) - Content: JUnit basics, debugging techniques
- Lab Work: Writing unit tests
Lecture 41 - Code Review & Optimization
- Slide Deck:
13-programming-examples.html(continued) - Content: Code quality metrics, performance optimization
- Lab Work: Project optimization
Lecture 42 - Course Review & Future Directions
- Slide Deck: Summary of all concepts + Future topics
- Content: Complete course recap, advanced Java topics preview
- Assessment: Final project presentations
📚 Slide Deck Mapping to Lectures#
Primary Slide Decks (14 total)#
01-java-introduction.html→ Lectures 1-2, 3302-data-types-variables.html→ Lectures 3-4, 803-operators-control-flow.html→ Lectures 5-704-oop-fundamentals.html→ Lectures 9-1105-modifiers-strings.html→ Lectures 12-1406-inheritance-polymorphism.html→ Lectures 15-1607-interfaces-abstract-classes.html→ Lectures 17-1808-packages-access-control.html→ Lecture 1909-exception-handling.html→ Lectures 20-2110-multithreading.html→ Lectures 22-2311-file-handling.html→ Lectures 24-2612-collections-framework.html→ Lectures 27-3013-programming-examples.html→ Lectures 35-4214-wrapper-classes-advanced.html→ Lectures 31-34
Key Visual Diagrams Integration#
- 20+ Professional SVG Diagrams strategically placed across lectures
- Performance comparison tables for collections and algorithms
- Memory management visualizations for advanced concepts
- Complete code examples with real-world applications
⚡ Learning Progression Strategy#
Foundation Building (Weeks 1-3)#
- Core Java syntax and basic programming concepts
- Hands-on lab work with simple programs
OOP Mastery (Weeks 4-6)#
- Object-oriented principles and design
- Practical implementation of OOP concepts
Advanced Concepts (Weeks 7-10)#
- Complex programming paradigms
- Real-world problem solving
Specialization (Weeks 11-12)#
- Advanced Java features and best practices
- Performance optimization techniques
Application (Weeks 13-14)#
- Complete project development
- Professional development practices
🎯 Assessment Integration#
- Weekly Lab Assignments: Practical programming exercises
- Mid-term Examination: After Unit 2 completion (Week 7)
- Final Project: Banking/E-commerce system (Weeks 13-14)
- Final Examination: Comprehensive coverage (Week 15)
📖 Resource Utilization#
- Interactive Slide Decks: All 14 comprehensive presentations
- Visual Learning Aids: 20+ professional diagrams and flowcharts
- Hands-on Labs: 42 practical programming exercises
- Real-world Examples: Complete application implementations
This schedule ensures optimal coverage of all Java programming concepts while maintaining practical engagement through the 14-week semester.

