Advanced Computer Programming Lab (CS 2151)

Pre-requisite(s)

Object Oriented Programming (CS-1143)

Computer Programming (CS-1123)

Recommended Book(s)

Introduction To Java Programming Comprehensive By Y. Daniel Liang , 8th Edition, Published By Prentice Hall 

Course Objectives

After studying this course the students should be able to: The students will gain exposure to and experience of superior levels of productivity with modern computing technologies. The course will help to utilize the incredible power of component oriented and distributed computing to create effective, scalable, maintainable, and adaptable applications to solve an extremely wide range of problem

Course Learning Outcomes (CLO)

Course Objectives

Course Contents

Introduction to Java basic features

Course overview
Development environment
Java Features
Constructs
Interfaces
System APIs

Serialization and Externalization

Object Persistence and Serialization
Java object persistence model
Serializable interface
Serialization and Externalization

Multithreading and Synchronization

Multithreading and synchronization constructs
Concepts and implementation in Java
Reflection

Networking

Network programming overview
Advanced Socket Programming
Writing client/server and peer to peer applications
Understanding distributed computing concepts
Java distributed programming model
Difference between local and distributed computing
Remote method invocation
system architecture
client interfaces
server interfaces
registry interfaces
stub/skeleton interfaces
garbage collection
exceptions
RMI Advance concepts

 Graphical User Interface

Graphical User Interface
Event Handling

Java Database Connectivity

Understanding Database Connectivity
Establishing database connection using JDBC
Executing SQL statements and processing result sets

XML

Writing Extensible Markup Language XML documents
Parsing XML documents using Java XML Parser
Building and managing DOM tree

Servlets

Java Servlets
Writing generic and HTTP Java Servlets
Understanding Java Servlet containers
Java Servlet directory structure
deploying servlets in servlet containers

Java Naming Directory

Naming and directory services
Concepts and using Java Naming and Directory Interfaces APIs

Mapping of CLOs to Assessment Modules

Final Exam

Assignments 

Surprise Tests/Quizzes

Project

Midterm Exam