Program Design II Syllabus
CSCI 2320
Spring 2024
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:
lab days |
|
10% |
homework assignments |
|
24% |
first exam |
|
22% |
second exam |
|
22% |
final exam |
|
22% |
A |
|
90 |
– |
100 |
B |
|
80 |
– |
89 |
C |
|
70 |
– |
79 |
D |
|
60 |
– |
69 |
F |
|
0 |
– |
59 |
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 bitbucket. If your committed prelab work
is on time and correct you will receive 3 points.
- Prior to the start of class 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.
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 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. Here is a list of the resources allowed for all
assignments (except for the first).
In completing this assignment you MAY use/access the following resources:
You may NOT use/access:
- Resources not expressly listed above, including, but not limited to,
the following ...
- Source code not provided as part of this assignment. (Obviously, this
includes, but is not limited to, source code written by other students
whether current or in the past).
- Code-generating tools (of which ChatGPT is one example).
- Any web sites not directly linked to from the homework assignment.
Failure to abide by these guidelines will result in a zero for the assignment
and the incident will be reported to the university provost as a violation of
the university academic integrity policy. A second incident of academic
dishonesty (whether from this course or another computer science course) will
result in an F in the course.
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.
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 16 Feb |
Exam #1 |
|
Fri 05 Apr |
Exam #2 |
|
Mon 06 May |
Final Exam (at 10:30am) |
|