Course Syllabus

Programming Fundamentals II

COSC 1437

Semester with Course Reference Number (CRN)

Fall 2013

Instructor contact information (phone number and email address)

Pham Dai Xuan

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




Nguyen Hai Son

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


Office Location and Hours

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

Office Hours: 7:30 – 17:00

Course Location/Times


    Room L208, Saigontech Tower, Quang Trung Software City

    Tuesday, 7:30 - 9:00

    Thursday, 7:30 - 9:00


    Room L208, Saigontech Tower, Quang Trung Software City

    Wednesday, 7:30 - 9:00

    Friday, 7:30 - 9:00

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

Credit Hours:



Lecture Hours:



Laboratory Hours:



External Hours:



Total Course Contact Hours


Course Length (number of weeks)


Type of Instruction



Course Description:

The main focus of this course is to introduce advanced concepts of structured programming. In this course, students learns through more advanced topics, such as inheritance, polymorphism, the creation and management packages, advanced GUI applications, and recursion.

Course Prerequisite(s)


  • MATH 1314
  • COSC 1436


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

Academic Discipline/CTE Program Learning Outcomes (PLO)

1. Identify the fundamental principles of programming, including those of algorithm analysis, software design, operating systems, and database

2. Design and develop computer programs that are correct, simple, clear, efficient, well organized, and well documented

3. Know and be able to apply important data structures and algorithms

4. Understand the hardware and software aspects of computer systems that support application software development

5. Develop software engineering proficiency

Course Student Learning Outcomes (SLO): 4 to 7

1. Writing classes and creating objects

2. Text processing and wrapper classes

3. Inheritance

4. Exceptions and advanced IO

5. Introduction to simple GUI applications, event handling mechanism

6. Recursion

7. Introduction to databases

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

1. Writing classes and creating objects

    1.1. Static Class Members

    1.2. Passing Objects as Arguments and Returning Objects from Methods

    1.3. Methods That Copy Objects

    1.4. Aggregation

    1.5. The this Reference Variable

    1.6. Enumerated Types

2. Text processing and wrapper classes

    2.1. Introduction to Wrapper Classes

    2.2. Character Testing and Conversion with the Character Class

    2.3. String Methods and StrinqBuilder Class

    2.4. Tokenizing Strings

    2.5. Wrapper Classes for the Numeric Data Types

3. Inheritance

    3.1. Inheritance in Java

    3.2. Superclass Constructor and Overriding Superclass Methods

    3.3. Protected Members

    3.4. Chains of Inheritance

    3.5. Polymorphism

    3.6. Abstract Classes and Abstract Methods

    3.7. Interfaces

4. Exceptions and advanced IO

    4.1. Handling Exceptions

    4.2. Throwing Exceptions

    4.3. Binary Files, Random Access Files, and Object Serialization

5. Introduction to simple GUI applications, event handling mechanism

    5.1. Creating windows

    5.2. Layout managers

    5.3. Radio buttons, check boxes

    5.4. Borders

    5.6. Other GUI Components

6. Recursion

    6.1. Introduction to Recursion

    6.2. Solving Problems with Recursion

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.

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

Tony Gaddis, Starting Out with Java from Control Structures through Objects, 5th Edition, Chapters 8, 9, 10, 11, 12, 13, 15 Person Education International, 2013.


Course Calendar







Tue, Sept. 17

Introduction to the course

Static Class Members


Chapter 8

Wed, Sept. 18

Tutor Session


Thu, Sept. 19

Passing and Returning Objects

Chapter 8

Fri, Sept. 20

Tutor Session



Tue, Sept. 24


Chapter 8

Wed, Sept. 25

Tutor Session


Thu, Sept. 26

The this Reference Variable

Enumerated Types

Chapter 8

Fri, Sept. 27

Tutor Session



Tue, Oct. 1

Introduction to Wrapper Classes

Character Testing and Conversion with the Character Class

Chapter 9

Wed, Oct. 2

Tutor Session


Thu, Oct. 3

More String Methods

The StringBuilder Class

Chapter 9

Fri, Oct. 4

Tutor Session



Tue, Oct. 8

Tokenizing Strings

Wrapper Classes for the Numeric Data Types

Focus on Problem Solving

Chapter 9

Wed, Oct. 9

Tutor Session


Thu, Oct. 10

In-Class Test 1

Fri, Oct. 11

Tutor Session



Tue, Oct. 15


Calling the Superclass Constructor

Chapter 10

Wed, Oct. 16

Tutor Session


Thu, Oct. 17

Overriding Superclass Methods

Protected Members

Chapter 10

Fri, Oct. 18

Tutor Session



Tue, Oct. 22

Chains of Inheritance

The Object Class

Chapter 10

Wed, Oct. 23

Tutor Session


Thu, Oct. 24


Chapter 10

Fri, Oct. 25

Tutor Session



Tue, Oct. 29

Abstract Classes and Abstract Methods

Chapter 10

Wed, Oct. 30

Tutor Session


Thu, Oct. 31


Chapter 10

Fri, Nov. 1

Tutor Session



Tue, Nov. 5


Chapter 10

Wed, Nov. 6

Tutor Session


Thu, Nov. 7

Mid-term Exam

Fri, Nov. 8

Tutor Session



Tue, Nov. 12

Handling Exceptions

Chapter 11

Wed, Nov. 13

Tutor Session


Thu, Nov. 14

Throwing Exceptions

Binary Files

Chapter 11

Fri, Nov. 15

Tutor Session



Tue, Nov. 19

Random Access Files

Object Serialization

Chapter 11

Wed, Nov. 20

Tutor Session


Thu, Nov. 21

Introduction to GUI Applications

Creating Windows

Chapter 12

Fri, Nov. 22

Tutor Session



Tue, Nov. 26

Layout Manager

Chapter 12

Wed, Nov. 27

Tutor Session


Thu, Nov. 28

Radio Buttons

Check Boxes

Chapter 12

Fri, Nov. 29

Tutor Session



Tue, Dec. 3

Border Objects and Creating Border Objects

Extending class JPanel

Chapter 12

Wed, Dec. 4

Tutor Session


Thu, Dec. 5

In-Class Test 2

Fri, Dec. 6

Tutor Session



Tue, Dec. 10

The Swing and AWT Class Hierarchy

Read-Only Text Fields


Chapter 13

Wed, Dec. 11

Tutor Session


Thu, Dec. 12

Combo Boxes

Display Images in Labels and Buttons

Mnemonics and Tool Tips

Chapter 13

Fri, Dec. 13

Tutor Session



Tue, Dec. 17

File Choosers and Color Choosers


Chapter 13

Wed, Dec. 18

Tutor Session


Thu, Dec. 19

Text Areas


Chapter 13

Fri, Dec. 20

Tutor Session



Tue, Dec. 24


Look and Feel

Chapter 13

Wed, Dec. 25

Tutor Session


Thu, Dec. 26

Final Exam

Fri, Dec. 27

Tutor Session



Tue, Dec. 31

Introduction to Recursion

Solving Problems with Recursion

Examples of Recursive Methods

Chapter 15

Wed, Jan. 1

Tutor Session


Thu, Jan. 2

A Recursive Binary Search Method

The Towers of Hanoi

Chapter 15

Fri, Jan. 3

Tutor Session





Exam Format



Exam Type

Open/Close Book

Number of Questions

Duration (min.)









8, 9, 10







11, 12, 13