COS 126 Programming Assignments FAQ
This page answers common questions about coding, testing, and submitting COS 126 assignments. If you do not find an answer here, ask on Ed or attend office hours.
Click a question to reveal the answer.
Getting started
Q.Which Java programming environment (IDE) should I use for COS 126?
A.
We strongly recommend our custom version of IntelliJ. It is the only IDE we support.
Q.I already have IntelliJ. Do I still need to install the COS 126 version?
A.
Yes. Install (or update to) the COS 126 version, which we refresh every summer.
Q.How do I unzip the assignment ZIP file?
A.
- macOS: Double-click the
.zipfile in Finder to extract it (if it wasn’t automatically extracted when you downloaded it). - Windows: Right-click the ZIP file and choose Extract All….
Q.How do I open an assignment project in IntelliJ?
A.
Download the assignment ZIP file, unzip it, then open the project folder in IntelliJ.
Do not open a file or subfolder inside the project folder.
Q.Where should I store assignment projects?
A.
Create one folder for all COS 126 assignments, and keep each assignment in its own subfolder.
Q.What is in the assignment project folder?
A.
It typically includes data files and course configuration files.
Q.How do I create a new Java class in IntelliJ?
A.
Select LIFT → New Java Class from the menu.
Course policies
Q.What Java features are allowed on assignments?
A.
Use only Java features that have been covered in lecture, precept, or the assigned readings for this point in the course. If you are unsure whether something is in scope, ask on Ed before using it.
For reference, the Java Programming Cheatsheet
lists the Java features we use during the semester.
Q.Can I copy or adapt code from the course materials?
A.
Yes. You may copy or adapt code from course materials, including the textbook, lecture slides, precepts, and assignment specifications.
If you copy substantial code, include a brief comment citing the source.
Do not copy solutions or code from outside course materials.
Q.Can I use generative AI tools in programming assignments?
A.
No. You may not use generative AI for any part of a programming assignment,
including writing code, debugging, explaining errors, generating comments,
summarizing, or reformatting).
These assignments are designed to help you build your own ability to reason about code.
Submitting AI-generated work defeats that purpose and violates the course collaboration policy.
Q.Should I include my name and NetID in every file I submit?
A.
No. We grade anonymously. Do not put any personally identifiable
information in
.java files or readme.txt.Style and readability
Q.How should I format my code?
A.
- Use 4 spaces per indentation level.
- Keep lines to 87 characters or fewer in
.java,readme.txt, andacknowledgments.txtfile. - Use whitespace for readability: blank lines between logical sections and spaces around operators.
Q.How should I write clear code?
A.
- Use meaningful variable names (for example,
isOrdered, notoorordered). Loop indices likeiandjare fine. - Prefer simple conditionals: write
if (isBlue) { ... }, notif (isBlue == true) {...}. - Match the require types: if an input is specified as an integer, store it in an
int. - Match the required control flow: if the specification requires a
whileloop, use awhileloop. - Match the output format exactly, including punctuation, spacing, and number of lines. Remove debugging prints before submitting.
- Avoid magic numbers. Give important constants a named variable (e.g.,
int DAYS_PER_WEEK = 7). - Minimize scope: declare variables in the smallest block where they are used.
- In OOP assignments, use instance variables only when they represent per-object state. Make all instance variables
private.
Q.How should I comment my code?
A.
- Add a brief comment above each logical section of code.
- Comment every method, documenting its purpose, inputs, and outputs.
- Comment any local variable whose purpose is not obvious from its name.
- In OOP assignments, comment every instance variable.
- Write comments as you code so your intent stays clear.
Q.Is there another useful resource on writing clear programs?
A.
Yes. Our style guide is a useful additional resource. Some guidelines may not make sense yet, but they will as the semester unfolds.
Required text files
Q.How should I edit readme.txt and acknowledgments.txt?
A.
Use IntelliJ (recommended). Save them as plain text files.
Do not change their names or file extensions.
Q.What is a readme.txt file?
A.
It is a short narrative description of your work.
Use the provided template and answer every question.
Do not include your name, NetID, or email address in
readme.txt.Q.What is an acknowledgments.txt file?
A.
It lists who helped you (with dates) and includes the required academic integrity
statement with your digital signature
We grade an assignment only after
acknowledgments.txt has been submitted.Assignment submissions
Q.How do I submit an assignment?
A.
Submit assignments on TigerFile. Each assignment has its own submission link.
Q.How do I log in to TigerFile?
A.
Log in with your OIT NetID and password.
Q.I cannot log in to TigerFile. What should I do?
A.
To access TigerFile, you must be officially enrolled in the course.
Make sure you are using the submission link for the current semester.
If you still cannot log in, post on Ed.
Q.Can I submit via Canvas or email instead of TigerFile?
A.
No. All programming assignments must be submitted via TigerFile.
Q.How do I correctly submit an assignment?
A.
- Remove debugging output.
- Upload all required files (your latest versions).
- Match the required output format exactly (spelling, spacing, punctuation, and number of lines).
- After testing locally, click
Check Submitted Filesand fix any reported issues. - When you are ready for grading, upload
acknowledgments.txt.
Q.Can I resubmit after uploading?
A.
Absolutely. You may resubmit as often as you like before the deadline.
Q.How do I fix Filename is not in list?
Late submissions
Q.How do I submit an assignment after the deadline?
A.
Submit as usual in TigerFile. Upload
acknowledgments.txt only when you are ready for your work to be graded.Q.How do I use late days for an assignment?
A.
They are applied automatically.
Partnered submissions
Q.On assignments that allow partners, how do we upload files?
A.
Create a TigerFile group for the assignment and add your partner. Either partner may upload files.
Q.I am working alone, but TigerFile requires a group to submit. What should I do?
A.
Create a group with one member (just you).
Q.Can either partner upload files?
A.
Yes.
Check Submitted Files
Q.What does Check Submitted Files do?
A.
It compiles your code and runs automated checks against the assignment specification. These include correctness tests and, on some assignments, performance and memory checks. It also runs static analysis (SpotBugs and Checkstyle) to flag likely bugs and style issues.
Q.Where is the Check Submitted Files button?
A.
In TigerFile, open the assignment submission page. The Check Submitted Files button appears below your uploaded files.

