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.

  • Lab 1 (Setting up your computer / IntelliJ)
  • Lab 2 (Debugging)
  • Lab 3 (Randomizing and Timing Testing - Build Tests for Proj 1)
  • [OPTIONAL] Lab 4 (Advanced Git)
  • Homework 1 (Being a Good Classmate)
  • Project 2 (TBA)
  • Project 3 (Designing a large system from scratch - Build Your Own World)

EDIT (as of 11/1): We’ll be allowing 47B students to partner with 61B students for Project 3. If you choose to do so, you will also be subject to 61B’s Phase 1 deadline.

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:

  • Lab 1 (Setting up your computer / IntelliJ)
  • Lab 2 (Debugging)
  • Lab 3 (Randomizing and Timing Testing - Build Tests for Proj 1)
  • [OPTIONAL] Lab 4 (Advanced Git)
  • Lab 7 (BSTMap)
  • Lab 8 (HashMap)
  • Homework 1 (Being a Good Classmate)
  • Homework 3 (Theory-based homework)
  • Homework 4 (Theory-based homework)
  • Project 2 (TBA)
  • Project 3 (Designing a large system from scratch - Build Your Own World)

EDIT (as of 11/1): We’ll be allowing 47B students to partner with 61B students for Project 3. If you choose to do so, you will also be subject to 61B’s Phase 1 deadline.

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.

The 47B deadline policy will align with the self-paced nature of the course. The deadlines for each assignment will follow the due dates set by 61B. However, these deadlines will be flexible and students will not be penalized for late work up to the end of semester hard deadline.

All assignments must be submitted by the end of the semester (December 16). Additionally, Project 3 has a hard deadline of November 30 due to scheduling project presentations.

To keep you on track throughout the semester, the following check-in system will be in place. This system is not meant to be a penalty, but rather a way for us to gauge how you’re doing and see if we can help!

  1. One week after the deadline: Anyone who has not submitted the assignment will receive a check-in email with a quick response form that should be filled out within three days of receiving the email.
  2. If you have three late assignments at one time: You will be asked to schedule a mandatory synchronous check-in with course staff.

CS 61B and CS 47B are not graded on a curve, and grade bins are released below. Points for each assignment will follow 61B: labs are 128 points, homeworks are 480 points, and Project 2/Project 3 are 3200 points.

Grade bins have now been finalized and are listed below.

For project only CS 47B students:

A+ A A- B+ B C
7136 6464 5664 4736 3936 2464

and for standard only CS 47B students:

A+ A A- B+ B C
8352 7680 6880 5952 5152 3680

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 is one exception: To get credit for Project 3, you will have to do a checkoff with a TA during week 15.

Getting Started #

  1. Review the 47B course page and the 61B course policies (“General Background Information”, “Resources”, “Collaboration and Academic Misconduct” sections).
  2. Check your email for a bCourses invitation to 61B. This will give you access to our course forum Ed and Gradescope. Reach out if you run into issues or have not received an invite.
  3. Start setting up your computer with the instructions in Lab 1. By the end of this lab, you should have your Github repository, Beacon account, and development environment.
  4. Fill out the CS 47B introductory survey. Feel free to skip any questions you don’t want to answer.
  5. Get started on coursework. Everything is linked from the course website. All CS 47B students should start with Lab 1 “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.

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 and Academic Misconduct.

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 Allen Gu. See the CS 61B Staff Page for his contact information.

Last built: 2022-12-03 16:06 UTC