Java Programming (CUCS1004)

Teacher

MR.SATYANARAYAN SAHU

Category

Core Courses

Course Attendees

Still no participant

Course Reviews

Still no reviews

Course Objectives

  • Introduce the Java programming language, its key features, and the principles of object-oriented programming (OOP).
  • Enable students to effectively utilize the Java Collections Framework, handle exceptions, and perform file input/output operations.
  • Guide students in developing multithreaded applications and establishing database connectivity using Java Database Connectivity (JDBC).

Course Outcomes (COs)

Upon successful completion of this course, students will be able to:

  • CO1: Recall the basic syntax, structure, and key features of the Java programming language. (Remembering)
  • CO2: Explain the core object-oriented programming concepts such as inheritance, encapsulation, polymorphism, and abstraction. (Understanding)
  • CO3: Apply Java Collections, exception handling mechanisms, and file I/O techniques in application development. (Applying)
  • CO4: Analyze and design multithreaded programs while addressing concurrency challenges. (Analyzing)
  • CO5: Develop and implement advanced Java applications incorporating multithreading, file handling, and JDBC. (Creating)

Module 1: Introduction to Java (15 hours)

Theory:

  • History, Features of Java
  • Setting up JDK and IDE
  • Basic Syntax, Data Types

Practice:

  • Experiment 1.1: Write a program to print "Hello, World!" in Java.
  • Experiment 1.2: Implement a program to demonstrate the use of variables and data types in Java.
  • Experiment 1.3: Develop a program to perform arithmetic operations in Java.
  • Experiment 1.4: Write a program to demonstrate the use of conditional statements in Java.
  • Experiment 1.5: Implement a program to demonstrate the use of loops in Java.
  • Experiment 1.6: Develop a program to perform string operations in Java.
  • Experiment 1.7: Write a program to demonstrate the use of arrays in Java.
  • Experiment 1.8: Implement a program to perform matrix operations in Java.

Module 2: Object-Oriented Programming in Java (15 hours)

Theory:

  • Classes, Objects, Constructors
  • Inheritance, Polymorphism, Encapsulation
  • Abstract Classes, Interfaces

Practice:

  • Experiment 2.1: Write a program to demonstrate the use of classes and objects in Java.
  • Experiment 2.2: Implement a program to demonstrate the use of constructors in Java.
  • Experiment 2.3: Develop a program to demonstrate the use of inheritance in Java.
  • Experiment 2.4: Write a program to demonstrate the use of polymorphism in Java.
  • Experiment 2.5: Implement a program to demonstrate the use of encapsulation in Java.
  • Experiment 2.6: Develop a program to demonstrate the use of abstract classes in Java.
  • Experiment 2.7: Write a program to demonstrate the use of interfaces in Java.
  • Experiment 2.8: Implement a program to demonstrate the use of inner classes in Java.

Module 3: Java Collections Framework (15 hours)

Theory:

  • Collections: List, Set, Map
  • Iterators, Enhanced For-Loop
  • Sorting and Searching Collections

Practice:

  • Experiment 3.1: Write a program to demonstrate the use of ArrayList in Java.
  • Experiment 3.2: Implement a program to demonstrate the use of LinkedList in Java.
  • Experiment 3.3: Develop a program to demonstrate the use of HashSet in Java.
  • Experiment 3.4: Write a program to demonstrate the use of TreeSet in Java.
  • Experiment 3.5: Implement a program to demonstrate the use of HashMap in Java.
  • Experiment 3.6: Develop a program to demonstrate the use of TreeMap in Java.
  • Experiment 3.7: Write a program to demonstrate the use of Iterator in Java.
  • Experiment 3.8: Implement a program to demonstrate the use of Comparator and Comparable in Java.

Module 4: Exception Handling and I/O (20 hours)

Theory:

  • Exception Handling Mechanisms
  • Types of Exceptions: Checked, Unchecked
  • File Handling: Reading, Writing, Serialization

Practice:

  • Experiment 4.1: Write a program to demonstrate the use of try-catch block in Java.
  • Experiment 4.2: Implement a program to demonstrate the use of multiple catch blocks in Java.
  • Experiment 4.3: Develop a program to demonstrate the use of nested try block in Java.
  • Experiment 4.4: Write a program to demonstrate the use of finally block in Java.
  • Experiment 4.5: Implement a program to demonstrate the use of throw and throws keyword in Java.
  • Experiment 4.6: Develop a program to read and write data to a file in Java.
  • Experiment 4.7: Write a program to demonstrate the use of BufferedReader and BufferedWriter in Java.
  • Experiment 4.8: Implement a program to demonstrate the use of FileInputStream and FileOutputStream in Java.

