Skip to content

Policies

Collaboration

All your work, even when done collaboratively, is your responsibility in terms of being able to demonstrate understanding, knowledge, and mastery of the material.

You may not discuss or collaborate in any way with anyone while completing exams or APT quizzes.

You may discuss projects and APTs with peers, but the code you write for these assignments must be entirely your own. In general, you should never be looking directly at another student’s code (for a project or APT for the class) or sharing your own code directly with another student. Think of it like writing a paper in a writing class: You might discuss your ideas for your paper with another student, but you would ultimately do the writing yourself. Consider the following scenarios:

  • My friend’s program is not working correctly. Can I help them with it?
    • Yes, you can ask your friend what the problem is and discuss possible solutions.
    • No, you may not look at your friend’s program and tell them to change line 10 to be <insert_the_fix_here>.
  • My friend doesn’t know how to start an APT or Project. Can we discuss it?
    • Yes, you can discuss the problem as well as how you are thinking about solving it, including working examples by hand, discussing algorithms and data structures, etc., similar to what we do in discussion sections every week.
    • No, you may not write their code for them, even if just to “get them started.”

Using the Internet and AI

We expect that you will utilize the internet as a resource during the class, and you may consult ChatGPT and other LLMs. What appropriate use means depends in part on the assignment. For projects and APTs, think of the internet like a collaboration as described above: You may certainly look for help figuring out Java syntax, brainstorming for how to transform one data structure into another, etc., but ultimately the code you write must be your own. You should never copy blocks of code from the internet that you did not write. You should also never search/query for solutions to specific APT problems or projects; presenting such work as your own constitutes plagiarism and, perhaps more importantly, deprives you of the opportunity to practice and learn.

For APT quizzes, you may use (a) course materials, including videos, slides, and Zybook, (b) official Java documentation, (c) any of your own personal notes, and (d) JShell and a code editor or IDE such as we use in the course. You should not otherwise search the internet or view/post to forums such as StackOverflow; both because it is in violation of course policy and because (secondarily) it is not a good use of your limited time during an assessment. To reiterate, the use of ChatGPT, Copilot, or other LLMs is not allowed when completing APT quizzes. We will look carefully at all submissions and you’ll be asked to record your screen during completion of each APT quiz (see below).

Recording Your Work for P0 and APT Quizzes

For the first project, P0, we will require you to record roughly the first twenty minutes you spend programming (not reading the assignment) by using Zoom and recording the screen as you begin to program. For APT programs that are part of an APT quiz, you’ll be required to record your screen from beginning to completion of each APT quiz problem.  

  • For P0, course staff will review your work simply to see how you make progress. We do not run software similarity detection tools on code submitted for projects. We do ask you to list all students and staff you’ve talked with in completing each project.
  • For APT quizzes, you’re required to work alone and without using ChatGPT or other LLMs (Updated 1/16: you may not use Copilot in VS Code). The recording of your screen is one way we see your work. We also review every APT submission as part of ascertaining that your work is your own. We do run software similarity detection tools comparing your work with solutions turned in by other students as well as solutions developed by ChatGPT and other LLMs. Please see the section above about violations of the Duke Community Standard and course rules with respect to APT quizzes. 

To record your session, you’ll start Zoom, choose to share your entire Desktop/Screen, then record to the cloud. You do not need to have either your audio or your video on during this session, though you’re welcome to. When you stop the recording, Zoom will email a link to the cloud recording when it’s ready. You’ll submit this URL/link as part of each project and APT quiz program.

Late Work

The policy for late or missing work may by assignment, see the assignments and grades page for individual details. Projects and APTs can be submitted late with penalty. In addition, we drop some of the lowest APT sets, projects, discussion, and lecture questions in order to provide flexibility due to illness or other extenuating circumstances. Substantial flexibility is therefore built into the course policy. It is up to you to use that flexibility responsibly. We do not grant additional individual exceptions beyond the extensive flexibility that is already provided to all students.

Attendance

Attendance in lecture and discussion is expected, both for the benefit of your own learning and for the benefit of your peers as we have group activities. In terms of impact on your grade, see the assignments and grades page. A small portion of your grade comes from participating in in-class exercises during lecture and discussion. These should be the easiest points you get all semester; just come to class and discussion and participate with honest effort.

We understand that you may miss some classes due to personal circumstances, health, quarantine, etc. To accommodate, you can miss up to 6 lectures and 3 discussions with no penalty. You do not need to submit anything (including STINFs) or email us (please don’t!) for this accommodation; we will just apply it to everyone.

This flexibility is intended to ensure that you are not penalized for occasional absence due to illness or other personal needs with minimal oversight into your personal life by the course staff. We do not grant additional accommodations beyond this.

Grade Correction Requests

Grade correction requests for projects should be submitted through Gradescope. Regrade request windows will typically be for one week after grades are released. Grades are typically only changed in the event of administrative error or clear grader error (e.g., forgot to hit a rubric button for something clearly present in a solution); please do not submit requests simply to ask for more credit for an incorrect or incomplete solution.