Riphah International Colleges
A Project of Riphah International University
Course Outline
Course Code CS3623
Course Title Advanced Computer Programming
Credit Hours 3(2+1)
Prerequisites Object Oriented Programming
Co-Requisites -
Assessment Instruments with Quizzes + Assignments: 10
Weights (homework, quizzes, Project+ Presentation 10
midterms, final, programming Lab : 15
assignments, lab work, etc.) Mid Term 25
Final Exam: 40
Course Description In this course students will experience the Java Standard Edition J2SE of
superior levels of product development using java. This course will help
the students to create effective, scalable, maintainable, and editable
applications to solve real life problems.
Textbook No textbook, however following are good references
1. Head First Java, 2nd Edition, by Kathy Sierra, O’ Really
Publishers
2. Java How to Program, 9th Edition, by Deitel and Deitel
Effective Java (2nd Edition), by Joshua Bloch
3. Thinking in Java, 3rd Edition by Bruce Eckel.
Reference Material Lecture Handouts, Sample Programs
Course Goals/Objectives Goal: The primary goal of this course is to equip students with essential
advanced java programming skills required for professional software
development.
Learning Objectives: Students should be able to
a. Understand the use of IDEs to write and debug programs
efficiently
b. Develop medium to advanced applications using previously
learnt OO programming concepts
c. Build medium to advanced GUIs using swing
d. Understand java event model
e. Understand the concept of Threads and Thread
Synchronization
f. Appreciate the usefulness of Wrapper, String and utility
classes of Java API.
g. Use Java Collection API.
h. Understand and implement serialization of java objects.
i. Use features of the I/O API.
j. Perform database queries and updates using JDBC.
k. Understand and use Lambda Expressions
l. Write TCP/IP Client Server applications using sockets.
m. Execute methods on a remote object using RMI.
1
Riphah International Colleges
A Project of Riphah International University
Course Outline
n. Document and package a Java application.
Code Bloom’s Taxonomy Course Teaching Course
# And Course Learning Outcomes Strategies Assessment %Weight
Methods
1.0 Remember
Describe the concept of Java programming,
1.1 how to utilize the java coding on real life Lectures Quiz, Assignment 20%
problems.
2.0 Understand
Able to optimize real life problems using Lectures, Case Studies Quiz, Assignment 10%
2.1
J2SE
3.0 Apply
Implement console and GUI based Lectures, Labs,
3.1 Quiz, Assignment 10%
programs using J2SE Activities
Solve real life problems using J2SE with Lectures, Labs,
3.2 Quiz, Assignment 10%
object programming Activities
Implement database connectivity with any Lectures, Labs,
3.3 Quiz, Assignment 10%
DBMS Activities
Implement TCP/UDP connection in network Lectures, Labs,
3.4 Quiz, Assignment 10%
programming using J2SE Activities
4.0 Analyze
Analyze problem requirements to recognize
Lectures, Class Assignment,
4.1 what type of data and modules are involved 15%
Activities Project
in solution.
5.0 Create
Lectures, Case
Develop interactive GUI based application in Quiz, Assignment,
5.1 Studies, Class 15%
J2SE of real life problems. Midterm, Project
Activities, Labs
Topics Covered in the Course, with Number of Lectures on Each Topic
Topic Number of Lectures
Introduction to IDE, Introduction to java and its component 2 (3 hrs)
Java programming fundamentals, and elementary programming 1 (1.5 hrs)
Review of OO programming using java, Inheritance, Polymorphism, 3 (4.5hrs)
Encapsulation, and Abstract and Interface classes
Exception handling in java Checked, and Un-checked Exception, static and 2 (3 hrs)
final packages
I/O to Files and Console, Object Serialization 3 (4.5 hrs)
Graphical User interface (GUI) and event handling 2 (3 hrs)
JDBC 4 (6 hrs)
Using Lambda Expressions 2 (3 hrs)
Concurrency and Threading 3 (4.5 hrs)
2
Riphah International Colleges
A Project of Riphah International University
Course Outline
Network programming using sockets 4 (6 hrs)
Distributed Applications using RMI 4 (6 hrs)
Documenting and packaging java applications 1 (1.5 hrs)
Weekly Lecture Plan
Week Lecture Topics CLO#
1 1 Introduction To IDE, Introduction to java and its 1.1
component
2 Brief history of Java, Features/characteristics of Java, Java 1.1
compilation Process, Types of Java Applications, Java
Development Kit, Java Editions, and Java Development
Tools
2 3 Difference between JRE, JDK, JVM, and JIT, Java 1.1
Execution Flow
4 Compiling and Execution of Java Program through 1.1
Command Prompt, path and CLASSPATH, Anatomy of
Java Program
3 5 To obtain input from the console using the Scanner class 1.1,
To obtain input using the JOptionPane input dialog boxes
To use identifiers to name variables, constants, methods,
and classes
To use constants to store permanent data
To declare Java primitive data
types: byte, short, int, long, float, double, and char
To use Java operators to write numeric expressions
6 To use short hand operators 1.1
To cast value of one type to another type
To represent a string using the String type
To demonstrate defining classes and creating objects
To create objects using constructors
To access objects via object reference variables
To define a reference variable using a reference type
To access an object’s data and methods using the object
member access operator (.)
To define data fields of reference types and assign default
values for an object’s data fields
4 7 Review of OO programming using java, Inheritance, 1.1, 2.1, 3.2
Polymorphism
8 Encapsulation, and Abstract and Interface classes 1.1, 2.1, 3.2
5 9 Abstract method and an Abstract class, Interface, Interface 1.1, 3.2
as a Type, Interface vs. Class, defining an Interface,
Implementing an Interface, Implementing multiple
Interface's, Inheritance among Interface's
10 Overview of exceptions and exception handling, To 1.1
explore the advantages of using exception handling, To
write a try-catch block to handle exceptions, To use the
finally clause in a try-catch block, Checked vs Unchecked
3
Riphah International Colleges
A Project of Riphah International University
Course Outline
Exceptions, To declare exceptions in a method header, To
throw exceptions in a method, To re-throw exceptions in a
catch block, To define custom exception classes
6 11 File and I/O Stream 1.1, 3.2
12 Object Serialization and Externalization 1.1, 2.1, 3.2
7 13 Graphical User Interface (GUI) using Swing, GUI Helper 1.1, 2.1, 3.1
classes, Creation of GUI Components
14 Frames, Layout Manager, Layout Manager Types, Flow 1.1,2.1,3.1
Layout, Grid Layout, Border Layout, Multiple Panels in a
Frame, JPanel and Graphics, Multiple Panels in a Frame,
Color Class,
8 15 Procedural vs Event-Driven Programming, Event classes, 1.1,3.2
Event Information, Selected User Actions,
16 Delegation Model, Inner class listener, The delegation 1.1,3.2
model with inner class listener, Anonymous inner classes,
Event Handler. Using coding
MID TERM EXAM
9 17 Building GUI Through Drag And Drop, Use Of Event 1.1,3.2
Listeners
18 Building Fully Functional GUIs With Event Listeners And 1.1,3.2
Layout Managers, Java Wrapper Classes, Writing
Programs Using String And Associated Classes And
Important String Functions
10 19 JDBC, Relational Databases, ODBC, SQL Statements 3.3,1.1
20 Inserting, Updating 3.3,1.1
11 21 Deleting Records, Meta Data 3.3,1.1
22 JDBC Revision 3.3,1.1
12 23 Using Lambda Expressions 1.1
24 Example of Lambda Expression 1.1
13 25 Concurrency and Threading, single thread 1.1,2.1
26 Multi-threading 1.1,2.1
14 27 Network Programming TCP 3.4,1.1
28 Network Programming UDP 3.4,1.1
15 29 Distributed Applications using RMI 1.1
30 Documenting and packaging java applications 1.1
16 31 Project Presentation 1.1,2.1,3.1,3.2,4.1,5.1
32 Project Presentation 1.1,2.1,3.1,3.2,4.1,5.1
FINAL TERM EXAM