Course Syllabus

Programming Fundamentals II

COSC 1437


Semester with Course Reference Number (CRN)

Spring 2014

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/

 

Nguyen Hai Son

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

Email: sonnh@saigontech.edu.vn

Office Location and Hours

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

Office Hours: 7:30 – 17:00

Course Location/Times

Lecture:

    Room L208, Saigontech Tower, Quang Trung Software City

    Tuesday, 7:30 - 9:00

    Thursday, 7:30 - 9:00

Lab:

    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:

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:

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)

PREREQUISITE(S): 

  • MATH 1314
  • COSC 1436


  FREQUENT REQUISITES

  • 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

 

Week

Topics

Note

1

Introduction to the course

Static Class Members

 

Chapter 8

Tutor Session

 

Passing and Returning Objects

Chapter 8

Tutor Session

 

2

Aggregation

Chapter 8

Tutor Session

 

The this Reference Variable

Enumerated Types

Chapter 8

Tutor Session

 

3

Introduction to Wrapper Classes

Character Testing and Conversion with the Character Class

Chapter 9

Tutor Session

 

More String Methods

The StringBuilder Class

Chapter 9

Tutor Session

 

4

Tokenizing Strings

Wrapper Classes for the Numeric Data Types

Focus on Problem Solving

Chapter 9

Tutor Session

 

In-Class Test 1

Tutor Session

 

5

Inheritance

Calling the Superclass Constructor

Chapter 10

Tutor Session

 

Overriding Superclass Methods

Protected Members

Chapter 10

Tutor Session

 

6

Chains of Inheritance

The Object Class

Chapter 10

Tutor Session

 

Polymorphism

Chapter 10

Tutor Session

 

7

Abstract Classes and Abstract Methods

Chapter 10

Tutor Session

 

Interfaces

Chapter 10

Tutor Session

 

8

Interfaces

Chapter 10

Tutor Session

 

Mid-term Exam

Tutor Session

 

9

Handling Exceptions

Chapter 11

Tutor Session

 

Throwing Exceptions

Binary Files

Chapter 11

Tutor Session

 

10

Random Access Files

Object Serialization

Chapter 11

Tutor Session

 

Introduction to GUI Applications

Creating Windows

Chapter 12

Tutor Session

 

11

Layout Manager

Chapter 12

Tutor Session

 

Radio Buttons

Check Boxes

Chapter 12

Tutor Session

 

12

Border Objects and Creating Border Objects

Extending class JPanel

Chapter 12

Tutor Session

 

In-Class Test 2

Tutor Session

 

13

The Swing and AWT Class Hierarchy

Read-Only Text Fields

Lists

Chapter 13

Tutor Session

 

Combo Boxes

Display Images in Labels and Buttons

Mnemonics and Tool Tips

Chapter 13

Tutor Session

 

14

File Choosers and Color Choosers

Menus

Chapter 13

Tutor Session

 

Text Areas

Fonts

Chapter 13

Tutor Session

 

15

Sliders

Look and Feel

Chapter 13

Tutor Session

 

Final Exam

Tutor Session

 

16

Introduction to Recursion

Solving Problems with Recursion

Examples of Recursive Methods

Chapter 15

Tutor Session

 

A Recursive Binary Search Method

The Towers of Hanoi

Chapter 15

Tutor Session

 

 

 

 

Exam Format

 

Exam

Exam Type

Open/Close Book

Number of Questions

Duration (min.)

Points

Chapters

Mid-term

Practice

Open

4

90

100

8, 9, 10

Final

Practice

Open

4

90

100

11, 12, 13