____________________________________________________________________________________________________________________
Advanced Programming in Java (ITec3058); B.Sc. (IT), 3rd year, Semester II, 2014 E.C
AMBO UNIVERSITY || WOLISO CAMPUS
SCHOOL OF TECHNOLOGY & INFORMATICS
DEPARTMENT OF INFORMATION TECHNOLOGY
Program Information Technology
Course Code ITec3058
Course Title Advanced Programming in Java
Module Name Advanced Programming
Module No. 05
Mode of Delivery Parallel
Course Mode Theoretical with substantial lab/ practice content
Name: Jerusalem F.
Office Location: Office 006, Admin. Building Ground
Tutor / Instructor Office Hours: 2:00 - 6:00, 8:00-11:00, & by appointment
Mobile: +2519-26-11-12-04
E-mail:
[email protected] Consultation Hours: As per the schedule of the registrar office
Credit / ECTS Credit: 3, ECTS: 5
Contact Hours Lecture Tutorial Lab/Practical Home Study Total
(/week) 2 0 3 5 10
Target Group 3rd year Information Technology regular students
Year /Semester Year: III, Semester: II
Pre-requisites ITec3051
Course Status Core
Course Description The goal of the course is to give a basic of class; data members
&member functions; friends, static members, overloading; inheritance
&composition; virtual functions; virtual base classes; templates;
exception handling; File handling; object-oriented design concepts.
Department of IT, School of Technology & Informatics, AUWC
____________________________________________________________________________________________________________________
Advanced Programming in Java (ITec3058); B.Sc. (IT), 3rd year, Semester II, 2014 E.C
Course Objectives Upon completion of this course, students should be able to:
✓ Create Java technology applications that leverage the object-
oriented features of the Java language, such as encapsulation,
inheritance, and polymorphism
✓ Execute and run a Java technology application
✓ Use Java technology data types and expressions
✓ Use Java technology flow control constructs
✓ Use arrays and other data collections
✓ Implement error-handling techniques using exception handling
✓ Create event-driven GUI using Java technology GUI components:
panels, buttons, labels, text fields, and text areas
✓ Create multithreaded programs
✓ Create JDBC applications
Course’s Content
Units Topics
Unit One: 1.1 Introduction
Introduction 1.2 Basic Concepts of Java
Unit Two: 2.1 Why Use Generics?
Generics and 2.1.1 Generic Classes
Collections 2.1.2 Generic Interfaces
2.1.3 Generic Methods
2.1.4 Generic Bounds
2.2 Collection API
2.2.1 Interfaces and Iterators
2.2.2 Abstract, Concrete Classes
2.2.3 Wildcard Parameters
2.3 Serialization with Generics
Unit Three: 3.1 Thread Components and Scheduling
Java Threads and 3.1.1 Mutually Exclusive Threads
Deadlock 3.1.2 Monitors and Locks
3.1.3 Synchronized Methods and Blocks
3.2 Deadlock Scenarios
3.2.1 Circular Deadlock
3.2.2 Callback Deadlock
3.2.3 Nested Monitor Deadlock
3.3 Designing with Threads
Unit Four: 4.1 Sockets
Network 4.1.1 Clients and Servers
Programming 4.1.2 MultiThreaded Servers
4.2 Remote Method Invocation
4.2.1 Remote
4.2.2 Callbacks
2
Department of IT, School of Technology & Informatics, AUWC
____________________________________________________________________________________________________________________
Advanced Programming in Java (ITec3058); B.Sc. (IT), 3rd year, Semester II, 2014 E.C
Unit Five: Java 5.1 Java Toolkits
GUI & JDBC 5.1.1 AWT toolkit
5.1.2 Swing toolkit
5.2 JDBC Architecture
5.2.1 JDBC Drivers
5.3 Working with Databases
5.3.1 Connecting to Databases
5.3.2 Database Queries and ResultSets
5.3.3 Prepared and Callable Statements
5.3.4 Metadata
5.4 BreezySwing & TerminalIO
Unit Six: 6.1 Introduction
Servlets in Java 6.2 Servlet Overview and Architecture
6.3 Handling HTTP get Request
6.4 Handling HTTP get Requests Containing Data o 6.5 Handling HTTP
post request
6.6 Redirecting Requests to Other Resources
6.7 Java Server Pages Overview
6.8 First Java Server Page Examples o
6.9 Implicit ObjCP, Scripting, Standard Action, Directives
Unit Seven: 7.1 Java Packages
Advanced 7.2 Interfaces
Concepts in Java 7.3 Object serialization
7.4 Java Applet
7.4.1 Java Web start
7.4.2 Java Web Start Features
7.5 Deployment
Course Assignment Project Mid-term exam Final exam
Assessment 10% 10% 30% 50%
References/Books 1) Java, How to Program,5th Edition, H.M.Deitel and P.J.Deitel,New,
Delhi,2004.
2) James Mc. Govern, “Java 2”, Hungry Minds Inc.
3) E.Balagurusamy “Programming with Java 2”, Tata Mc. Graw Hill,
India.
4) Core Java, Volume I-Fundamentals, CAY S.
HORSTMANN&GRAY CORNELL, The Sun Microsystems Press,
Java Series, 2001.
Department of IT, School of Technology & Informatics, AUWC