Q.How many checks do I get per assignment?
A.
You may run Check Submitted Files up to 20 times per assignment. For partnered assignments, this limit applies to the group.
Q.Do I need to upload all required files to get feedback?
A.
No. The autograder checks whichever files you submit, as long as they compile.
Q.What do compiler errors or warnings mean?
A.
Your code did not compile cleanly. Fix all compiler errors and resolve all warnings before your final submission. If you are stuck, ask on Ed or bring the error message to office hours or Lab TA hours.
Q.What do SpotBugs and Checkstyle warnings mean?
A.
- SpotBugs: likely bug patterns (occasionally false positives)
- Checkstyle: formatting and style rules, including course-specific checks. Treat warnings seriously and fix them when possible. If you do not understand a message, ask on Ed or bring it to office hours or Lab TA hours.
Q.What does a FAILED message mean in the autograder output?
A.
Your program does not meet the specification on the tested inputs. A FAILED result will likely reduce your score. Passing all tests is a good sign, but it does not guarantee full credit because we run additional tests when grading.
Q.What causes Process took too long and was killed?
A.
The autograder did not finish within the time limit. Common causes are an infinite loop or printing far more output than the specification requires (often due to leftover debugging output).
Q.How do I fix failed to fetch NetworkError?
A.
This typically indicates a network problem. Confirm you are online and reload the page.
Testing, input, and debugging
Q.Do I need to handle every possible input?
A.
No. Your program must handle all inputs in the domain specified by the assignment. For example, when grading
RGBtoCMYK.java, we will always provide three integers between 0 and 255.Q.Do I have to test my code?
A.
Yes. Some assignments provide a test client; others require you to write one. At minimum, your test client should exercise every public method at least once with meaningful inputs and print the results. For thorough testing, try additional edge cases beyond the minimum.
Q.Should my program use command-line arguments, standard input, or file input?
A.
Follow the assignment specification.
If it requires command-line arguments, read
args[].
If it requires standard input, read from standard input.
If it requires file input, read from a file.
Using the wrong input method will not match our tests.Grading and feedback
Q.Does Check Submitted Files determine my grade?
A.
No. Check Submitted Files provides automated feedback.
Course staff assign the final grade, and we may run additional tests when grading.
Q.Where can I view grading feedback?
A.
View grading feedback in codePost.
We will email sign-up instructions after Assignment 0 is graded.