Course Syllabus

Advanced Java Programming

INEW 2438


Semester with Course Reference Number (CRN)

Spring 2015

Instructor contact information (phone number and email address)

Pham Dai Xuan

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

Email: xuanpd@saigontech.edu.vn

Website: http://www.saigontech.edu.vn/faculty/XuanPD/

 

Office Location and Hours

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

Office Hours: 7:30 – 16:30

Course Location/Times

Lecture:

    Room L208, Saigontech Tower, Quang Trung Software City

    Tuesday, 7:30 - 9:00

    Friday, 7:30 - 9:00

Lab:

    Room L208, Saigontech Tower, Quang Trung Software City

    Tuesday, 9:10 – 10:40

    Friday, 9:10 – 10:40

Course Semester Credit Hours (SCH) (lecture, lab) If applicable

Credit Hours:

4

 

Lecture Hours:

2

 

Laboratory Hours:

2

 

External Hours:

 

 

Total Course Contact Hours

96

Course Length (number of weeks)

16

Type of Instruction

Lecture

Lecture/Lab

Course Description:

Advanced topics in Java programming language featuring JFC, Multithreading, Network Programming, RMI, Java Security, Internationalization, and Design Patterns. This course might be taught under Linux or Windows.

Course Prerequisite(s)

PREREQUISITE(S):

  • ITSE 2417 or
  • COSC 1437 and
  • ITSE 1356


  FREQUENT REQUISITES

  • College Level Reading
  • College Level Mathematics
  • College Level Writing

Academic Discipline/CTE Program Learning Outcomes (PLO)

1. Design and write computer programs that are correct, simple, clear, efficient, well organized, and well documented
2. Know and be able to apply important data structures and algorithms
3. Understand the hardware and software aspects of computer systems that support application software development
4. Identify the fundamental principles of programming, including those of algorithm analysis, software design, operating systems, and database.
5. Develop software engineering proficiency

Course Student Learning Outcomes (SLO): 4 to 7

1. Use advanced graphic functions;
2. Write multi-thread Java programs

3. Access files

4. Write network programs

5. Create applications with database connectivity along with client server architecture.

Learning Objectives (Numbering system should be linked to SLO - e.g., 1.1, 1.2, 1.3, etc.)

1. Use advanced graphic functions;

    1.1 Write Java programs to use GUI such as making windows, drawing with geometric shapes, formatting text in multiple fonts, and displaying images.

    1.2 Using Swing components

2. Write multi-thread Java programs

    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

3. Access files

    3.1 Read and writes files

    3.2 Object streams and serialization

    3.4 Parse XML files

4. Write network programs

    4.1. Use java networking libraries

    4.2. Write Server-client programs.

5. Create applications with database connectivity along with client server architecture.

    5.1 Write DAO classes.

    5.2. Use DAO(s) and JDBC to manipulate data in database.

    5.3. Use DAO(s) and JPA to manipulate data in database.

Instructional Methods

Face to Face

Instructor's Requirements

As a student wanting to learn about the Java language, it is your responsibility to read the textbook and the supplemental materials posted in the blackboard, complete assignments in time, participate in the classroom exercises and activities, and attend class regularly.

 

As I believe that engaging the students in the learning is essential for teaching to be effective, you will spend the majority of class time involved in collaborative activities. You will be involved in class exercises, collaborate with your classmates and your instructor.  As you will want to contribute to these discussions, you will need to come to class prepared to discuss, analyze and evaluate information from your text and other assigned readings.

 

Cheating and Plagiarism

1. Cheating

a)     Copy tests, works, reports etc. from computers, database, programs of other students and people.

b)    Use study materials or electronic devices during examinations, tests without instructor’s permission.

c)     Collaborate with other students during examinations, tests, or assignments without instructor’s permission.

d)    Use or submit the same work for different classes without instructors’ permission.

e)     Use, buy, sell, steal, spread out, ask for a part or a whole of unpublished tests.

f)     Take the test for someone else or have someone take the test for you or help or ask someone to do your homework.

g)    Bribe to get unpublished tests.

h)     Bribe students, instructors, or school staff to change grades.

2. Plagiarism

a)     Submit other people’s works to get points.

b)    Copy words or ideas without citing source and author’s name.

c)     Do not use quotation marks for direct citation.

d)    Cite the wrong source.

e)     Change the wording but sentence structure without citing author’s name.

f)     Borrow words/ phrases from a source without using quotation marks or with making negligible change.

g)    Copy too many words or ideas that make up the most of personal work, regardless of whether source and author’s name are cited.

h)     Copy information from Internet such as company information, market information etc.

i)      Use Google Translation to write up papers, regardless of whether you use your own ideas or borrow ideas.

j)      Use Google Translation to write up papers by translating Vietnamese from existing Vietnamese study materials/ sources into English.

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, projects after the due/closing date.

