Course Syllabus

Programming Fundamentals I

COSC 1436


Semester with Course Reference Number (CRN)

Fall 2017

Instructor contact information (phone number and email address)

Pham Dai Xuan

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

Email: xuanpd@saigontech.edu.vn

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

 

Nguyen Duc Tien

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

Email: tiennd@saigontech.edu.vn

Office Location and Hours

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

Office Hours: 7:30 – 16:30

Course Location/Times

Lecture:

    Room, SaigonTech Tower, Quang Trung Software City

    Monday, 13:00 - 14:45

    Friday, 13:00 - 14:45

Lab:

    Room, SaigonTech Tower, Quang Trung Software City

    Monday, 15:00 - 16:45

    Friday, 15:00 - 16:45

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 the fundamental concepts of structured programming.  Topics include software development methodology, data types, control structures, functions, arrays, and the mechanics of running, testing, and debugging.  This course assumes computer literacy.

To introduce the student to a variety of terms, definitions, and concepts that apply to the structure programming. Students will learn fundamentals of Java, decisions structures, loops and files, methods, classes, GUI applications, and Arrays in Java.

Course Prerequisite(s)

PREREQUISITE(S): 

  • MATH 1314


  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. Compiling and running a Java program

2. Understanding control statements in Java

3. Understanding how to write a method, parameters and return values of a method

4. Writing classes and creating objects

5. Using arrays and processing array elements

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

1. Compiling and running a Java program

    1.1. Programming languages

    1.2. Programming process

    1.3. Java fundamentals

    1.4. Displaying console output

2. Understanding control statements in Java

    2.1. Decision statements

    2.2. Loop statements

3. Understanding how to write a method, parameters and return values of a method

    3.1. Method declaration

    3.2. Passing arguments to a method

    3.3. Local variables in a method

    3.4. Returning a value from a method

4. Writing classes and creating objects

    4.1. Introducing classes and objects

    4.2. Instance fields and methods

    4.3. Constructors

    4.4. Overloading methods, constructors

    4.5. Scope of instance fields

5. Using arrays and processing array elements

    5.1. Introduction to arrays

    5.2. Processing array elements

    5.3. Passing arrays as arguments to methods

    5.4. Returning arrays from methods

    5.5. String arrays, arrays of objects

    5.6. Multi-dimensional arrays

    5.7. ArrayList class

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.

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

Tony Gaddis, Starting Out with Java from Control Structures through Objects, 6th Edition, Chapters 1-7, Person Global Edition, 2016.

 

Course Calendar

 

Week

Date

Topics

Note

1

Mon., Oct. 2, 2017

Introduction to the course

Introduction to computers and Java

 

Chapter 1

Mon., Oct. 2, 2017

Tutor session

 

Fri., Oct. 6, 2017

Java fundamentals

Variables, primitive data types

Arithmetic operations

Combined assigned statements

Chapter 2

Fri., Oct. 6, 2017

Tutor session

2

Mon., Oct. 9, 2017

String class

Scope

Reading keyboard input

Chapter 2

Mon., Oct. 9, 2017

Tutor session

Fri., Oct. 13, 2017

if statement

Logical operators

Chapter 3

Fri., Oct. 13, 2017

Tutor session

3

Mon., Oct. 16, 2017

Comparing String objects

Variable declaration and scope

switch statements

Chapter 3

Mon., Oct. 16, 2017

Tutor session

Fri., Oct. 20, 2017

In-Class Test 1

Fri., Oct. 20, 2017

Tutor session

 

4

Mon., Oct. 23, 2017

while loop

do-while loop

Chapter 4

Mon., Oct. 23, 2017

Tutor session

Fri., Oct. 27, 2017

for loop

Nested loop

The break and continue statements

Chapter 4

Fri., Oct. 27, 2017

Tutor session

5

Mon., Oct. 30, 2017

Methods

Passing arguments to a method

Chapter 5

Mon., Oct. 30, 2017

Tutor session

Fri., Nov. 3, 2017

Local variables

Returning a value from a method

Chapter 5

Fri., Nov. 3, 2017

Tutor session

6

Mon., Nov. 6, 2017

Problem solving with methods

Chapter 5

Mon., Nov. 6, 2017

Tutor session

Fri., Nov. 10, 2017

Classes and objects

Fri., Nov. 10, 2017

Tutor session

 

7

Mon., Nov. 13, 2017

Instance fields and methods

Chapter 6

Mon., Nov. 13, 2017

Tutor session

Fri., Nov.17, 2017

Mid-term Exam

Chapter 6

Fri., Nov. 17, 2017

Tutor session

8

Mon., Nov. 20, 2017

Constructors

Chapter 6

Mon., Nov. 20, 2017

Tutor session

Fri., Nov. 24, 2017

Overloading methods and constructors

Chapter 6

Fri., Nov. 24, 2017

Tutor session

9

Mon., Nov. 27, 2017

Scope of instance fields

Import statements

Chapter 6

Mon., Nov. 27, 2017

Tutor session

Fri., Dec. 1, 2017

Focus on OOP design

Fri., Dec. 1, 2017

Tutor session

 

10

Mon., Dec. 4, 2017

Focus on OOP design

Chapter 6

Mon., Dec. 4, 2017

Tutor session

Fri., Dec. 8, 2017

Introduction to arrays

Processing array elements

Chapter 7

Fri., Dec. 8, 2017

Tutor session

11

Mon., Dec. 11, 2017

Passing arrays as arguments to methods

Returning arrays from methods

Chapter 7

Mon., Dec. 11, 2017

Tutor session

Fri., Dec. 15, 2017

In-Class Test 2

Fri., Dec. 1,5 2017

Tutor session

 

12

Mon., Dec. 18, 2017

String arrays

Arrays of objects

Chapter 7

Mon., Dec. 18, 2017

Tutor session

Fri., Dec. 22, 2017

String arrays

Arrays of objects

Chapter 7

Fri., Dec. 22, 2017

Tutor session

 

13

Mon., Dec. 25, 2017

Multi-dimensional arrays

ArrayList class

Chapter 7

Mon., Dec. 25, 2017

Tutor session

 

Fri., Dec. 29, 2017

Multi-dimensional arrays

ArrayList class

Chapter 7

Fri., Dec. 29, 2017

Tutor session

 

14

Mon., Jan.1, 2018

(New Year’s Day)

Final Exam

Chapter 7

Mon., Jan.1, 2018

(New Year’s Day)

Tutor session

 

Mon., Jan.5, 2018

Multi-dimensional arrays

ArrayList class

Chapter 7

Mon., Jan.5, 2018

Tutor session

 

 

 

 

Exam Format

 

Exam

Exam Type

Open/Close Book

Number of Questions

Duration (min.)

Points

Chapters

Mid-term

Practice

Open

4

90

100

2, 3, 4, 5

Final

Practice

Open

4

90

100

6, 7