University of Global Village (UGV), Barishal.
Lesson Plan: CSE Lab Courses
Course Name Java Programming
Course Code CSE
Semester 6th
Course Level 01
Supervisor Md. Minhaj Ul Islam
Instructor/Assistant _________________
Lesson Lesson Title Lesson Details Remarks
No
1. Demonstrate a strong Learn the basics of Java programming,
understanding of Java including syntax, variable declaration, data
fundamentals, including types, and how Java handles memory.
syntax, variables, data
types.
2. Explore control structures: Understand how to control program flow
if-else, switch statements, using conditional statements and loops such
and loops (while, for). as if-else, switch-case, while, and for loops.
3. Arrays in Java: Learn how to declare and initialize arrays,
Declaration, initialization, access elements, modify values, and
and operations. perform basic operations like iteration and
sorting.
4. Arrays in Java: Explore multi-dimensional arrays, array
Declaration, initialization, manipulation techniques, and built-in Java
and operations. methods for working with arrays efficiently.
5. Recursion in Java: Understand the concept of recursion, how to
Concepts, implement recursive functions, and analyze
implementation, and use real-world scenarios where recursion is
cases. beneficial.
6. Recursion in Java: Dive deeper into recursion with
Concepts, backtracking, tail recursion, and
University of Global Village (UGV), Barishal.
implementation, and use optimization techniques to improve
cases.. performance and avoid stack overflow.
7. Java dates, math Learn how to manipulate dates, perform
operations, and random mathematical calculations using Java’s
number generation. Math class, and generate random numbers
for various applications.
8. Exception handling in Understand error handling using try-catch
Java: Try-catch, finally, blocks, the role of finally, and how to create
and custom exceptions. and manage custom exceptions for robust
applications.
9. Multithreading: Creating Explore Java’s multithreading capabilities,
and managing threads, how to create and manage threads, and
synchronization, and handle synchronization and concurrency
concurrency. issues.
10. Multithreading: Creating Learn about thread pools, deadlock
and managing threads, prevention, and parallel programming
synchronization, and techniques to optimize performance in
concurrency. multi-threaded applications.
11. Java algorithms: Sorting Understand common sorting (bubble,
(basic and advanced) and merge, quicksort) and searching (linear,
searching techniques. binary search) algorithms and their time
complexity analysis.
12. Lambda expressions and Learn how to use lambda expressions for
streams: Concepts, concise coding and explore the Java Stream
implementation, and API for efficient data processing.
practical use cases.
13. Working with user input: Understand how to read user input via the
Scanner class, file I/O, Scanner class, handle file operations using
and data processing. Java I/O, and process data effectively.
14. Working with user input: Work with advanced file operations,
Scanner class, file I/O, serialization, deserialization, and handling
and data processing. large datasets efficiently in Java
applications.
15. Advanced OOP: Deep dive into OOP concepts, including
Constructors, modifiers, access modifiers, constructors,
University of Global Village (UGV), Barishal.
encapsulation, and encapsulation, inheritance, and their real-
inheritance. world applications.
16. Advanced OOP: Learn advanced OOP techniques such as
Constructors, modifiers, polymorphism, abstraction, interfaces, and
encapsulation, and method overriding for clean and scalable
inheritance. code.
17. Final project development Apply all learned concepts to build a real-
and deployment. world Java application, covering design,
implementation, testing, and deployment
strategies.