CSAS 2123 Syllabus
Office hours:
Here is a list of all the office hours that the course staff offer. If you would like to speak to an instructor and you cannot make it to their office hours, send an email to set up a meeting.
Office Hours:
| hemannja@shu.edu |
| McQuaid 210 |
| Tue |
| 8:00--9:30am or by appointment |
Use the office-hours booking page to reserve a time.
People
Instructors:
|
Communications
If you need help, you may talk to members of the course staff during their office hours. Course staff do not debug programs by email. Use the autograder, class and recitation discussions, and office hours for programming help.
General Policies
Late homework policy: Routine late homework submissions and routine deadline extensions are not available. Instead, each student’s lowest homework score will be dropped automatically at the end of the semester; there is no late-day token or email-extension ledger to manage. Approved formal accommodations remain in force. If serious documented circumstances affect more than one deadline, contact the instructor promptly so that appropriate arrangements can be made.
Laptop and device policy: Use laptops and other devices in class for programming practicals, mastery checks, and exams under the assessment tools policy below, and whenever the instructor directs you to use them for another class activity. Otherwise, keep them closed and put away.
Assessment tools and individual work: Use of AI tools is fully allowed for all course work. During timed programming practicals, mastery checks, and exams, you may use the tools normally available to you, including your IDE, compiler, debugger, notes, course materials, the web, and AI tools. These assessments are individual. Except for responding to course staff during an announced oral or code-walk assessment, you may not communicate or collaborate with another person while completing them, and another person may not provide work specifically for you or for the assessment. You make the submission decisions and are responsible for everything you submit.
No assessment requires a paid AI subscription, a payment card, approval for an optional provider account, or a particular AI product. Every assessment is designed to be completed with the course IDE, compiler, and debugger, without AI. AI and any other tools are permitted additions, but they are optional and do not change the course expectations. If course staff confirm an outage of a required course system or the institution’s network, affected students will receive a uniform extension, rescheduling, or equivalent arrangement. Failure of an optional third-party tool or service does not change a deadline; continue with the course IDE, compiler, and debugger instead. Approved formal accommodations remain in force.
Academic honesty: We will strictly enforce the school, college, and department’s academic integrity policies. You may discuss take-home homework problems with other students, but you may not share or show homework code to another student or other person outside your assigned pair, except course staff. Individual assessments follow the individual-work boundary above. Violations of academic integrity will be reported and will have a negative impact on your grade.
Lectures
Section 1: Monday and Wednesday at 9:30–10:45 a.m.
SC 109 Hemann
Lectures policy:
You are required to read the lecture material for the given lecture before coming to class. During the lectures we will discuss the material covered in the required reading, answer questions, provide additional examples and applications.
It is OK if you do not understand everything when you first read it, but reading about the new concept ahead of time will give you a chance to anticipate the questions you may have and allow you to follow better the details of explanation during the lectures.
Recitations
The goal of the recitations is to see in practice problems that illustrate the concepts covered in the lectures, and to prepare you for the next programming assignment.
Because recitation work is not graded, feedback on it is bounded to autograder results where provided, discussion in recitation or class, and office hours. Course staff do not provide ongoing individual debugging or line-by-line pre-grading.
There is a lot of technical detail related to running Java programs that will be covered in the early recitations. Later ones may focus more on design questions and on good Java programming practice.
Individual Mastery Checks, Programming Practicals, and Code Review
There will be exactly eight individual mastery checks: seven brief checks during class and one Homework 5 code walk during a published appointment window. They will assess whether you can read, write, and explain the essential ideas from recent lectures and assignments. There are no routine makeups or redos. Your lowest of the seven in-class mastery-check scores will be dropped automatically, so a missed check can be one of the dropped scores. Approved formal accommodations remain in force; if serious documented circumstances affect multiple checks, contact the instructor promptly.
All seven in-class checks use the same three-level rubric: 2 for satisfactory evidence of the central mechanism, 1 for meaningful but incomplete evidence, and 0 for no usable evidence. The six retained scores are equally weighted.
Mastery Check 6 is an individually scored Homework 5 code walk. Both partners attend one shared appointment, but each student responds to different prompts independently under the assessment-tools policy. The code walk cannot be dropped. The Homework 5 assignment gives the booking page, appointment format, two-part scoring rubric, preparation guidance, and absence rules.
There will also be two timed, individual programming practicals during class, submitted through Gradescope. The assessment-tools and individual-work policy above applies. There are no routine make-up practicals or exams. If approved accommodations or documented university-recognized circumstances prevent you from attending one, contact the instructor promptly to arrange the required alternative.
We may also conduct walking code reviews of material from recent homework assignments. As presenters, be prepared to explain your design choices to your instructors and your classmates. As reviewers, pay attention both to how the presenters organize their explanations and how they organize their code, and feel free to ask clarifying questions about either.
Computing Environment
You will complete your assignments (other than the first one) using the IntelliJ IDE. Though, if you feel more comfortable, you may choose to use another IDE (e.g. NetBeans) or work directly from the command line, but you and your partner must both be comfortable with the chosen programming environment, and the staff may not be able to assist you with issues encountered in other environments.
You will use the handin server to submit your homework and programming practicals. You may submit homework as many times as you wish before its deadline, though submitting too frequently will be detected and rate-limited, to ensure fairness for other students. Be aware that close to the deadline when everyone submits all at once, the server will become less responsive.
Assignments
There will be exactly seven take-home problem sets. As with CSAS1114/1115, the problem sets will include ungraded exercises and practice problems, that you are strongly encouraged to look at and confirm that you can solve. You may bring specific questions about them to class, recitation, or office hours, but course staff do not pre-grade complete practice solutions.
The graded problems are to be solved collaboratively with your partner. The problems are fixed-contract programming assignments based on recent course work. Graded homework is autograded; there is no separate line-by-line hand-grading component.
Due Dates: Thursdays at 10:00pm, unless otherwise specified. Routine late submissions and extensions are not available; the automatic lowest-homework drop described above provides the ordinary allowance for a missed deadline.
Note: You will submit each homework problem to a separate dropbox on the handin server. For fixed-contract problems, the server will attempt to compile and run your program against automated tests. Separate submissions mean that a syntax error in one problem will not prevent another problem from compiling. The open-design Fishy submission is uploaded separately as the artifact for Mastery Check 6; it does not receive comprehensive automated testing or line-by-line grading. Be careful to submit the correct answers to the correct problems.
Pair Programming
This section applies only to take-home homework, not to mastery checks, programming practicals, or exams. You should work on problem sets in pairs. If you cannot find a partner in class approach course staff; we will help you. You may switch partners during the semester.
Important You and your partner must read each problem and develop its solution together. Follow the roles and switching procedure described in the Pair Programming Overview.
Every partner must be able to solve every homework problem in the end. In other words, you must be able to solve every homework problem on your own.
If you are having difficulties working with your partner, please inform your instructor quickly: we cannot help if we don’t know there’s a problem.
Academic Integrity
All paired-homework programs must be the work of you and your partner. You may discuss the problem sets with others. However, you may not receive or copy homework code or a solution supplied by another student or person outside your assigned pair, and you may not provide your pair’s homework code to others. Use of public web resources and AI tools remains permitted under the assessment-tools policy above and does not violate this human-collaboration boundary. That boundary applies while you complete an individual assessment. Submitting work provided directly by another person for you as your own will be considered a violation of the University’s Academic Integrity Policy. Violations of academic integrity will be reported, and will have strong consequences on your grade, from an automatic zero on the assignment to failing the course.
NOTE: Be aware that while submitting someone else’s code is clearly a violation, so is sharing your code with others, even if you truly just mean to help. Outside an academic environment, sharing code with unauthorized parties can be a criminal offense and have severe and unanticipated consequences.
If you are ever unsure of whether sharing is unacceptable or not, ask one of the course staff.
Exams
There will be one midterm exam and one final exam. The assessment-tools and individual-work policy above applies to both exams. The final will meet during the university-assigned final-exam period.
Grades
15% paired, autograded homework. The lowest homework score is dropped automatically.
20% individual programming practicals: two timed, in-class practicals worth 10% each.
15% in-class mastery checks: seven brief checks, with the lowest score dropped and the six retained scores weighted equally.
10% Homework 5 code walk: one individually scored, in-person code walk that cannot be dropped.
40% exams: one midterm worth 20% and one final worth 20%.
The sole extra-credit opportunity is one percentage point added to your final course percentage for completing the official course evaluations. Submit only the evaluation system’s completion confirmation, never your evaluation responses. No other extra credit is available.