Module 5: Multithreading and Concurrency (15 hours)

Theory:

  • Threads: Creation, Management
  • Synchronization, Concurrency Utilities
  • Thread Pooling

Practice:

  • Experiment 5.1: Write a program to create a thread by extending Thread class in Java.
  • Experiment 5.2: Implement a program to create a thread by implementing Runnable interface in Java.
  • Experiment 5.3: Develop a program to demonstrate thread synchronization in Java.
  • Experiment 5.4: Write a program to demonstrate inter-thread communication in Java.
  • Experiment 5.5: Implement a program to demonstrate deadlock in Java.
  • Experiment 5.6: Develop a program to demonstrate thread pooling in Java.
  • Experiment 5.7: Write a program to demonstrate the use of Executors framework in Java.
  • Experiment 5.8: Implement a program to demonstrate the use of Callable and Future in Java.

Module 6: Advanced Java Basics (15 hours)

Theory:

  • Generics, Lambda Expressions, Stream API
  • Annotations, Reflection
  • Java Database Connectivity (JDBC)

Practice:

  • Experiment 6.1: Write a program to demonstrate the use of generics in Java.
  • Experiment 6.2: Implement a program to demonstrate the use of lambda expressions in Java.
  • Experiment 6.3: Develop a program to demonstrate the use of Stream API in Java.
  • Experiment 6.4: Write a program to demonstrate the use of annotations in Java.
  • Experiment 6.5: Implement a program to demonstrate the use of reflection in Java.
  • Experiment 6.6: Develop a program to connect to a database using JDBC in Java.
  • Experiment 6.7: Write a program to perform CRUD operations using JDBC in Java.
  • Experiment 6.8: Implement a program to demonstrate the use of PreparedStatement in Java.

Projects (22 hours)

  • Project 1: Library Management System
  • Project 2: E-commerce Application Backend
  • Project 3: Multithreaded Chat Application
