How to Have a Bad Experience in This Course

Written by Armando Fox, co-founder of CS 169.

Read this page carefully, then test your understanding in the orientation quiz. You must pass the orientation quiz in order to access the course content.

My collaborator, mentor, and friend Dave Patterson recently retired after 40 remarkable years of service to UC Berkeley and winning the Turing Award, our field’s highest honor. Dave loves giving advice, and given his long and successful career, it is usually very good. Early in his career when he worked with Prof. John Ousterhout (now at Stanford), they got so frustrated reviewing badly-written conference papers that they wrote a satirical “advice” article for academics called “How to Write a Bad Paper.” The hope, of course, was that by describing what made a paper bad, potential authors would do the opposite and produce good papers.

In that spirit, I offer these thoughts on how to have a bad experience in this course, in the hopes that if you actually want a good experience you’ll follow the opposite advice that comes right after.

Start coding right away. When you hit a wall, you can go quickly search for the one video or that one page in the textbook that will let you stumble over the obstacle (and into the next one).

  • Alternate advice for good experience: Coding is really hard work. Really absorb the didactic content before jumping in. It’s sequenced this way for a reason, believe us!

Skip the CHIPS. The hands-on programming exercises take a lot of time, and there are almost certainly solutions circulating on the Internet. The autograder doesn’t know if you wrote the code yourself or copy-pasted it, so you’ll get credit either way.

  • Alternate advice for good experience: If you don’t understand the assignments, you’ll be in trouble on the quizzes and exams, some of which include questions that build directly on the programming assignments. The autograder is a way for you to check your work and understanding.

Skip ahead to the stuff you like. Not everyone is interested in every topic, and you’re just here to learn JavaScript, so why not skip ahead to the good parts?

  • Alternate advice for good experience: We’ve been teaching the course for several years and it has taken a while to understand the best ordering to help students learn this material. Also, if you skip far ahead, it’ll be harder to get questions answered by course staff since they’ll be focusing on helping students get through this week’s content.

Don’t read the book. I mean, who reads books? That’s why we have videos!

  • Alternate advice for good experience: The book and videos are complementary, not substitutes, and the book often goes into much more detail than is possible in a short video. You can download the book’s PDF for free, or get the Kindle or hardcopy on Amazon.

Two practical notes. First, submit each CHIPS assignment the way its assignment page describes — through the course GitHub organization and Gradescope — so your grades are properly recorded.

Second, each module has a self-check on Gradescope with one or two questions per video to sanity-check your understanding of the material. These “micro-quizzes” do count towards your grade. To get credit, you have to get every question correct, but you have an unlimited number of attempts to do so.

Finally: integrity is important. Remember when Volkswagen got in trouble because the software in their diesel engines was “faking” low emissions results when it detected that it was connected to a testing rig? Who do you think modified the software to do that? Some software engineer did. Don’t be that person. Your professional integrity is vital, and is what’s expected of a Cal engineer. To make sure we’re on the same page about that, we will ask you to write out and sign a pledge of professional and academic integrity regarding your conduct in the course.

We also reserve the right, if we have reason to suspect foul play, to ask you to schedule a 15-minute call with a member of course staff, in which you’ll be asked to verbally explain your answer to some of the quiz or homework questions you got correct. If you’re unable to do so, or if you refuse to schedule a call if asked, you’ll get a zero for that entire assignment or quiz. (If your answer is that you guessed correctly, we’ll simply go through all the questions you got right until we get to one that wasn’t the result of a guess.)

On with the show!


Back to Top

Accessibility Nondiscrimination

Copyright ©2026, Regents of the University of California and respective authors.

This site is built following the Berkeley Class Site template, which is generously based on the Just the Class, and Just the Docs templates.

View all course offerings