Program Design II Syllabus

CSCI 2320 Spring 2019

Instructor Information

Name : Terry Sergeant   Office Hours
E-Mail : MW 8:30-10:00; 1:45-2:45  
Office : JB 322 Tue 8:30-9:30  
Phone : 670-1292 Thu 8:30-11:30  
Web Site : Fri 9:00-10:00  


Description : Students will continue practice in writing correct programs in a high-level language with emphasis on the object-oriented programming methodology. Topics include: OOP, inheritance, polymorphism, recursion, creating generic structures, sorting, searching, and elementary data structures.
Prerequisite : CSCI 1320 with a grade of C or better.
Textbook : No textbook is required. Some students find it helpful to have access to an introductory Java programming book.

Course Objectives

Students who satisfactorily complete this course will (hopefully) be able to:


Your grade in the course will be earned / calculated as follows:
lab days   10%
homework assignments   24%
first exam   22%
second exam   22%
final exam   22%
A $\rightarrow$ 90 - 100
B $\rightarrow$ 80 - 89
C $\rightarrow$ 70 - 79
D $\rightarrow$ 60 - 69
F $\rightarrow$ 0 - 59

Lab Days

Most Wednesday's will be designated as a ``lab day'' in which we will spend some time working on exercises or homework during the class period. Attendance is mandatory and you will receive a grade out 10 possible points for each lab day evaluated as follows:

3 points preparation did you prepare for the lab day in advance?
2 points attendance did you show up on time and stay for the entire lab session?
5 points participation were you actively engaged in the session without distraction?

If you know in advance you will have to be absent on a lab day you can receive credit by doing the following:

  1. Prior to the start of class on Wednesday send email to announcing you will be absent and attaching files you have been working on as evidence of your preparation for the lab period. If your preparation has been significant you will receive 3 points.
  2. Prior to the start of class on Friday send email to explaining your progress since the first email. Also attach files as evidence of your progress. You can receive up to 7 points based on your continued progress.

Homework Assignments

Homework in this course serves as the primary conduit for helping students become proficient programmers. The homework assignments combined with the lab days will serve as anchors for our typical week:
On Monday homework is due and we introduce the lab day instructions and homework assignment for the week along with lecture topics to support them. Wednesday is lab day. Friday is lecture. This schedule will be modified to accommodate exams as well as adjusting to the beginning and end of a semester.

A homework assignment is considered late if it is not submitted at or before the beginning of the class period on the day it is due. Late homework assignments will receive a 30% point penalty and must be completed within a week or the original due date. Assignments that miss the one week deadline will receive a grade of 0 (unless there are extenuating circumstances).

A primary goal of this course is for each student to become an independent problem-solver. Achieving this goal requires that each student practice solving problems independently. The ideal, therefore, is that each student should make a habit of completing every homework assignment without assistance. There are times, however, when you may become stuck and require assistance. For this reason, the standard regarding independent homework is quite loose:

When working a homework assignment you must not make any sort of electronic copy of work that is not your own. Also, you must type assignments yourself. Failure to abide by these rules is a violation of the academic integrity standards for this course.

Unless directed otherwise, all assignments will be submitted by e-mail to the following address:


Exams are comprehensive. The first two exams will be scheduled during the semester and the final exam will take place at the scheduled time during finals week. Exams are to be done without help from others and using only study aids that are expressly allowed by the instructor for that particular exam. Receiving improper help is a violation of the academic integrity policy.

Students with Disabilities

Any student with a professionally diagnosed learning disability and/or other professionally diagnosed disability that may affect course performance may choose to seek accommodation. Eligible students seeking accommodation should contact the Office of the Director of Undergraduate Advising and Disabilities of such as soon as possible in the academic term (preferably during the first two weeks of a long semester) for which they are seeking accommodations. The director will prepare letters to appropriate faculty members concerning specific, reasonable academic adjustments for the student. The student is responsible for delivering accommodation letters and conferring with faculty members. Please refer to the most recent version of the Undergraduate Catalog for the complete policy. (Rachel King, Director of Undergraduate Advising and Disabilities, Office: SM-209, Phone: 670-5842, Email:

Academic Integrity

Violations of academic integrity have been described to some degree in other sections of this syllabus.

Cases of suspected academic dishonesty will be handled in accordance with university policies outlined in Undergraduate Catalog and in the Student Handbook. The current catalog prescribes that ``no student who has violated the Academic Integrity Policy will be allowed to graduate from Hardin-Simmons University with honors.'' Penalties will be assigned at the discretion of the instructor and typically range from failure on the assignment to failure of the course. A general rule-of-thumb is that a first offense (if not too major) will result in a zero on the assignment and a second offense will result in an F for the course. The current catalog states that an F earned in this way cannot be replaced by retaking the course.

Computer Account Use

The instructor may occasionally use email to communicate with the class as a whole or with individuals. When contacting you for this course the instructor will use your HSU email account. You are expected to check your HSU email account at least once per day and you will be held responsible for any content distributed in this way.


Regarding class attendance, the Undergraduate Catalog states:
Accordingly, absence from more than 25 percent of class meetings and/or laboratory sessions scheduled for a course (including absences because of athletic participation) is regarded as excessive, and a grade of F may be assigned as deemed appropriate by the professor.

Course Calendar and Class Structure

We may vary from this outline somewhat but the exam dates are fairly firm.

Week Date Topic / Schedules
Week 1 14 Jan Using git
Week 2 21 Jan Mon: MLKJ Day; Parallel Arrays
Week 3 28 Jan Intro to Classes
Week 4 04 Feb Intro to OOP
Week 5 11 Feb Fri: Exam #1
Week 6 18 Feb OOP Inheritance & Polymorphism
Week 7 25 Feb Recursion
Week 8 04 Mar Recursion / Searching
Week -- 11 Mar Spring Break
Week 9 18 Mar Sorting
Week 10 25 Mar Generics; Fri: Exam #2
Week 11 01 Apr Multi-dimensional Arrays
Week 12 08 Apr Linked Lists
Week 13 15 Apr Linked Lists; Fri: Easter Break
Week 14 22 Apr Stacks
Week 15 29 Apr Queues
---   Final Exam: Mon 06 May 10:30am