Exam 1

Release: 5pm Wednesday October 13, 2021

Due: 9am Friday October 15, 2021

Note that this is released after class Wednesday, and is due before class, not due in the evening.

This page details a take-home exam that you will complete over the next few days. You can’t communicate with anyone about the content of the assignment until you receive your grade. You can message us privately on Piazza, but the course staff will not give programming advice or answer most questions about the problems. If you have technical trouble creating a screencast (detailed below) feel free to reach out for assistance.

Do not use any online service other than Piazza to ask questions about the assignment. Do not search for, solicit, or use solutions to the problems that you find elsewhere for the exam. These are all violations of academic integrity that students have committed on exams like this in the past.

You can make use of any course notes, online resources about Java and its libraries, Java tools, and so on to complete the exam, including re-using code from class notes.

You can review the grading policy for exams in the syllabus. You will complete the programming task below and submit your work to the exam1 Gradescope assignment.

Submission checklist (see long descriptions below for full details):

Your submission will be graded after the deadline; there are no pre-deadline check-offs for exams. You should test thoroughly yourself to make sure your program works as expected.


I don’t see the transcript.txt files in the starter code. Should I create them?

Yes, you should create them.

Can I use a Java feature/library/method that we haven’t covered in class?

Yes, though you shouldn’t need to.

I can’t get my code to run on my computer.

Try using the lab machines, which have the correct setup. Also try reviewing the previous public Piazza posts, which have lots of advice about fixing build situations. Also make sure that your code doesn’t have a bug before you blame your computer or ./run!

Can I submit multiple times until the deadline?

Yes, we will grade the last submission you make before the deadline.


You can find the starter code in this repository https://github.com/ucsd-cse11-f21/cse11-exam1-starter.

Task 1

In the ExamplesMethods class, you will use the design recipe to write two methods:

Note that it’s fine to add more methods than what we’ve listed, but these two methods must appear as described.

Note that you should use the full design recipe – include enough examples to convince yourself the method works! If you have a question about an interesting input case, try it out and justify why the answer is OK.

Task 2

The file ExamplesTweets.java has two classes, User and Tweet, which are a partial solution for the same program as in PA2.

Your task is to add:

Task 3 – Video

You will record a short video of no more than 5 minutes. Include:

An example of what your video should look like when doing this kind of explanation is here:


PA2 has a tutorial for creating a screencast like this https://ucsd-cse11-f21.github.io/assignments/pa2.html.

Here are some notes on how to improve your videos: