School of Computing
CSF206: Advanced Java Programming
Course Coordinator: Dr. Bharti Sharma
Email: bharti.sharma@dituniversity.edu.in
Faculty Cabin: VED[Second Floor] - 208
Course Faculty:
1. Dr. Bharti Sharma, Associate Professor
Email: bharti.sharma@dituniversity.edu.in
2. Dr. Arshad Hussain, Assistant Professor
E-mail: arshad.husain@dituniversity.edu.in
3. Ms. Ruchi Sharma, Assistant Professor
Email: ruchi.sharma@dituniversity.edu.in
4. Ms. Anushree Negi
anushree.negi@dituniversity.edu.in
5. Abhilasha Chauhan
abhilasha.chauhan@dituniversity.edu.in
6. Anurag Shrivastava
Anurag Shrivastava@dituniversity.edu.in
Course Description Document
Semester: Even Semester (4th) Year: 2022-23
Course Coordinator: Dr. Bharti Sharma
1. Department offering the course Computer Science and Engineering
2. Course Code CSF206
3. Course Title Advanced Java Programming
4. Credits (L:T:P:C) 3:0:1:4
5. Contact Hours (L:T:P) 3:0:2
6. Prerequisites (if any) Introduction to Java Programming
7. Course Basket Discipline Core
COURSE SUMMARY
This course covers advanced Java programming concepts that includes Java user interface programming and design,
collections framework, multithreading, and network programming using Java. Students will also be introduced to other
editions of Java and their technologies.
COURSE OBJECTIVES
The objectives of this course are to learn advanced java programming techniques and technologies required to
build applications with good user interfaces.
COURSE OUTCOMES
On successful completion of the course, students will be able to achieve the following:
CO1: Understand and implement swing components and event handling mechanisms.
CO2: Understand and implement various collections classes and interfaces.
CO3: Understand and implement multithreading concepts using Java.
CO4: Understand and implement network programming in Java.
CURRICULUM CONTENT
UNIT 1: Basics of Core Java and Swing Framework (12 L)
Objects and Classes, Inheritance and Polymorphism, Exception Handling, Interface and Abstract Classes
GUI basics, Introduction to Swing Framework, Swing Components, Event Handling, Action Listener, Layout
Managers.
UNIT 2: Java Collections Framework (6 L)
Introduction to Java Collection Classes and Interfaces, Array List, Linked List, Set, Queue, HashMap,
TreeMap, Collections class, Iterator interface.
UNIT 3: Multithreading (9 L)
Thread Concepts, Creating Tasks and Threads, The Thread Class, Thread Pools, Thread Synchronization,
Synchronization Using Locks, Cooperation among Threads, Case Study: Producer/Consumer, Blocking
Queues, Semaphores, Avoiding Deadlocks, Thread States, Synchronized Collections.
UNIT4: Networking and Java database programming (6 L)
Basics of Networking, Socket Programming, Client/Server Computing
Relational Database Systems, SQL, JDBC, Prepared Statement, Callable Statement.
UNIT5: Enterprise programming (6 L)
Introduction to J2EE and J2ME, Overview of MVC, Servlets and JSP
Demonstration of short Projects
TEXTBOOK(S)
1. Intro to Java Programming (Comprehensive Version), by Y. Daniel Liang. Publisher: Pearson
Education; Tenth edition (2018), ISBN-10: 935306578X, ISBN-13: 978-9353065782
REFERENCE BOOKS
1. Java - The Complete Reference, by Herbert Schildt, Publisher: McGraw Hill Education; Tenth
edition (2017), ISBN-10: 9789387432291, ISBN-13: 978-9387432291
TEACHING AND LEARNING STRATEGY
All materials (ppts, assignments, labs, etc.) will be uploaded in Ms Teams. Refer to your course in MS Teams
for details.
Evaluation Scheme
Evaluation Instrument Weightage Total
Numbers
Quizzes 15% 4
Graded Lab 25% 5
Project 10% 1
Mid Term 20% 1
End Term 30% 1
Course Policies
Attendance is required. Please refer to the attendance rules of the University.
There will be no makeup quizzes and exams, unless decided otherwise by the competent
authority in the University during the semester.
Disciplinary action may be taken and marks may be deducted if any student disrupts class or
found copying from other’s assignments, labs, projects or exams.
Course Materials will be regularly posted in MS Teams.
Make sure to adhere to the deadlines for evaluation instruments in MS Teams.
Evaluation Instruments submitted after the due date will not be evaluated and a score of zero
will be awarded. Email or any other modes of submissions will not be accepted.
For mid-term and end-term exams, rules set by competent authority will be final.
For any queries in the course, students should contact the faculty through MS Teams.
Students are strongly advised to be more interactive and ask queries to faculty during
lectures/labs/tutorials.
Course Schedule
CSF206, Advanced Java Programming
Dates for Topics Activity
Topic and Pedagogy Due Dates and
Begin End Times
Week 1
L1: Preamble and Course Description- Introduction
L2: Unit 1: Introduction to pre-requisites and Swing
Object and classes
L3: Inheritance and polymorphism
Resource: 1. Java book by “Y. Daniel Liang”
Week 2
L4: Inheritance and polymorphism(continued)
L5: Exception Handling
L6: Abstract Classes and Interfaces
Resource: 1. Java book by “Y. Daniel Liang”
Week 3
L7: GUI Basics, Introduction to Swing framework
L8, L9: Swing Components
Resource: 1. Java book by “Y. Daniel Liang”
Week 4
L10: Event Handling, Action Listener
L11, L12: : Layout Managers
Resource: 1. Java book by “Y. Daniel Liang”
Week 5
L13: UNIT 2: Collections Framework
Introduction to Java Collection Classes and Interfaces
L14: Array List, Linked List
L15: Set, Queue
Resource: 1. Java book by “Y. Daniel Liang”
Week 6
L16: HashMap, TreeMap
L17, L18: Collections Class, Iterator Interface
Resource: 1. Java book by “Y. Daniel Liang”
Week 7
L19: UNIT 3 Multithreading
Thread Concepts, Creating Tasks and Threads, Thread
States
L20: The Thread Class, The runnable Interface
L21: Thread Pools, Thread Synchronization
Resource: 1. Java book by “Y. Daniel Liang”
Week 8
L22: Synchronization Using Locks
L23: Cooperation among Threads
L24: Case Study: Producer/Consumer, Blocking
Queues
Resource: 1. Java book by “Y. Daniel Liang”
Week 9
L25: Semaphores
L26: Avoiding Deadlocks
L27: Synchronized Collections
Resource: 1. Java book by “Y. Daniel Liang”
Week 10
L28: Unit 4: Networking and Java database
programming
Basics of Networking
L29: Socket Programming
L30: Client/Server Computing
Resource: 1. Java book by “Y. Daniel Liang”
Week 11
L31: Relational Database Systems, SQL
L32: JDBC, Prepared Statement
L33: Callable Statement
Resource: 1. Java book by “Y. Daniel Liang”
Week 12
L34: UNIT 5: Enterprise programming
Introduction to J2EE and J2ME
L35,L36: Overview of MVC
Resource: 1. Java book by “Y. Daniel Liang”
Week 13
L37: Introduction to Servlets and JSP
L38,L39: Demonstration of short Projects
Resource: 1. Java book by “Y. Daniel Liang”