SYLLABUS

INEW 2438 – Advanced Java Programming

Fall 2010

 

Course Registration Number (CRN):   

Course Code and Name:                               INEW 2438 – Advanced Java Programming

Instructor Name:                                            Dr. Xuan Dai Pham

Tutor:                                                                  Mr. Nguyen Van Muon

Semester:                                                          Fall 2010

Campus and Room Location with Days and Times:

Lecture:

Room 704, Saigontech Tower, Quang Trung Software City 

Monday, 9:10 - 10:40

Wednesday, 9:10 - 10:40

Lab:

Room 705, Saigontech Tower, Quang Trung Software City

Tuesday, 9:10 - 10:40

Thursday, 9:10 - 10:40

Instructor Contact Information:

Tel.:  (84-8) 37155033, ext. 1551

Email: xuanpd@saigontech.edu.vn

Website:   ( Moodle site)

Tutor Contact Information:

Tel.:  (84-8) 37155033, ext. 1684

Email: muonnv@saigontech.edu.vn 

 

Instructor Scheduled Office Hours:

Office: Room 610, Saigontech Tower, Quang Trung Software City

Officer Hours: 7:30 – 17:00, everyday, or by appointment

Tutor Scheduled Office Hours:

Office: Room 610, Saigontech Tower, Quang Trung Software City

Officer Hours: 7:30 – 17:00, everyday, or by appointment

 

Course Goals and Objectives:

Prerequisite: It is required that students must have some basic computer literacy, Algebra (MATH 1314), Programming Fundamentals 2 (COSC 1437), and Extensible Markup Language (ITSE 1356). Furthermore, an English proficiency skill (reading and writing) is needed to undertake the course.

 

Credit: 4 (2 Lecture, 2 Lab, 2.5 hours each)

 

Course SLO and LO:

Course SLO (Students Learning Outcomes)

1.       Design, write, and test documented Java programs

2.       Write multi-thread Java programs

3.       Write network programs

4.       Write applications with persisting data to relational databases (implement the persistence layer in a Java EE application)

5.       Implement business layer in a Java EE application using EJB.

6.       Secure a Java EE application

LO (Learning Objectives)

SLO1

1.1.  Design Object-Oriented programs

1.2.  Write JUnit tests for Java programs

1.3.  Comment the source codes

SLO2

2.1. Write tasks to be done in parallel (threads)

2.2. Synchronize data access to share data in multithread programs

2.3. Use Swing components in multithread programs

SLO3

3.1. Socket programming in Java

3.2. Write some practical examples of socket programming.

SLO4

4.1. Persist an entity to a relational database.

4.2. Object-relational mappings for relationships, composition, and inheritance.

SLO5

5.1. Encapsulate business logic in EJB

5.2. Session beans, stateless, stateful and singleton beans

SLO6

6.1.  Secure EJB modules to control access business code

Secure Web applications

 

Textbooks:

Book Title

Authors

ISBN

Publisher

Core Java  Volume II – Advanced Features, 8ed

Cay S. Horstmann and Gary Cornell

978-0-13-235479-0

Prentice Hall, 2008

Beginning Java™ EE 6 Platform with GlassFish™ 3: From Novice to Professional

Antonio Goncalves

978-1-4302-1955-2

Apress, 2009

 

Other Required Materials, Development Tools:

Chapter 14, Core Java Volume I – Fundamentals, 8ed, Cay S. Horstmann and Gary Cornell, Prentice Hall, 2008.

Java development tool:  Netbean 6.9, Eclipse 3.4.0

Course Policies on Make-up Exams, Late Assignments, Tardiness:

Students are expected to take each exam on the scheduled dates. Make-up exams are not guaranteed, but are granted at the discretion of the instructor. If make-up exams are allowed, it is necessary to make arrangements with the instructor prior to exam date.

Students will not be able to submit assignments after the due/closing date.

 

Grading scheme and passing grade:

 

In-class Test 1

10%

In-class Test 2

10%

Homework Assignments, Projects

30%

Midterm Exam

25%

Final Exam

25%

 

                The final grade will be evaluated based on the final score as below:

Grade

Final Score

A – Excellent

90 – 100

B – Good

80 – 89

C – Fair

70 – 79

D – Minimal

60 – 69

F – Failure

0 – 59

The passing grade of this course is D.

Course Calendar:

 

Week

Topic

Note

1

Monday, September 13, 2010

Multithreading

Core Java I - Chapter 14:  Basic Concepts The Bouncing Ball Problem

Tuesday, September 14, 2010

Tutor Session

 

Wednesday, September 15, 2010

Multithreading

Core Java I - Chapter 14:  The Bouncing Ball Problem (cont’d )

Thursday, September 16, 2010

Tutor Session

 

2

Monday, September 20, 2010

Multithreading

Core Java I - Chapter 14:  More About Threads Synchronization 

Tuesday, September 21, 2010

Tutor Session

 

Wednesday, September 22, 2010

Multithreading

Core Java I - Chapter 14:  More About Threads Synchronization  (cont’d )

Thursday, September 23, 2010

Tutor Session

 

3

Monday, September 27, 2010

Multithreading

Core Java I  - Chapter 14:  Threads and Swing(cont’d )

