Program Design II Syllabus
CSCI 2320
Spring 2026
NOTE: Office hours and office location are valid for weeks the
instructor is on campus and the course has a face-to-face format. 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 |
|
6% |
| lab days |
|
9% |
| online checkins |
|
4% |
| homework assignments |
|
15% |
| 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.
- Wednesday 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 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 since the last checkin and time spent working on
homework. You will receive up to 5 points for each checkin event. To receive all
5 points at a checkin you must follow these guidelines:
- Connect to the P2 Teams Meeting Room
(https://josephus.sergeantservices.com/meeting_room/p2) before the
start of the session (10:00am).
- Participate appropriately in the session with your camera on and
remaining engaged until the session is dismissed by the instructor.
NOTE: You will lose a point for each minute you are not present (not to
exceed 5 deductions in a checkin session).
- You must be in a distraction-free environment, ready to take notes and
to work on your computer throughout the sesssion. During the session it
is not appropriate to be eating, driving, turning your camera on and
off, interacting with people who are not part of the session. If your
living space does not offer such an environment then you should be
in the classroom for the checkin session.
- If you are unsure of whether something will be appropriate or not, use
this as your standard: If you were interviewing for your dream job, would
you do the thing you are considering?
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.
LLMs (e.g., ChatGPT, Gemini, etc.) are wonderful tools that can enhance
productivity. They will be play a very limited roles in this course, however.
The goal in this course is not to increase productivity, but rather to
achieve learning. The kind of learning we want to achieve is only possible
with repeated struggle-sleep cycles. Using LLMs for completing a homework
assignment interrupts that cycle and defeats learning.
Here is the pattern you need to follow with regard to homework assignments:
- When you hear a lecture or watch a lecture video you should plan
to take notes on paper. Why take notes? It enhances learning. Why
paper? Multiple studies have shown that physically writing something
produces different activities in the brain than typing the same
thing ... and you remember better when you write.
- When taking notes you should especially dot down notation and concepts
that are being introduced. The total knowledge that exists about
databases could fill many college courses. What is presented in this
course is the curated gold. If you master the concepts presented in this
course you have a solid foundation for acquiring additional knowledge and
can become truly productive.
- When you are faced with a homework assignment you MUST only use those
resources that have been expressly allowed for that assignment. Imagine
if this course had the goal of getting you ready to run a marathon. A
homework assignment asking you to run a 5-mile route could be finished
much more quickly and easily if you hop on a motorcycle and drive the
route! The problem, of course, is that you did not accomplish the purpose
of the assignment. The purpose was not to traverse the route, but rather
was to produce in your endurance, muscular development, bone density,
cardiovascular growth, etc. None of those benefits come by riding the
motorcycle.
- If you find yourself struggling with a homework assignment that is a
good thing. It is in the struggle that you actually learn. Getting help
should be your last resort. And when you get help, it MUST be ONLY using
the resources that are allowed for that assignment.
- If there are 5 days between when an assignment is given and when it
is due you need to think of it as needing 5 days of your attention. So,
you need to start it on the day it is assigned. When you first read
an assignment you should write down the major steps that you'll need
to take and then start assembling the parts you need. If you don't
know how to start then you should review notes and lectures. If that
doesn't help then ask your instructor for guidance. If you want until
the due date to start an assignment there is not time for you to do
the needed steps to complete it.
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 13 Feb |
Exam #1 |
|
| Fri 27 Mar |
Exam #2 |
|
| Mon 04 May |
Final Exam (at 10:30am) |
|