1 Exercises

All exercises will be submitted and graded on this Gradescope for exercises and exams.

Some exercises may require submitting to multiple gradescope assignments (e.g. if there is a programming component as well as a written component). The assignment instructions will make it clear when this is the case.

1.1 Exercise 0

The objectives of this exercise are to:

  • Set up your Java environment
  • Refresh our Java programming skills
  • Gain experience implementing data structures from an ADT
  • Use Java generics
  • Use benchmarking to study the running time of algorithms

This assignment has three main parts. The first involves setting up your java programming environment. The second involves implementing some data structures. The third involves analyzing the running times of your implementations using benchmarking. There is no deliverable for part 1. Parts 2 and 3 each have a separate Gradescope submission, which will combine together to count as your exercise 0 grade.

For this exercise, you will need:

  • cse332 VSCode Profile (right click to download) - Our recommended configuration profile for VSCode. This disables gen-AI tools for you.
  • Starter Code - which contains various classes that will be needed for this assignment.
  • Specification - which contains all instructions for what to do for this assignment.
  • Benchmarking Worksheet - which you will copy and complete for the benchmarking portion of the assignment.

1.2 Exercise 1

The objectives of this exercise are to:

  • Gain experience identifying running times of given code
  • Use the formal definitions of big-Oh, big-Omega, and big-Theta
  • See examples of what changes to functions do/don’t change their asymptotic behavior

Instructions for this exercise appear in Gradescope. To submit you will provide your answers there (either as a fill-in-the-blank or by uploading your work as an image or pdf).

2 Concept Checks

All concept checks will be submitted and graded on this Gradescope for concept checks.

Concept checks are submitted on Gradescope. Each is autograded, with feedback provided instantaneously. You also have unlimited submissions. This means you can, and should, continuously reattempt each concept check until you receive full credit.

It will be a viable strategy to simply guess and check solutions until you receive full credit, but we recommend making earnest attempts at all concept checks to maximize their usefulness helping you to self-assess your understanding. If you are ever unsure why any answer is marked correct/incorrect, we encourage you to reach out on Ed, in office hours, or in section!

We do not intend for these to be time-consuming, but instead hope that they will result in a net savings of time since they will offer some confidence in your understanding of course materials before you’re called upon to apply them in an exercise or exam.

2.1 CC0 Getting to know you

Concept check 0 is available in Gradescope! There is not specific course material referenced by this concept check. Instead, this concept check is intended to do the following:

  1. Introduce you to how concept checks will work in this course
  2. Give you an opportunity to introduce yourself to us by providing some info
  3. Introduce you to the course by asking you to look through the syllabus to answer some questions
  4. Introduce ourselves to each other one-on-one through a meet the staff activity.

The concept check must be submitted by Thursday 1/15. You have until Friday 1/30 to complete the meet the staff activity.

2.2 CC1 Running Time

Concept Check 1 is available in Gradescope! This concept check applies to the running times and asymptotic complexity. This concept check references content covered in class on 1/7 and 1/9. You can additionally view the summaries on running time and asymptotic complexity.

Remember, you have unlimited attempts at concept checks! You’ll know the answer is correct when a explanation box pops up explaining the answer to you. Pleaes reach out via Ed, office hours, or in section if you have any questions, concerns, or confusions!

3 Exams

The course staff will scann, upload and grade exams on this Gradescope for exercises and exams.

3.1 Exam 1

The Midterm Exam will be held on Wednesday February 11 during our normal lecture session.

3.2 Exam 2

The Final Exam will be held at 12:30pm-2:20pm on March 19. The location is TBD