Grading Scheme

A = 100- 90

B = 89 – 80

C = 79 – 70

D = 69 – 60

F = 59 and below

The passing grade of this course is D.

Instructor Grading Criteria

In-class Test 1:                                    10%

In-class Test 2:                                    10%

Homework Assignments, Projects:      30%

Mid-term Exam:                                   25%

Final Exam:                                          25%

Instructional Materials

Core Java  Volume I – Fundamentals Eight Edition by Car S. Horstmann

Core Java Volume II – Advanced Features, Eight Edition by Car S. Horstmann

Beginning Java EE 6 Platform with GlassFish 3 From Novice to Professional, Second Edition by Antonio Goncalves

 

Course Calendar

 

Week

Date

Topics

Note

1

Tuesday

Orientation & Overview

Graphics Programming

2D Shapes

Chapter 7, Core Java Vol. I

Tuesday

Tutor Session

 

Friday

Colors, Fonts, Images

Event Handling

Chapter 7, Core Java Vol. I

Chapter 8, Core Java Vol. I

Friday

Tutor Session

 

2

Tuesday

Mouse Events

Chapter 8, Core Java Vol. I

Tuesday

Tutor Session

 

Friday

Layout Managers

Chapter 9, Core Java Vol. I

Friday

Tutor Session

 

3

Tuesday

Text Input, Choice Components

Menus

Chapter 9, Core Java Vol. I

Tuesday

Tutor Session

 

Friday

Multithreading

Friday

Tutor Session

 

4

Tuesday

In-Class Test 1

Chapter 14, Core Java Vol. I

Tuesday

Tutor Session

 

Friday

Synchronization

Chapter 14, Core Java Vol. I

Friday

Tutor Session

 

5

Tuesday

Synchronization (Cont’d)

Chapter 14, Core Java Vol. I

Tuesday

Tutor Session

 

Friday

Synchronization (Cont’d)

Chapter 14, Core Java Vol. I

Friday

Tutor Session

 

6

Tuesday

Threads and Swing

Chapter 14, Core Java Vol. I

Tuesday

Tutor Session

 

Friday

Threads and Swing (Cont’d)

Chapter 14, Core Java Vol. I

Friday

Tutor Session

 

7

Tuesday

Streams and Files

Chapter 1, Core Java Vol. II

Tuesday

Tutor Session

 

Friday

Streams and Files (Cont’d)

Chapter 1, Core Java Vol. II

Friday

Tutor Session

 

8

Tuesday

XML

Chapter 2, Core Java Vol. II

Tuesday

Tutor Session

 

Friday

Mid-term Exam

 

Friday

Tutor Session

 

9

Tuesday

Network Programming

Echo Server Problem

Chapter 3, Core Java Vol. II

Tuesday

 

 

Friday

Network Programming

Echo Server Problem (Cont’d)

Chapter 3, Core Java Vol. II

Friday

 

 

10

Tuesday

Sending E-mails

Chapter 3, Core Java Vol. II

Tuesday

 

 

Friday

Chat Problem

Chapter 3, Core Java Vol. II

Friday

 

 

11

Tuesday

Java Persistence

Chapter 2, Beginning Java EE 6

Tuesday

 

 

Friday

Java Persistence (Cont’d)

Chapter 2, Beginning Java EE 6

Friday

 

 

12

Tuesday

In-Class Test 2

 

Tuesday

 

 

Friday

Object-Relational Mapping

Elementary Mapping

Chapter 3, Beginning Java EE 6

Friday

 

 

13

Tuesday

Object-Relational Mapping

Elementary Mapping (Cont’d)

Chapter 3, Beginning Java EE 6

Tuesday

 

 

Friday

Relationship Mapping

Chapter 3, Beginning Java EE 6

Friday

 

 

14

Tuesday

Relationship Mapping (Cont’d)

Chapter 3, Beginning Java EE 6

Tuesday

 

 

Friday

Managing Persistent Objects, JPQL

Queries

Chapter 4, Beginning Java EE 6

Friday

 

 

15

Tuesday

Managing Persistent Objects, JPQL

Queries (Cont’d)

Chapter 4, Beginning Java EE 6

Tuesday

Tutor Session

 

Friday

Final Exam

 

Friday

Tutor Session

 

16

Tuesday

Concurrency

Chapter 4, Beginning Java EE 6

Tuesday

Tutor Session

 

Friday

Advanced Swing

Chapter 6, Core Java Vol. II

Friday

Tutor Session

 

 

 

 

Exam Format

 

Exam

Exam Type

Open/Close Book

Number of Questions

Duration (min.)

Points

Chapters

Mid-term

Practice

Open

4

90

100

7, 8, 9, 14 (I)

Final

Practice

Open

4

90

100

3, 4