Adama Science and Technology University
1 School: School of Electrical Department: Computer Science and
Engineering and Computing Engineering
2 Course Core Module
Category
Course Name Advanced Programming
Course Code: SEng3209
3 Synopsis: This intensive hands-on course explores advanced Java language features and
packages. Students will be able to take the content learned and immediately
apply it to the problems encountered on the job. The course emphasis on
Collections, Database Programming using JDBC, Object Serialization,
Reflection and JAR files creation, Distributed Programming using Remote
Method Invocation, and Server-side Web programming using Servlets and
JSP.
4 Name(s) of
Academic
Staff:
5 Semester and Semeste Year
Year offered: r: :
6 Credit Hour: 3
7 Prerequisite/ Object Oriented Programming
Co-requisite:
DSA
(if any)
8 Course Learning Outcome ( CLO): At the end of the course the student will be able to do:
CLO1 Describe generics and architecture of collection framework
CLO2 Apply Multithreading concepts into a real world scenarios
CLO3 ▪ Discuss distributed programming in RPC and RMI
CLO4 Discuss Database connection interfaces and classes
CLO5 Develop a Java applications using Java Servlets and/or Java Server Pages
9 Mapping of the course Learning Outcomes to the program Learning Outcomes, Teaching
Methods and Assessment:
Program Learning Outcomes (PO)
Assessment
Outcomes (CLO)
Course Learning
Teaching
Methods
Lab-report
L T P O
Test
CLO1 √ √ √ √
CLO2 √ √ √ √ √ √
CLO3 √ √ √ √ √
CLO4 √ √ √ √ √
CLO5 √ √ √ √ √
Indicate the relevancy between the CLO and PO by ticking “√”on the appropriate relevant
box
10 Transferable Skills (if applicable)
(Skills learned in the course of study which can be useful and utilized in other settings)
1 Problems Solving Skills
2 Research
3… System Development
etc.
11 Distribution of Student Learning Time (SLT)
Teaching and Learning Activities Total
(SLT)
CL Guided learning Guided Independen
O (F2F) Learning t Learning
Course Content Outline
(NF2F)
(NF2F)
L T P O
Chapter 1: Generics and CL √ √ 10hrs
Collections O1
1. Why Use Generics?; &3
2. Generic Classes;
Generic Interfaces;
Generic Methods;
Generic Bounds;
3. Collection API:
Interfaces and Classes,
Algorithms and
Iterators;
1.4. Comparators;
Serialization with
Generics
Chapter 2: CL √ √ 15 hrs
Multithreading: 2.1. O1
Introduction;
&4
2.2. thread states; priorities
and thread scheduling;
2.3. creating and Executing
threads;
2.4. thread synchronization,
2.5. Deadlocks.
Chapter 3: Database CL √ √ 15 hrs
Programming: O3
3.1. Introduction to JDBC, &4
Types of Drivers, Two-Tier
3.2. Client/Server Model,
Three-Tier Client/Server
Model,
3.3. Basic Steps of JDBC,
3.4. Creating and Executing
SQL Statement, Batch
Update, The Result Set
Object, Working with
Database MetaData
Interface.
Chapter 4: Network CL √ √ 10 hrs
Programming: O1
4.1. Sockets – secure &3
sockets – custom sockets –
UDP datagrams –
multicast sockets
4.2. URL classes –
Reading Data from the
server – writing data –
configuring the connection
– Reading the header –
telnet application – 4.3.
Java Messaging services
Chapter 5: Distributed CL √ √ 15 hrs
Programming: O3
Remote Method &4
Invocation(RMI), Stubs
and skeletons, Remote
object, rmic, rmiregistry,
Remote interface,
Naming.lookup,
ClassNotFoundException,
Naming.bind, JAR file
creation
Chapter 6: CL √ √ 15 hrs
Servlets & JSP O3
&4
6.1. Introduction to
Servlets, Lifecycle of a
Servlet, JSDK,
6.2. The Servlet API, The
javax.servlet Package,
Reading Servlet parameters,
Reading Initialization
parameters, The javax.servlet
HTTP package, Handling
Http Request & Responses,
6.3. Using Cookies-Session
Tracking, Security Issues.
6.4. Introduction to JSP.
Total 80 hrs
Assessment
Continuous Assessment Percentage F2F NF2F SLT
Total-60(%)
1 Assignments Assignment I 1 1 2hrs
(5%)
2 Assignments Assignment 1 1 2hrs
II Lab (10%)
3 Project Mini Project 2 6 8hrs
(10%)
4 Others Mid Exam 3 8 11hrs
(25%)
5 Quize Quiz (10%) 2 2
Total 25 hrs
Final Exam Percentage 40 F2F NF2F SLT
(%)
Final Exam 40% 3hrs 12hrs 15hrs
Grand Total SLT 120
L = Lecture, T = Tutorial, P = Practical, O = Others, F2F = Face to Face, NF2F = Non
Face to Face
Note: indicates the CLO based on the CLO’s numbering in item 9.
12 Special 1 Computer Lab
requirements and
2 Software
resources to
deliver the 3 Choose an item.
course (e.g.
4 Choose an item.
software,
computer lab, 5 Choose an item.
simulation room
…etc.)
13 Text book and 1 “Java: How to Program”, P.J. Deitel & H.M Deitel, 9th Edition Pearson
Education, 2011.
reference: 2 “Java 2: The Complete Reference”, Herbert Schildt, 8 th Edition, Tata
McGraw Hill, 2011.
(note: ensure the 3
http://www.java-made-easy.com/java-programming-tutorials.html
latest edition
4 George Reese, “Database Programming with JDBC and Java” 2nd
/publication) Edition OReilly 2001
5
Jason Hunter, “Java Servlet Programming”, 2nd Edition, O’Reilly.