Skip to Main Content

Data Structures

Computer Science Department

Programming Assignment FAQ

Which tools do I need for programming assignments?

You will need an editor to write Java code, the command line to compile and execute your programs, and the web based submission tool called Autolab.

VScode. Visual Studio Code is a text editor we use in CS112 to write Java code, install it from here.

Terminal or Command line. The terminal is a text interface to interact with the computer, it is already part of VScode. It’s a program that takes in commands, which it passes on to the computer’s operating system to run. From the command line, you can navigate through files and folders on your computer, just as you would with a file graphic navigation interface. Here is a list of commands.

Short videos on how to use basic command line commands:

Autolab. The web based automated grading tool used in programming assignments. The Autolab will grade each assignment submission and provide feedback in the form of hints.

  • video on submitting your programming assignment.
  • video on viewing a programming assignment submission and its hints.

Writing your first Java program. How to video on how to use VScode and the command line.

Starting a Programming Assignment

How do I approach a programming assignment? We suggest the following steps to complete your programming assignments successfully:

  1. Spend some time thinking about the problem. Remember that the computer is really stupid and requires very specific and incremental steps to solve a problem. Think about the inputs and outputs to your algorithm, as well as the error conditions to be handled.
  2. Write the algorithm using pseudocode.
  3. Think about test cases that fully exercise your algorithm, meaning that all test cases together will execute every single line of your algorithm. If you missed something in your algorithm, now is the time to update it.
  4. Unzip the files we provide, and start coding your algorithm into the appropriate file. A good practice is to compile your program often to catch syntax errors sooner rather than later and ending up with a huge number of errors. If your program has compiling errors, always fix the first one and compile again. Often fixing the first one will remove the remaining errors.
  5. Once you compile successfully run your test cases.
  6. Come to office hours for help, we are waiting for you, or ask questions on Piazza. Piazza’s link is on Canvas left pane.
  7. When fully satisfied with your results submit your assignment.

Zip Files

How can I extract the .zip file associated with an assignment? All files related to an assignment are bundled together in a .zip file, which you will need to extract:
  • Zip files on MacOS. Download the .zip file listed on the assignment page. In Finder, view the directory containing the downloaded .zip file. Some browsers will automatically unzip the .zip file and create a project folder — which will have the same name without the .zip extension — containing the individual files. (Some browsers may also delete the original .zip file.) Otherwise, if you see the .zip file but no project folder, double-click the .zip file to create the project folder. You will want to create the .java files in this project folder.
  • Zip files on Windows. Download the .zip file listed on the assignment page. In Explorer, view the directory containing the downloaded .zip file. Right-click on the .zip file and select Extract All…, which will ask you to choose the extraction location. This creates a new project folder — which will have the same name without the .zip extension — containing the individual files.. (Do not double click the .zip file—that browses the contents instead of extracting them.) You will want to create the .java files in this project folder.

Submitting Programming Assignments

Can I submit my assignment through email, Canvas or Gradescope? No, all programming assignments submissions must be done on Autolab.

What is Autolab? It is an automated web grading system that grades and provides feedback for every assignment submission. For each problem, your code will be tested using a suite of test cases, and you will receive credit for each case on which your code performs correctly. AutoLab will give you feedback based on your submitted program, which you can then update and submit again for grading.

How do I successfully submit an assignment? Submit the correct file for each assignment. The filenames are case-sensitive. Be sure to submit the most up-to-date version of your code.

Can I correct my program and resubmit? Yes, you can submit up to 3 times without penalty. We deduct 5% of the assignment total points for each submission thereafter. Autolab uses the LAST submission for the assignment grade.

What the Autolab feedback light means? The light system is just one part of the feedback, make sure you read the hints associated with each submission.

Here is how to interpret the lights:

  • red means that either your program didn’t compile or it passed very few of our test cases (0 – 20% of points);
  • yellow means that your program passed some test cases (21 – 80% of points);
  • green means that your program passed most of our test cases (81 – 100% of points).

How long does it take for my assignment to graded? It depends on the number of student submission requests, we strive for a few seconds but if the system is busy it may take up to 1 day before it gets to your submission request and give you feedback. If the deadline passes while you are waiting, your assignment will not be accepted. In other words, if you try to hand in your work close to the end of the deadline, you may be too late and your assignment will not be graded. Plan to submit your work with at least one day in advance.

Getting help

 If anything is unclear, don’t hesitate to drop by office hours or post a question on Piazza. Find instructors office hours by clicking the Staff link from the course website.

Don’t be afraid to ask for help, CS112 staff is ready to help.