CS 47B
Author: Josh Hug

Broad Outline

CS 47B is a self-paced course where you will complete a subset of the CS 61B curriculum. Students may be either “standard” or “project only”.

Project Only CS 47B

“Project only” students are assumed to have pretty solid familiarity with all of the core data structures and algorithms from the course, and thus only need to complete labs and projects that have to do with tools, testing, and software engineering.

If any of this work seems tedious or redundant with what you learned at your previous institution, please reach out and let Josh know. I don’t want to waste your time.

Standard CS 47B

Standard students are assumed to have a decent understanding of most of the material from the course, but are also required to do some additional work to reinforce the fundamentals:

If any of this work seems tedious or redundant with what you learned at your previous institution, please reach out and let Josh know. I don’t want to waste your time.

Grades and Deadlines

Your score will be based entirely on your performance on these homeworks, labs, and projects. There will be no exams. Optional assignments are not graded, but you might find them cool.

Because CS 47B is a self-paced course, there are no deadlines. Nonetheless, you should try to complete assignments by the deadline listed on the course website.

CS 61B and CS 47B are not graded on a curve, so here is the point breakdown for each grade bin.

For project only CS 47B students:

A A- B+ B B- C+ C C- D+ D D- F
1214 1134 1025 954 900 837 774 622 540 455 334 0

and for standard only CS 47B students:

A A- B+ B B- C+ C C- D+ D D- F
1565 1462 1322 1230 1160 1079 998 803 697 587 431 0

Class Meetings

As a CS 47B student, you are not required or expected to attend any CS 61B course meetings. However, you should feel free to come to any CS 61B events, including lectures, labs, office hours, and discussion sections.

There are two exceptions: To get credit for Lab 2, you will need to get checked off by a lab TA as described in the lab. And to get credit for Project 3, you will have to do a checkoff with a TA during week 14.

Getting Started

  1. Join the class forum, Ed, at this link. If you need help, contact Josh.
  2. Start by setting up a github repository by visiting beacon and following the directions given there.
  3. Fill out the CS 47B introductory survey. Feel free to skip any questions you don’t want to answer.
  4. Get started on coursework. Everything is linked from the course website (https://fa20.datastructur.es/). All CS 47B students should start with “Setting Up Your Computer” and work your way down the labs column until you’ve completed Lab 3. HWs and projects will be released later in the semester. When submitting work, Gradescope may claim your work is late if you submit after the deadline for CS 61B students. However, it should still give you a full score since you are CS 47B students. If you have issues, please contact Josh.

Keep in mind that all work for CS 47B will be solo except for project 3, which you will do as a group of two. You’re allowed to talk to others, but your work should be your own. See Policies on Collaboration.

Getting Help

If you need help with labs, hws, or projects, please come to lab or office hours. The TA in charge of CS 47B is Akshit Annadi. See the CS 61B Staff Page for his contact information.