Tuesday, September 28, 2010

Tutor Session

 

Wednesday, September 29, 2010

Multithreading

Core Java I - Chapter 14:  Threads and Swing (cont’d )

Thursday, September 30, 2010

Tutor Session

 

4

Monday, October 04, 2010

Networking

Core Java 2 - Chapter 3: The Echo Server Problem 

Tuesday, October 05, 2010

Tutor Session

 

Wednesday, October 06, 2010

Networking

Core Java 2 - Chapter 3:  Sending E-Mail 

Thursday, October 07, 2010

 

5

Monday, October 11, 2010

Networking

Core Java 2 - Chapter 3: Sending E-Mail  (cont’d )

Tuesday, October 12, 2010

Tutor Session

 

Wednesday, October 13, 2010

Networking

Core Java 2 - Chapter 3:  The Chat Problem

Thursday, October 14, 2010

IN-CLASS TEST 1

 

6

Monday, October 18, 2010

Database Programming

Core Java 2 - Chapter 4: Database Programming

Tuesday, October 19, 2010

Tutor Session

 

Wednesday, October 20, 2010

Database Programming

Core Java 2 - Chapter 4: Database Programming (cont’d )

Thursday, October 21, 2010

Tutor Session

 

7

Monday, October 25, 2010

Introduction to Java Persistence API (JPA)

Beginning Java™ EE 6 – Chapter 02: Java Persistence

Tuesday, October 26, 2010

 

Wednesday, October 27, 2010

Introduction to Java Persistence API

Beginning Java™ EE 6 – Chapter 02: Java Persistence (cont’d )

Thursday, October 28, 2010

Tutor Session

 

8

Monday, November 01, 2010

MIDTERM EXAM

Tuesday, November 02, 2010

Tutor Session

 

Wednesday, November 03, 2010

Object-Relational Mapping

Beginning Java™ EE 6 – Chapter 03: Object-Relational Mapping

 (Mapping an Entity)

Thursday, November 04, 2010

Tutor Session

 

9

Monday, November 08, 2010

Object-Relational Mapping

Beginning Java™ EE 6 – Chapter 03: Object-Relational Mapping

(Relationship Mapping)

Tuesday, November 09, 2010

 

Wednesday, November 10, 2010

Object-Relational Mapping

Beginning Java™ EE 6 – Chapter 03: Object-Relational Mapping

(Inheritance Mapping)

Thursday, November 11, 2010

Tutor Session

 

10

Monday, November 15, 2010

Managing Persistence Objects

Beginning Java™ EE 6 – Chapter 04: Managing Persistence Objects

(Entity Manager)

Tuesday, November 16, 2010

Tutor Session

 

Wednesday, November 17, 2010

Managing Persistence Objects

Beginning Java™ EE 6 – Chapter 04: Managing Persistence Objects

(JPQL and Queries)

Thursday, November 18, 2010

Tutor Session

 

11

Monday, November 22, 2010

Enterprise Java Beans

Beginning Java™ EE 6 – Chapter 06: Enterprise Java Beans

Tuesday, November 23, 2010

Tutor Session

 

Wednesday, November 24, 2010

Enterprise Java Beans

Beginning Java™ EE 6 – Chapter 06: Enterprise Java Beans

Thursday, November 25, 2010

Tutor Session

 

12

Monday, November 29, 2010

IN-CLASS TEST 2

Tuesday, November 30, 2010

Tutor Session

 

Wednesday, December 01, 2010

Session Beans and the Timer Service

Beginning Java™ EE 6 – Chapter 07: Enterprise Java Beans

(Session Beans)

Thursday, December 02, 2010

Tutor Session

 

13

Monday, December 06, 2010

Session Beans and the Timer Service

Beginning Java™ EE 6 – Chapter 07: Enterprise Java Beans

(Session Beans)

Tuesday, December 07, 2010

Tutor Session

 

Wednesday, December 08, 2010

Session Beans and the Timer Service

Beginning Java™ EE 6 – Chapter 07: Enterprise Java Beans

(The Timer Service)

Thursday, December 09, 2010

Tutor Session

 

14

Monday, December 13, 2010

JavaServer Faces

Beginning Java™ EE 6 – Chapter 10: JavaServer Faces

Tuesday, December 14, 2010

Tutor Session

 

Wednesday, December 15, 2010

JavaServer Faces

Beginning Java™ EE 6 – Chapter 10: JavaServer Faces

Thursday, December 16, 2010

Tutor Session

 

15

Monday, December 20, 2010

JavaServer Faces

Beginning Java™ EE 6 – Chapter 10: JavaServer Faces

Tuesday, December 21, 2010

Tutor Session

 

Wednesday, December 22, 2010

Transactions and Security

Beginning Java™ EE 6 – Chapter 09: Transactions and Security

(Transactions)

Thursday, December 23, 2010

Tutor Session

 

16

Monday, December 27, 2010

Transactions and Security

Beginning Java™ EE 6 – Chapter 09: Transactions and Security

(Security)

Tuesday, December 28, 2010

Tutor Session

 

Wednesday, December 29, 2010

FINAL EXAM

 

Thursday, December 30, 2010

Project Presentation