Student Version - CourseDescription Document - CSF206
Student Version - CourseDescription Document - CSF206
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 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 programming (9L)
Client/Server Computing, Socket, Server and Client Sockets, Data Transmission through Sockets, Input Stream,
OutputStream, InetAddress Class, Serving Multiple Clients and Multithreaded Servers, Sending and Receiving Objects.
UNIT5: Introduction to Java Enterprise Edition (3 L)
Introduction to Java Enterprise Edition and its related technologies. Introduction to Java Micro Edition and Java ME
Embedded Technologies, its usage in Internet of Things
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
All materials (ppts, assignments, labs, etc.) will be uploaded in Ms Teams. Refer to your course in MS Teams for details.
Evaluation Scheme
Quizzes 15% 4
Project 10% 1
Course Policies