Program Design II Syllabus
CSCI 2320
Fall 2025
NOTE: Office hours and office location are valid for Weeks 1, 2, 3, 9, and 10 of the semester. For the other weeks office hours will be held online by appointment.
| 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. |
Students who satisfactorily complete this course will (hopefully) be able
to:
- design and construct Java programs according to the
object-oriented programming paradigm with mastery of core
concepts/techniques such as encapsulation, inheritance, and
polymorphism
- independently construct Java code that will correctly
implement solutions to problems that require the following concepts
or techniques: text files, multi-dimensional arrays, classes, linked lists, common sorting
techniques, sequential searches in lists and arrays, binary search,
arrays of classes, and recursion
- represent the object-oriented design of a solution using UML
- trace the execution of a program that makes use of any of the
features, data structures, or algorithms presented in class
- express a solution to a natural language problem in a recursive
fashion (when appropriate)
Your grade in the course will be earned / calculated as follows:
| CodeSpiral |
|
8% |
| lab days |
|
8% |
| online checkins |
|
4% |
| homework assignments |
|
14% |
| first exam |
|
22% |
| second exam |
|
22% |
| final exam |
|
22% |
| A |
 |
90 |
– |
100 |
| B |
 |
80 |
– |
89 |
| C |
 |
70 |
– |
79 |
| D |
 |
60 |
– |
69 |
| F |
 |
0 |
– |
59 |
This course has an unusual structure. During the first three weeks of the semester and the two weeks right after fall break, the course will have a face-to-face format. During the other weeks, the course will have an online format. The structure of a typical week will vary accordingly:
- Weeks Instructor is On Campus
- Sunday 11:59pm homework is due.
- Monday 10:00am–10:50am is a lecture period.
- Tuesday 11:59pm CodeSpiral module is due.
- Wednesday 10:00am–10:50am is a lab day.
- Friday 10:00am–10:50am is a lecture period.
- Weeks Instructor is Off Campus
- Sunday 11:59pm homework is due.
- Monday 10:00am–10:50am is an online checkin (see description below).
Also, consume online lecture(s) in preparation for lab day.
- Tuesday 11:59pm CodeSpiral module is due.
- Wednesday 10:00am–10:50am is a lab day.
- Thursday to Saturday: consume online lecture(s) and work on homework.
You will be given free access to https://codespiral.academy, which is a
site that provides customized exercises arranged in modules. The modules will follow
the course topics and you will be required to complete a module most weeks. The
learning modules will help you devleop proficiency in the topics of this course.
For each module you complete entirely prior to the due date you will receive 10 points.
If you complete the module within a week of a due date you will receive 8 points.
Modules that are not complete or are completed more than a week after the due date
will receive 0 points.
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:
- Prior to the start of class on Wednesday leave a comment on the lab day
assignment in Canvas announcing you will be absent and do a commit of your
prelab assignment and push it to GitHub. If your committed prelab work
is on time and correct you will receive 3 points.
- Prior to noon on Friday leave a comment on the lab day assignment in
Canvas explaining your progress since the first message. Perform a commit
and push of your completed lab day work to received up to 7 points.
Even during weeks when the instructor is not campus there will be someone
present to conduct the lab days and who will be able to answer questions.
During weeks when the instructor is not present and there is not an exam
scheduled we will use the Monday class meeting times to have an online checkin.
The checkins are mandatory and you should be prepared to meet online for the
entire session. A typical checkin will involve some announcements, a question
and answer time, and an evaluation of homework that was submitted the day
before. You will receive up to 5 points for each checkin event. To receive all 5
points at a checkin you must do all of the following:
- Connect to the P2 Teams Meeting Room (https://josephus.sergeantservices.com/meeting_room/p2) before the start of the session (9:00am).
- Participate appropriately in the session with your camera on and remaining engaged until the session is dismissed by the instructor.
You will lose a point for each minute you are not present (not to exceed 5 deductions in a checkin session).
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.
A homework assignment is considered late if it is not submitted at or
before the specified due date/time. Late homework assignments will receive a
20% 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. For that reason, each assignment contains a list of
allowed resources. You will be required to complete each assignment using ONLY
the allowed resources.
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 outside help other than the study aids
that are expressly allowed by the instructor for that particular exam.
Receiving improper help is a violation of the academic integrity policy.
The instructor will be physically present for Exam #2. That exam will be hand-written
during the scheduled class session. The instructor will not be present
for Exam #1 and Exam #3, so the exams will be administered in an unusual way:
- The exam will take place on the specified day during the regularly scheduled
class period and in the usual room.
- The exam will be presented in online form and will require use of the
lock-down browser (instructions for downloading and using the browser will
be provided in advance of the first exam).
- You will be able to bring (and reference) printouts of the
command-sheets (without commentary) that were provided in the first week.
- You will be able to bring blank paper and writing utensils in case you
find it helpful to jot ideas down before typing them.
- The exam is time-limited based on the length of the class period so you
will need to work quickly and efficiently.
Modern AI tools are very proficient at solving short exercises in well-explored domains.
The goal of this course is not to have a program written by any means. The goal is for
you to develop the skills necessary to write such programs yourself. For this reason,
you MAY NOT, under any circumstances make use of AI Tools when working exams or
when working homework assignments. Once you have seen the instructions for a
homework assignment, consulting an AI tool for help on any part of that assignment
is a violation of the academic integrity policy.
There are, however, times when you can get help from an AI tool. When a topic is
introduced on Monday, if there are concepts related to that topic you do not
understand you can ask an AI tool to explain the topics to you, give you
practice questions to solve, and give you feedback.
So imagine in a typical week:
- Monday morning until class on Wednesday
- Use your prefered AI tool to help
fill in any gaps that were missing from the lecture, CodeSpiral exercises, and
lab day exercises.
- Wednesday after class until homework is due
- Do NOT consult with an AI tool
for anything related to this course.
An individual with a disability is defined by the Americans with Disabilities
Act (ADA) as a “person who has a physical or mental impairment that
substantially limits one or more major life activities.” Any student with a
documented disability may choose to seek accommodations. Eligible students
seeking accommodation should contact the
Director of Undergraduate Advising and Disabilities
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. (Carol Krueger, Director of
Undergraduate Advising and Disabilities, Office: Sandefer Memorial, 1st floor
Academic Advising Center, Phone: 325-670-5867, Email: disabilityservices@hsutx.edu)
Peer-to-peer academic support (tutoring) is available for all undergraduate HSU
students. The Academic Center for Enrichment (ACE) is open for virtual tutoring
sessions via Zoom. To access instructions or make an appointment, open the ACE
course on your Canvas dashboard. For additional information regarding academic
support, contact the Advising Center at 325-670-1480 or tutoring@hsutx.edu.
In addition, all full or part-time students are eligible to receive free,
confidential, and voluntary counseling services at HSU. Services include
consultation, evaluation, counseling, and crisis support services for students
facing issues impacting their overall well-being. To obtain any of these
services, students may call The Office of Counseling Services at (325) 671-2272,
email counseling@hsutx.edu, or begin the intake process by completing our online
forms at:https://www.hsutx.edu/intake.
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.
We will utilize Canvas to provide outline for the course. Do take notice of
these planned exam dates:
| Date |
Event |
|
| Fri 26 Sep |
Exam #1 |
|
| Fri 31 Oct |
Exam #2 |
|
| Wed 10 Dec |
Final Exam (at 8:00am) |
|