Course Plan
A. Course Handout (Version 1.0)
Institute/School Name Chitkara University Institute of Engineering and Technology
Department Name Department of Computer Science & Engineering
Programme Name Bachelor of Engineering (B.E.), Computer Science & Engineering
Course Name Programming in JAVA Session 2024-2025
Course Code 23CS005 Semester/Batch 4th /2023
L-T-P (Per Week) 2-0-4 Course Credits 04
Basic knowledge of Computer related to
Pre-requisite NHEQF Level 05
programming.
Course Coordinator Dr. Shikha SDG Number 1,2,9
CLO01 Implement the concept of object-oriented techniques and methodologies using Java.
Develop reusable programs using the concepts of inheritance, polymorphism, interfaces and
CLO02
packages.
CLO03 Use Exception Handling concepts for a Robust Application in Java.
CLO04 Ability to work with Utilities and I/O Streams
CLO05 Design event driven GUI and web related applications which mimic the real word scenarios.
1. Objectives of the Course
The course provides a wide scope of learning & understanding of the subject. It has been designed to provide
students the practical ability in Java language, which can be used for system programming and as an
application language. The main objectives of the course are:
To apply the concepts of object-oriented paradigm to analyse real life problems
To develop efficient solutions for logical problems using JAVA language.
Exercise and reinforce prior programming knowledge to effectively code standard problem.
To identify and remove bugs in a JAVA program.
2. Course Learning Outcomes
After completion of the course, the student should be able to:
Course Outcome POs CL KC Sessions
Implement the concept of object-
CLO01 oriented techniques and PO2, PO5, PO8, PO12 K1, K2 Factual 25
methodologies using Java. Conceptual
Develop reusable programs using the
concepts of inheritance, Procedural
CLO02 PO1, PO3, PO5, PO11 40
polymorphism, interfaces and K3, K4 Conceptual
packages.
Use Exception Handling concepts for Conceptual
CLO03 PO4, PO6, PO10 K3 20
a Robust Application in Java. Procedural
Ability to work with Utilities and I/O Conceptual
CLO04 PO5, PO6, PO7, PO11 K4, K5 30
Streams Procedural
Design event driven GUI and web
CLO05 related applications which mimic the PO4, PO6, PO9, PO10 K3, K4 Conceptual 35
real word scenarios. Procedural
Programming in JAVA / 23CS005 Page 1 of 9
Course Plan
Revised Bloom’s Taxonomy Terminology
* PO’s available at (shorturl.at/cryzF)
**Cognitive Level =CL
***Knowledge Categories = KC
Course PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
Learning
Outcomes
CLO01 M H M M
CLO02 H M M L
CLO03 H M M
CLO04 M H H L
CLO05 M M H M
H=High, M=Medium, L=Low
3. ERISE Grid Mapping
Feature Enablement Level (1-5, 5 being highest)
Entrepreneurship 4
Research 3
Innovation 3
Skills 5
Employability 5
4. Recommended Books:
BO1: Herbert Schildt, Java A Beginner’s Guide Ninth Edition, Mc Graw Hill, 2022.
BO2: Farrell, J., Java programming. Course Technology Press, 2022.
BO3: Horstmann, C. S., Core Java for the impatient. Pearson Education, 2023.
BO4: Herbert Schildt, Java The Complete Reference, Thirteenth Edition, Mc Graw Hill, 2023.
BO5: Randal E. Bryant and David R. O’Hallaron, Computer Systems: A Programmer’s Perspective,
3rd edition, Pearson.
Other readings and relevant websites:
Serial No Link of Journals, Magazines, websites and Research Papers
1. https://www.javatpoint.com/java-tutorial
2. https://www.geeksforgeeks.org/java/?ref=lbp
3. http://www.nptelvideos.com/java
4. https://www.udemy.com/course/java-tutorial/
5. https://www.youtube.com/watch?v=CFD9EFcNZTQ
5. Recommended Tools and Platforms
Visual Studio Code
Programming in JAVA / 23CS005 Page 2 of 9
Course Plan
6. Course Plan:
Lecture Topics Text Book
Number
1 History and features of Java, Java Virtual Machine (JVM), JRE and JDK BO1-Chapter1
Compiling and Interpreting Java Programs, Understanding (public static
2-3 BO1-Chapter2
void main (String [] args) method Command Line Arguments
BO2-Chapter2
Java Basics: Identifiers, Keywords, Java Data Types & Operators
4-5 Control Statements: Decision Constructs, Using Loop Constructs, Jump BO1-Chapter3
Statements e.g. break, continue and return BO2-Chapter6
6-7 Working with Arrays: Creating and Using Arrays (1D, 2D, BO1-Chapter5
Multidimensional), Jagged Arrays and practice problems BO2-Chapter8
Strings, StringBuffer, StringBuilder & StringTokenizer: Difference
between Character Array and String in Java, Creating Strings, Immutable
8-9 BO1-Chapter5
property of String, Methods of String class, String Buffer class &
BO2-Chapter7
StringBuilder class, toString method, String Tokenizer class Practice
Problems involving all String Classes
ST1
Classes & Objects: Defining Classes, Access Control, Constructing Objects
10-12 BO1-Chapter6
through Constructors, Default constructors, Parameterized constructors,
BO2-Chapter4
Copy constructors, Wrapper Classes
Class variables (static keyword), Instance variables and methods, this
BO1-Chapter6
13-14 keyword, Method overloading (Constructor overloading), Practice
BO2-Chapter3
Problems
15-16 Inheritance: Working with Inheritance: Inheritance Basics & Types, using BO1-Chapter7
super, Method Overriding, Practice Problems BO2-Chapter9
17-18 Implementing Polymorphism, Dynamic method dispatch, final keyword,
BO1-Chapter1
Examples
19 Abstract Methods & Abstract Classes, Examples BO1-Chapter7
ST2
20-21 Packages & Interfaces: Built-In Packages and User Defined Packages, BO1-Chapter8
Creating and accessing Packages and their classes BO2-Chapter9
Interfaces: Declaration, Implementation, Difference between Abstract
22-23 classes and interfaces, Extending Interfaces, implementing multiple BO1-Chapter8
inheritance using interfaces
Exception Handling: Exception handling fundamentals, Exception types,
24-25 BO1-Chapter9
try and catch, Multiple catch clauses, nested try, throw, throws and
BO2-Chapter10
finally, Creating custom Exceptions, Practice Problems
26 Java Utilities: Regular Expressions (java.util.regex), Practice Problems BO3-Chapter9
27 Java Utilities: Enum, Examples BO1-Chapter12
28 Java Utilities: Annotations, Examples BO1-Chapter12
29 Java Utilities: Data and Time API, Random class BO3-Chapter12
File I/O and Serialization, Reading and writing files, File class and its BO1-Chapter10
30 methods Byte and character streams, Object serialization and BO2-Chapter11
deserialization
7. Delivery/Instructional Resources
Lecture
Topics Web References Audio-Video
No.
https://www.javatpoint.com
1 History and features of Java, Java https://www.youtube.com/w
/difference-between-jdk-jre-
Virtual Machine (JVM), JRE and JDK atch?v=s7UgQ7_1KQY
and-jvm
Programming in JAVA / 23CS005 Page 3 of 9
Course Plan
Compiling and Interpreting Java https://www.youtube.com/w
Programs, Understanding (public https://www.javatpoint.com atch?v=kt3wUPIDkx4&pp=yg
2-3 static void main (String [] args) /command-line-argument UyY29tcGlsaW5nIGFuZCBpbn
method Command Line Arguments https://www.geeksforgeeks. RlcnByZXRpbmcgamF2YSBwc
Java Basics: Identifiers, Keywords, org/data-types-in-java/ m9ncmFtcyBpbiB2c2NvZGU%
Java Data Types & Operators 3D
Control Statements: Decision https://www.youtube.com/w
Constructs, Using Loop Constructs, https://www.geeksforgeeks. atch?v=XHgC6Md8L9o&list=P
4-5
Jump Statements e.g. break, org/loops-in-java/?ref=lbp Lu0W_9lII9agS67Uits0UnJyrYi
continue and return XhDS6q&index=23&pp=iAQB
https://www.youtube.com/w
Working with Arrays: Creating and
atch?v=CfqjAKN-
6-7 Using Arrays (1D, 2D, https://www.geeksforgeeks.
AwI&list=PLu0W_9lII9agS67U
Multidimensional), Jagged Arrays org/arrays-in-java/?ref=lbp
its0UnJyrYiXhDS6q&index=28
and practice problems
&pp=iAQB
Strings, StringBuffer, StringBuilder &
StringTokenizer: Difference between
Character Array and String in Java, https://www.youtube.com/w
Creating Strings, Immutable property https://www.geeksforgeeks. atch?v=tem1bKt2Osc&list=PL
8-9 of String, Methods of String class, org/strings-in-java/?ref=lbp u0W_9lII9agS67Uits0UnJyrYi
String Buffer class & StringBuilder XhDS6q&index=13&pp=iAQB
class, toString method, String
Tokenizer class Practice Problems
involving all String Classes
Classes & Objects: Defining Classes,
Access Control, Constructing Objects https://www.youtube.com/w
https://www.geeksforgeeks.
10-12 through Constructors, Default atch?v=VXR3HKRg51w&list=P
org/methods-in-
constructors, Parameterized Lu0W_9lII9agS67Uits0UnJyrYi
java/?ref=dhm
constructors, Copy constructors, XhDS6q&index=35&pp=iAQB
Wrapper Classes
Class variables (static keyword), https://www.youtube.com/w
Instance variables and methods, this https://www.geeksforgeeks. atch?v=j-k6ppZZ-
13-14 keyword, Method overloading org/constructor- ho&list=PLu0W_9lII9agS67Uit
(Constructor overloading), Practice overloading-java/ s0UnJyrYiXhDS6q&index=113
Problems &pp=iAQB
Inheritance: Working with https://www.geeksforgeeks. https://www.youtube.com/w
15-16 Inheritance: Inheritance Basics & org/inheritance-and- atch?v=XSuybcFfLx4&list=PLu
Types, using super, Method constructors-in- 0W_9lII9agS67Uits0UnJyrYiX
Overriding, Practice Problems java/?ref=lbp hDS6q&index=45&pp=iAQB
https://www.geeksforgeeks. https://www.youtube.com/w
Implementing Polymorphism,
org/difference-between- atch?v=08u8RlXca2I&list=PLu
17-18 Dynamic method dispatch, final
inheritance-and- 0W_9lII9agS67Uits0UnJyrYiX
keyword, Examples
polymorphism/?ref=lbp hDS6q&index=59&pp=iAQB
https://www.geeksforgeeks. https://www.youtube.com/w
19 Abstract Methods & Abstract Classes, org/abstract-keyword-in- atch?v=vqV22AszAdw&list=P
Examples java/?ref=lbp Lu0W_9lII9agS67Uits0UnJyrYi
XhDS6q&index=53&pp=iAQB
Packages & Interfaces: Built-In https://www.geeksforgeeks. https://www.youtube.com/w
Packages and User Defined Packages, org/packages-in- atch?v=QjwtW7GHjcY&list=P
20-21
Creating and accessing Packages and java/?ref=lbp Lu0W_9lII9agS67Uits0UnJyrYi
their classes XhDS6q&index=68&pp=iAQB
Interfaces: Declaration, https://www.geeksforgeeks.org
https://www.youtube.com/w
22-23 Implementation, Difference between /functional-interfaces-
atch?v=D4TYED_gKTE&list=PL
Abstract classes and interfaces, java/?ref=lbp
Programming in JAVA / 23CS005 Page 4 of 9
Course Plan
Extending Interfaces, implementing u0W_9lII9agS67Uits0UnJyrYi
multiple inheritance using interfaces XhDS6q&index=57&pp=iAQB
Exception Handling: Exception
handling fundamentals, Exception https://www.youtube.com/w
types, try and catch, Multiple catch https://www.geeksforgeeks.org atch?v=ZovnoASlIaE&list=PLu
24-25
clauses, nested try, throw, throws /exceptions-in-java/?ref=lbp 0W_9lII9agS67Uits0UnJyrYiX
and finally, Creating custom hDS6q&index=78&pp=iAQB
Exceptions, Practice Problems
https://www.youtube.com/w
https://www.geeksforgeeks.org
Java Utilities: Regular Expressions atch?v=F4jj36I6FSU&list=PLm
26 /regular-expressions-in-
(java.util.regex), Practice Problems CsXDGbJHdiISq8PkM-
java/?ref=lbp
xFPnR2BIYEa9R
https://www.youtube.com/w
https://www.geeksforgeeks.org atch?v=CKfZ45TtkbI&list=PLm
27 Java Utilities: Enum, Examples
/enum-in-java/ CsXDGbJHdjWNC0-
_C0w3n9aRedEPe1j
https://www.youtube.com/w
https://www.geeksforgeeks. atch?v=xdIeqrmgqDc&list=PL
28 Java Utilities: Annotations, Examples
org/annotations-in-java/ mCsXDGbJHdj8WqMEAkALvP
UkVwQj-bwl
https://www.geekster.in/art
icles/date-and-api-in-java- https://www.youtube.com/w
Java Utilities: Data and Time API, 8/#:~:text=Java%208%20Dat atch?v=PCJRuBQa4Pk&list=PL
29 Random class e%20and%20Time%20API% u0W_9lII9agS67Uits0UnJyrYi
20also%20provide%20vario XhDS6q&index=96&pp=iAQB
us%20utility,()%20%2C%20is
After()%20%2C%20etc.
https://www.geeksforgeeks.
File I/O and Serialization, Reading org/java-io-input-output-in- https://www.youtube.com/w
and writing files, File class and its java-with- atch?v=Vy2l3lGAb2I&list=PLu
30 methods Byte and character streams, examples/?ref=lbp 0W_9lII9agS67Uits0UnJyrYiX
Object serialization and https://www.geeksforgeeks. hDS6q&index=111&pp=iAQB
deserialization org/file-class-in-
java/?ref=lbp
8. Lab Plan
Sr. No. Lab Number Experiments Learning Resource
Setting UP Java Environment for
(MacOS/Windows/Linux), Working on
https://code.visualstudio.com/docs/java/jav
Integrated Development Environment
1 1-4 a-tutorial
(IDE)-
clipse/IntelliJIdea/NetBeans/Visual
Studio Code
Practice Problems covering All Java https://www.geeksforgeeks.org/operators-
2 5-15
Operators in-java/?ref=lbp
Practice Problems using loops, Nested
https://www.programiz.com/java-
3 16-25 Loops and conditional Statements,
programming/nested-loop
involving patterns
https://www.youtube.com/watch?v=CfqjAK
N-
4 26-32 Working with Arrays
AwI&list=PLu0W_9lII9agS67Uits0UnJyrYiXhD
S6q&index=28&pp=iAQB
Programming in JAVA / 23CS005 Page 5 of 9
Course Plan
https://www.youtube.com/watch?v=tem1b
Practice Problems involving all String
5 33-40 Kt2Osc&list=PLu0W_9lII9agS67Uits0UnJyrYiX
Classes
hDS6q&index=13&pp=iAQB
Classes & Objects: Defining Classes,
Access Control, Constructing Objects
through Constructors, Default
https://www.geeksforgeeks.org/constructor-
constructors, Parameterized
6 41-50 overloading-java/
constructors, Copy constructors,
Wrapper Classes, Method overloading
(Constructor overloading), Practice
Problems
Inheritance: Inheritance Basics & Types, https://www.geeksforgeeks.org/inheritance-
7 51-60
Practice Problems and-constructors-in-java/?ref=lbp
Implementing Polymorphism, Dynamic https://www.geeksforgeeks.org/difference-
8 61-70 method dispatch, final keyword, between-inheritance-and-
Examples polymorphism/?ref=lbp
Packages & Interfaces: Built-In Packages
https://www.geeksforgeeks.org/packages-
9 71-80 and User Defined Packages, Creating and
in-java/?ref=lbp
accessing Packages and their classes
Interfaces: Declaration,
https://www.youtube.com/watch?v=D4TYE
Implementation, Extending Interfaces,
10 81-90 D_gKTE&list=PLu0W_9lII9agS67Uits0UnJyrYi
implementing multiple inheritance using
XhDS6q&index=57&pp=iAQB
interfaces
Exception Handling: Exception handling
fundamentals, Exception types, try and
https://www.geeksforgeeks.org/exceptions-in-
11 91-100 catch, Multiple catch clauses, nested try,
java/?ref=lbp
throw, throws and finally, Creating
custom Exceptions, Practice Problems
Java Utilities: Regular Expressions https://www.geeksforgeeks.org/regular-
12 101-103
(java.util.regex), Practice Problems expressions-in-java/?ref=lbp
13 104-106 Java Utilities: Enum, Examples https://www.geeksforgeeks.org/enum-in-java/
https://www.geeksforgeeks.org/annotations
14 107-108 Java Utilities: Annotations, Examples
-in-java/
https://www.geekster.in/articles/date-and-
Java Utilities: Data and Time API, api-in-java-
Random class 8/#:~:text=Java%208%20Date%20and%20Ti
15 109-110
me%20API%20also%20provide%20various%
20utility,()%20%2C%20isAfter()%20%2C%20
etc.
File I/O and Serialization, Reading and https://www.geeksforgeeks.org/java-io-
writing files, File class and its methods input-output-in-java-with-examples/?ref=lbp
16 111-120
Byte and character streams, Object https://www.geeksforgeeks.org/file-class-in-
serialization and deserialization java/?ref=lbp
9. Action plan for different types of learners
Slow Learners Average Learners Fast Learners
Remedial Classes on Saturdays Workshops Engaging students to hold hands of
Encouragement for Formative Exercises used slow learners by creating a Peer
improvement using Peer to highlight concepts and Tutoring Group
Tutoring notions Design solutions for complex
Use of Audio and Visual E-notes and E-exercises to problems
Materials read ahead of the Design solutions for
Use of Real-Life Examples pedagogic material. complex problems
Programming in JAVA / 23CS005 Page 6 of 9
Course Plan
Presentation on topics beyond those
covered in CHO
10. Evaluation Scheme & Components:
Evaluation No. of Weightage of Mode of
Type of Component
Component Assessments Component Assessment
Testpad module progress and
Component 1 - 10% Online
completion
Component 2 Sessional Test 03* 40% Online
Component 3 End Term Examinations 01** 50% Online
Total 100%
* Students will have to appear in all Sessional Tests.
*Makeup Examination will compensate for either ST-1 or ST-2 (Only for genuine cases, based on the Dean’s approval).
**As per Academic Guidelines, a minimum of 75% attendance is required to become eligible for appearing in the End Semester Examination.
11. Syllabus of the Course:
S.N No. of Weightage
Topic (s)
o. Sessions %
History and features of Java, Java Virtual Machine (JVM), JRE and JDK
Setting UP Java Environment for (MacOS/Windows/Linux), Working on
Integrated Development Environment (IDE) -
Eclipse/IntelliJIdea/NetBeans/Visual Studio Code
Compiling and Interpreting Java Programs, Understanding (public static void
main (String [] args) method Command Line Arguments
Java Basics: Identifiers, Keywords, Java Data Types & Operators
Practice Problems covering All Java Operators
1 Control Statements: Decision Constructs, Using Loop Constructs, Jump
45 30%
Statements e.g. break, continue and return
Practice Problems using loops, Nested Loops and conditional Statements,
involving patterns
Working with Arrays: Creating and Using Arrays (1D, 2D, Multidimensional),
Jagged Arrays and practice problems
Strings, StringBuffer, StringBuilder & StringTokenizer: Difference between
Character Array and String in Java, Creating Strings, Immutable property of
String, Methods of String class, String Buffer class & StringBuilder class, toString
method, String Tokenizer class Practice Problems involving all String Classes
Sessional Test-1
History and features of Java, Java Virtual Machine (JVM), JRE and JDK
Setting UP Java Environment for (MacOS/Windows/Linux), Working on
Integrated Development Environment (IDE) -
Eclipse/IntelliJIdea/NetBeans/Visual Studio Code
Compiling and Interpreting Java Programs, Understanding (public static void
main (String [] args) method Command Line Arguments
Java Basics: Identifiers, Keywords, Java Data Types & Operators
2 90 60%
Practice Problems covering All Java Operators
Control Statements: Decision Constructs, Using Loop Constructs, Jump
Statements e.g. break, continue and return
Practice Problems using loops, Nested Loops and conditional Statements,
involving patterns
Working with Arrays: Creating and Using Arrays (1D, 2D, Multidimensional),
Jagged Arrays and practice problems
Programming in JAVA / 23CS005 Page 7 of 9
Course Plan
Strings, StringBuffer, StringBuilder & StringTokenizer: Difference between
Character Array and String in Java, Creating Strings, Immutable property of
String, Methods of String class, String Buffer class & StringBuilder class, toString
method, String Tokenizer class Practice Problems involving all String Classes
Classes & Objects: Defining Classes, Access Control, Constructing Objects
through Constructors, Default constructors, Parameterized constructors,
Copy constructors, Wrapper Classes
Class variables (static keyword), Instance variables and methods, this keyword,
Method overloading (Constructor overloading), Practice Problems
Inheritance: Working with Inheritance: Inheritance Basics & Types, using super,
Method Overriding, Practice Problems
Implementing Polymorphism, Dynamic method dispatch, final keyword,
Examples
Abstract Methods & Abstract Classes, Examples
Sessional Test -2 (ST1 syllabus also included)
History and features of Java, Java Virtual Machine (JVM), JRE and JDK
Setting UP Java Environment for (MacOS/Windows/Linux), Working on
Integrated Development Environment (IDE) -
Eclipse/IntelliJIdea/NetBeans/Visual Studio Code
Compiling and Interpreting Java Programs, Understanding (public static void
main (String [] args) method Command Line Arguments
Java Basics: Identifiers, Keywords, Java Data Types & Operators
Practice Problems covering All Java Operators
Control Statements: Decision Constructs, Using Loop Constructs, Jump
Statements e.g. break, continue and return
Practice Problems using loops, Nested Loops and conditional Statements,
involving patterns
Working with Arrays: Creating and Using Arrays (1D, 2D, Multidimensional),
Jagged Arrays and practice problems
Strings, StringBuffer, StringBuilder & StringTokenizer: Difference between
Character Array and String in Java, Creating Strings, Immutable property of
String, Methods of String class, String Buffer class & StringBuilder class, toString
method, String Tokenizer class Practice Problems involving all String Classes
Classes & Objects: Defining Classes, Access Control, Constructing Objects
through Constructors, Default constructors, Parameterized constructors,
3 150 100%
Copy constructors, Wrapper Classes
Class variables (static keyword), Instance variables and methods, this keyword,
Method overloading (Constructor overloading), Practice Problems
Inheritance: Working with Inheritance: Inheritance Basics & Types, using super,
Method Overriding, Practice Problems
Implementing Polymorphism, Dynamic method dispatch, final keyword,
Examples
Abstract Methods & Abstract Classes, Examples
Packages & Interfaces: Built-In Packages and User Defined Packages, Creating
and accessing Packages and their classes
Interfaces: Declaration, Implementation, Difference between Abstract classes
and interfaces, Extending Interfaces, implementing multiple inheritance using
interfaces
Exception Handling: Exception handling fundamentals, Exception types, try and
catch, Multiple catch clauses, nested try, throw, throws and finally, Creating
custom Exceptions, Practice Problems
Java Utilities: Regular Expressions (java.util.regex), Practice Problems
Java Utilities: Enum, Examples
Java Utilities: Annotations, Examples
Java Utilities: Data and Time API, Random class
Programming in JAVA / 23CS005 Page 8 of 9
Course Plan
File I/O and Serialization, Reading and writing files, File class and its methods
Byte and character streams, Object serialization and deserialization.
Sessional Test-3 (ST1 & ST2 syllabus also included)
End Term Examination (100% syllabus)
This Document is approved by:
Designation Name Signature
Course Coordinator Dr. Shikha
Head-Academic Delivery Dr. Mrinal Paliwal
Dean Dr. Rishu Chhabra
Date 28.09.2024
Programming in JAVA / 23CS005 Page 9 of 9