ADMAS UNIVERSITY
FACULTY OF INFORMATICS
DEPARTMENT OF COMPUTER SCIENCE
COURSE OUTLINE
Course Title Advanced Java Programming
Course Code CoSc3051
Credit Hours 3
Lecture Hours 2
Laboratory Hours 3
Prerequisites CoSc2052
Program BSc Degree in Computer Science
Academic Year
Instructors’ Name
Course Coordinator
Department Head DRAF T
Course Description This course covers topics on Java which includes: AWT and Swing, I/O
Streams, Multi-threading, Network Programming, Java database
connectivity (JDBC), RMI, and Introduction to Servlets.
Course Objective At the end of this course, students will be able to:
Carry out design and development of complex elements, such as user
interfaces, multiprocessing, and fault-tolerant components;
Practice TCP/IP Client Server applications using Sockets;
Write Java applications using the JDBC to make database
independent queries; and Call methods remotely.
Course Contents
Chapter TOPIC Time
Allotted
1. Overview of Java Programming 6hrs.
79 | P a g e
1.1. Data types and variables
1.2. Arrays
1.3. Decision and Repetition statement
1.4. Exception Handling
1.4.1. Exception handling overview
1.4.2. Syntax
2. Java Applet 4hrs.
2.1. Overview of Java Applets
2.2. Java Applets Vs Java Application
3. AWT and Swing 8hrs.
3.1. Concepts of AWT and Swing
3.1.1. AWT controls (Frames, Label, Button, text Field,
Combo box ..)
3.1.2. Swing controls (JFrame, JLabel, JButton, JtextField,
JComboBox,...)
3.2. Event Handling
DRAF T
3.2.1. Sources
3.2.2. Listeners
4. Streams and File I/O 8hrs.
4.1. Input output streams
4.1.1. Various stream classes
4.1.2. Using Streams
4.1.3. Object Streams
4.2. File management
5. Multi- threading concept 4hrs.
5.1. Thread vs process
5.2. Multiple threads
5.2.1. Thread priorities
5.2.2. Thread synchronization
6. Networking in Java 8hrs.
80 | P a g e
6.1. Networking overview
6.1.1. Types of connections
6.2. Socket programming
6.2.1. Socket, port and URI
6.2.2. Implementing Socket programming
6.3. Remote method invocation (RMI)
6.3.1. Overview of RMI
6.3.2. The RMI registry
6.3.3. The remote Interface
6.3.4. Implementing RMI
6. Java - Database connectivity 6hrs.
7.1. Introduction on database systems
7.1.1. Structured query language (SQL)
7.2. Basic JDBC programming concept
7.2.1. Populating database
7.2.2. Executing queries
7.2.3. Manipulating query results
7. Servlets DRAF T
4hrs.
8.1. Servlet overview and architecture
8.2. Handling HTTP methods (GET and POST requests)
8.3. Request redirecting
8.4. Multi-tier applications using JDBC from servlet
Roles of the Instructor He/she will come to the class regularly on time and deliver the lecture and/or
laboratory class in a well-organized manner. Besides, at the end of each class
he/she gives reading assignment for the next class. He/she will make sure that a
proper assessment is given. He/she is also responsible to give feedback for each
assessment
The success of this course depends on the students‟ individual and collective
Roles of the students contribution to the class discussions. Students are expected to participate
voluntarily, or will be called upon, to contribute to set exercises and problems.
Students are also expected to read the assigned readings and prepare the cases
before each class so that they could contribute effectively to class discussions.
Students must attempt assignments by their own. Proficiency in this course
comes from individual knowledge and understanding. Copying the works of
others is considered as serious offence and leads to disciplinary actions
81 | P a g e
Teaching & Learning Methods
Lectures Independent learning
Practical classes (Lab sessions) Computer Software Development
Problem Based Learning Debates and Discussions
Interactive platforms Individual/Group project works
Cooperative Learning Presentation & Demonstration
Assessment Methods:
Assessment Methods Points
Assessment 1 (Test 1) 10
Assessment 2(Test 2/Practical Test) 10
Assessment 3(Individual Assignment) 5
Assessment 4 Group Project DRAF T
20
Presentation of Group Assignment/Project 5
Final Exam 50%
Grand total 100%
Text books:
Introduction to Programming Using Java, Version 5.0., David J. Eck,2006
References
Cay Horstmann, Core Java, Volume II--Advanced Features (Core Series), 11th Edition,
Pearson, February 2019
Paul Deitel, Harvey M. Deitel , Java: How to Program, 9th Edition, Pearson
College, 2011
82 | P a g e