Lect. No Points To Covered Methodology/Activities
1 History,Features of Java Lecture with interaction
https://www.scientecheasy.com/2021/03/what-is-java.html/
Video:
https://marcus-biel.com/java-course-introduction/
2 History,Features of Java Lecture with interaction
https://www.scientecheasy.com/2021/03/what-is-java.html/
Video:
https://marcus-biel.com/java-course-introduction/
3 Project Session Project
4 Experiment1.1:Write a program to print "Hello,World!" in Java. Practical
Experiment 1.2:Implement a program to demonstrate the use of variables and datatypes in Java.
Experiment1.3:Develop a program to perform arithmetic operations in Java.
Experiment1.4:Write a program to demonstrate the use of conditional statements in Java.
https://www.programiz.com/java-programming/examples
https://marketplace.visualstudio.com/items?itemName=GitHub.copilot
5 Experiment1.1:Write a program to print "Hello,World!" in Java. Practical
Experiment 1.2:Implement a program to demonstrate the use of variables and datatypes in Java.
Experiment1.3:Develop a program to perform arithmetic operations in Java.
Experiment1.4:Write a program to demonstrate the use of conditional statements in Java.
https://www.programiz.com/java-programming/examples
https://marketplace.visualstudio.com/items?itemName=GitHub.copilot
6 Project Session Project
7 Setting up JDK and IDE Lecture with interaction
https://www.scientecheasy.com/2020/07/download-java-development-kit.html/
Lecture, Demonstration (Eclipse IDE with Java 8)
8 Basic Syntax, DataTypes Lecture with interaction
https://www.scientecheasy.com/2020/06/data-types-in-java.html/
9 Experiment1.5:Implement a program to demonstrate the use of loops in Java. Practical
Experiment1.6:Develop a program to perform string operations in Java.
Experiment1.7:Write a program to demonstrate the use of arrays in Java.
Experiment1.8:Implement a program to perform matrix operations in Java.
https://marketplace.visualstudio.com/items?itemName=GitHub.copilot
10 Experiment1.5:Implement a program to demonstrate the use of loops in Java. Practical
Experiment1.6:Develop a program to perform string operations in Java.
Experiment1.7:Write a program to demonstrate the use of arrays in Java.
Experiment1.8:Implement a program to perform matrix operations in Java.
https://marketplace.visualstudio.com/items?itemName=GitHub.copilot
11
12 Project Session Project
13 Basic Syntax, DataTypes Lecture with interaction
https://www.scientecheasy.com/2020/06/data-types-in-java.html/
14 Classes, Objects, Constructors Lecture with interaction
https://www.scientecheasy.com/2020/07/java-classes-objects.html/
15 Project Session Project
16 Experiment2.1:Write a program to demonstrate the use of classes and objects in Java. Practical
Experiment2.2:Implement a program to demonstrate the use of constructors in Java.
Experiment2.3:Develop a program to demonstrate the use of inheritance in Java.
Experiment2.4:Write a program to demonstrate the use of polymorphism in Java.
https://marketplace.visualstudio.com/items?itemName=GitHub.copilot
17 Experiment2.1:Write a program to demonstrate the use of classes and objects in Java. Practical
Experiment2.2:Implement a program to demonstrate the use of constructors in Java.
Experiment2.3:Develop a program to demonstrate the use of inheritance in Java.
Experiment2.4:Write a program to demonstrate the use of polymorphism in Java.
https://marketplace.visualstudio.com/items?itemName=GitHub.copilot
18 Project Session Project
19 Classes, Objects, Constructors Lecture with interaction
https://www.scientecheasy.com/2020/07/java-classes-objects.html/
20 Inheritance, Polymorphism, Encapsulation Lecture with interaction
https://www.scientecheasy.com/2020/07/inheritance-in-java.html/
https://www.scientecheasy.com/2020/07/encapsulation-in-java.html/
21 Project Session Project
22 Experiment2.5:Implement a program to demonstrate the use of encapsulation in Java. Practical
Experiment2.6:Develop a program to demonstrate the use of abstract classes in Java.
Experiment2.7:Write a program to demonstrate the use of interfaces in Java.
Experiment2.8:Implement a program to demonstrate the use of inner classes in Java.
https://marketplace.visualstudio.com/items?itemName=GitHub.copilot
23 Experiment2.5:Implement a program to demonstrate the use of encapsulation in Java. Practical
Experiment2.6:Develop a program to demonstrate the use of abstract classes in Java.
Experiment2.7:Write a program to demonstrate the use of interfaces in Java.
Experiment2.8:Implement a program to demonstrate the use of inner classes in Java.
https://marketplace.visualstudio.com/items?itemName=GitHub.copilot
24 Project Session Project
25 Inheritance, Polymorphism, Encapsulation Lecture with interaction
https://www.scientecheasy.com/2020/07/inheritance-in-java.html/
https://www.scientecheasy.com/2020/07/encapsulation-in-java.html/
26 Abstract Classes, Interfaces Lecture with interaction
https://www.scientecheasy.com/2020/05/java-abstraction.html/
27 Project Session Project
28 Experiment2.5:Implement a program to demonstrate the use of encapsulation in Java. Practical
Experiment2.6:Develop a program to demonstrate the use of abstract classes in Java.
Experiment2.7:Write a program to demonstrate the use of interfaces in Java.
Experiment2.8:Implement a program to demonstrate the use of inner classes in Java.
29 Experiment2.5:Implement a program to demonstrate the use of encapsulation in Java. Practical
Experiment2.6:Develop a program to demonstrate the use of abstract classes in Java.
Experiment2.7:Write a program to demonstrate the use of interfaces in Java.
Experiment2.8:Implement a program to demonstrate the use of inner classes in Java.
30 Project Session Project
31 Collections: List, Set, Map Lecture with interaction
https://www.scientecheasy.com/2020/09/java-collections-framework.html/
32 Collections: List, Set, Map Lecture with interaction
https://www.scientecheasy.com/2020/09/java-collections-framework.html/
33 Project Session Project
34 Experiment3.1:Write a program to demonstrate the use of Array List in Java. Practical
Experiment3.2:Implement a program to demonstrate the use of Linked List in Java.
Experiment3.3:Develop a program to demonstrate the use of Hash Set in Java.
Experiment3.4:Write a program to demonstrate the use of Tree Set in Java.
https://marketplace.visualstudio.com/items?itemName=GitHub.copilot
35 Experiment3.1:Write a program to demonstrate the use of Array List in Java. Practical
Experiment3.2:Implement a program to demonstrate the use of Linked List in Java.
Experiment3.3:Develop a program to demonstrate the use of Hash Set in Java.
Experiment3.4:Write a program to demonstrate the use of Tree Set in Java.
https://marketplace.visualstudio.com/items?itemName=GitHub.copilot
36 Project Session Project
37 Iterators, Enhanced For-Loop Lecture with interaction
https://www.scientecheasy.com/2020/09/java-iterator.html/
38 Iterators, Enhanced For-Loop Lecture with interaction
https://www.scientecheasy.com/2020/09/java-iterator.html/
39 Project Session Project
40 Experiment3.5:Implement a program to demonstrate the use of Hash Map in Java. Practical
Experiment3.6:Develop a program to demonstrate the use of Tree Map in Java.
Experiment3.7:Write a program to demonstrate the use of Iterator in Java.
Experiment3.8:Implement a program to demonstrate the use of Comparator and Comparable in Java.
https://marketplace.visualstudio.com/items?itemName=GitHub.copilot
41 Experiment3.5:Implement a program to demonstrate the use of Hash Map in Java. Practical
Experiment3.6:Develop a program to demonstrate the use of Tree Map in Java.
Experiment3.7:Write a program to demonstrate the use of Iterator in Java.
Experiment3.8:Implement a program to demonstrate the use of Comparator and Comparable in Java.
https://marketplace.visualstudio.com/items?itemName=GitHub.copilot
42 Project Session Project
43 Sorting and Searching Collections Lecture with interaction
https://www.scientecheasy.com/2020/09/java-collections-framework.html/
44 Sorting and Searching Collections Lecture with interaction
https://www.scientecheasy.com/2020/09/java-collections-framework.html/
45 Project Session Project
46 Experiment4.1:Write a program to demonstrate the use of try-catch block in Java. Practical
Experiment4.2:Implement a program to demonstrate the use of multiple catch blocks in  Java.
Experiment4.3: Develop a program to demonstrate the use of nested try block in Java.
Experiment4.4:Write a program to demonstrate the use of finally block in Java.
https://marketplace.visualstudio.com/items?itemName=GitHub.copilot
47 Experiment4.1:Write a program to demonstrate the use of try-catch block in Java. Practical
Experiment4.2:Implement a program to demonstrate the use of multiple catch blocks in  Java.
Experiment4.3: Develop a program to demonstrate the use of nested try block in Java.
Experiment4.4:Write a program to demonstrate the use of finally block in Java.
https://marketplace.visualstudio.com/items?itemName=GitHub.copilot
48 Project Session Project
49 Exception handling mechanism Lecture with interaction
Types of Exceptions: Checked, Unchecked
https://www.scientecheasy.com/2020/08/exception-handling-in-java.html/
Video:
https://marcus-biel.com/checked-unchecked-exceptions-java/
50 Exception handling mechanism Lecture with interaction
Types of Exceptions: Checked, Unchecked
https://www.scientecheasy.com/2020/08/exception-handling-in-java.html/
Video:
https://marcus-biel.com/checked-unchecked-exceptions-java/
51 Project Session Project
52 Experiment 4.5:Implement a program to demonstrate the use of throw and throws keyword in  Java. Practical
Experiment4.6:Develop a program to read and write data to a file in Java.
Experiment4.7:Write a program to demonstrate the use of BufferedReader and BufferedWriter in Java.
Experiment4.8:Implement a program to demonstrate the use of FileInputStream and FileOutputStream in Java.
53 Experiment 4.5:Implement a program to demonstrate the use of throw and throws keyword in  Java. Practical
Experiment4.6:Develop a program to read and write data to a file in Java.
Experiment4.7:Write a program to demonstrate the use of BufferedReader and BufferedWriter in Java.
Experiment4.8:Implement a program to demonstrate the use of FileInputStream and FileOutputStream in Java.
https://marketplace.visualstudio.com/items?itemName=GitHub.copilot
54 Project Session Project
55 File Handling: Reading, Writing, Serialization Lecture with interaction
https://www.scientecheasy.com/2021/06/file-in-java.html/
56 File Handling: Reading, Writing, Serialization Lecture with interaction
https://www.scientecheasy.com/2021/06/file-in-java.html/
57 Project Session Project
58 Experiment5.1: Write a program to create a thread by extending Thread class in Java. Practical
Experiment5.2: Implement a program to create a thread by implementing Runnable interface in Java.
Experiment5.3: Develop a program to demonstrate thread synchronization in Java.
Experiment5.4: Write a program to demonstrate inter-thread communication in Java.
59 Experiment5.1: Write a program to create a thread by extending Thread class in Java. Practical
Experiment5.2: Implement a program to create a thread by implementing Runnable interface in Java.
Experiment5.3: Develop a program to demonstrate thread synchronization in Java.
Experiment5.4: Write a program to demonstrate inter-thread communication in Java.
60 Project Session Project
61 Threads: Creation, Management Lecture with interaction
https://www.scientecheasy.com/2020/08/java-thread-tutorial.html/
62 Threads: Creation, Management Lecture with interaction
https://www.scientecheasy.com/2020/08/java-thread-tutorial.html/
63 Project Session Project
64 Experiment5.5: Implement a program to demonstrate deadlock in Java. Practical
Experiment5.6: Develop a program to demonstrate thread pooling in Java.
Experiment5.7:Write a program to demonstrate the use of Executors framework in Java.
Experiment5.8: Implement a program to demonstrate the use of Callable and Future in Java.
65 Experiment5.5: Implement a program to demonstrate deadlock in Java. Practical
Experiment5.6: Develop a program to demonstrate thread pooling in Java.
Experiment5.7:Write a program to demonstrate the use of Executors framework in Java.
Experiment5.8: Implement a program to demonstrate the use of Callable and Future in Java.
66 Project Session Project
67 Synchronization ,Concurrency Utilities Lecture with interaction
Thread Pooling
https://www.scientecheasy.com/2020/08/java-thread-tutorial.html/
68 AWT: Container Lecture with interaction
Components
LayoutManagers
https://www.geeksforgeeks.org/java-awt-tutorial/
Video:
https://www.youtube.com/watch?v=UaenPz_ERVU
69 Project Session Project
70 Experiment6.1:Write a program to demonstrate the use of generics in Java. Practical
Experiment6.2:Implement a program to demonstrate the use of lambda expressions in Java.
Experiment6.3:Develop a program to demonstrate the use of StreamAPI in Java.
Experiment6.4:Write a program to demonstrate the use of annotations in Java.
71 Experiment6.1:Write a program to demonstrate the use of generics in Java. Practical
Experiment6.2:Implement a program to demonstrate the use of lambda expressions in Java.
Experiment6.3:Develop a program to demonstrate the use of StreamAPI in Java.
Experiment6.4:Write a program to demonstrate the use of annotations in Java.
72 Project Session Project
73 EventHandling Lecture with interaction
Introduction to Swing
Generics, LambdaExpressions, StreamAPIAnnotations, Reflection
JavaDatabaseConnectivity(JDBC)
https://www.geeksforgeeks.org/java-awt-tutorial/
Video:
https://www.youtube.com/watch?v=UaenPz_ERVU
74 Client-Server Communication Lecture with interaction
https://www.geeksforgeeks.org/java/remote-method-invocation-in-java/
Video:
https://www.youtube.com/watch?v=BqBKEXLqdvI
https://www.youtube.com/watch?v=-xKgxqG411c
75 Project Session Project
76  Experiment6.5:Implement a program to demonstrate the use of reflection in Java. Practical
Experiment6.6:Develop a program to connect to a database using JDBC in Java.
Experiment6.7:Write a program to perform CRUD operations using JDBC in Java.
Experiment6.8:Implement a program to demonstrate the use of PreparedStatement in Java.
77  Experiment7.1:Write a program for one way communication. Practical
Experiment7.2:Write a program for two way communication.
Experiment7.3:Write a program to implement RMI.
Experiment7.4:Write a program to implement TCP/IP protocol.
79 Project Session Project
80 Remote Method Invocation (RMI) Lecture with interaction
https://www.geeksforgeeks.org/java/remote-method-invocation-in-java/
Video:
https://www.youtube.com/watch?v=X-bL0S8b6C4
 Web resource:
https://mkyong.com/java/java-rmi-hello-world-example/
81 Remote Method Invocation (RMI) Lecture with interaction
https://www.geeksforgeeks.org/java/remote-method-invocation-in-java/
Video:
https://www.youtube.com/watch?v=X-bL0S8b6C4
 Web resource:
https://mkyong.com/java/java-rmi-hello-world-example/
82 Project Session Project
83 Client-Server Communication Lecture with interaction
https://www.geeksforgeeks.org/java/remote-method-invocation-in-java/
Video:
https://www.youtube.com/watch?v=BqBKEXLqdvI
https://www.youtube.com/watch?v=-xKgxqG411c
84 Remote Method Invocation (RMI) Lecture with interaction
https://www.geeksforgeeks.org/java/remote-method-invocation-in-java/
Video:
https://www.youtube.com/watch?v=X-bL0S8b6C4
 Web resource:
https://mkyong.com/java/java-rmi-hello-world-example/
COs PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12 PSO1 PSO2 PSO3
CO1 3 2 2 2 2 2
CO2 3 3 3 2 2 1 1 1
CO3 2 2 2 2 2
CO4 2 3 3 2 2 3 2
CO5 3 3 3 2 2 2 2 2

Our Main Teachers