HW5 posted: Priority Queue is an opportunity to experiment with implementing an interface in a few different ways, and then analyze the performance tradeoffs. There will be a YEAH presentation about it on Monday. It will be recorded for SCPD and posted on Tuesday in case you can't make it (sorry we are unable to post on Monday night--the SCPD folks do it when they arrive for work on Tuesday).
HW4 posted: Boggle is another assignment about recursion, and it also involves implementing a class. There will be a YEAH presentation about it on Monday (it will be recorded for SCPD and posted on Tuesday in case you can't make it).
HW3 posted: Check out the new assignment--it's all about recursion! There will be a YEAH presentation about it on Monday. Starting with this YEAH, all our YEAH will be recorded for SCPD in case you can't make it.
Conceptual LaIR Hours (CLaIR): Conceptual LaIR hours start this coming Sunday, April 10th. This is a place to get conceptual help, vs debugging help that typically happens in the LaIR. Students can get help with class concepts and high-level assignment help. Assignment code and debugging should stay in the LaIR, but CLaIR helpers can help with section and lecture code. Both the LaIR and CLaIR are housed on the second floor of Old Union, but the CLaIR has reduced hours (Sunday-Thursday 8-10PM). If you need help signing up for CLaIR help, ask any section leader working the CLaIR area.
LAIR Hours: The section leaders run a drop-in help center in Old Union. Schedule is here.
Section Assignments: Section assignments have been released. You can view your section assignment at cs198.stanford.edu. If you missed the deadline to sign up for sections or you can no longer make the section you were assigned, you can join/switch your section at cs198.stanford.edu. If you and your partner were not placed in the same section, first try to move into the same section at cs198.stanford.edu; if that doesn't work, fill out this form by Tuesday, April 12th at noon.
Assignment 1 posted: The first assignment is now posted to the assignments page. Enjoy!
QT Creator Help Session: I'm extending my office hours on Friday by an hour and we'll have extra staff on hand in case you need help getting QT Creator up and running on your laptop. Come to Gates 167 (note: change of room to a conference room just around the corner from my office) between 11:30am and 1:30pm. We'll have soda and chips as well. :-)
Week 1 Announcements (from email)
Please carefully review the course information sheet and course calendar/syllabus (the papers that were given out in class on Monday). They are available under "Essential documents" on this page.
Partners are *not* allowed on the first assignment, so that gives you some time to meet potential homework partners in your first section meeting, which will be in Week 2. Remember that you and your partner need to be enrolled in the same section.
Section signups begin at the end of Week 1 (this Thursday 3/31, 5:00PM). After section signups are live, you have until the first deadline of Sunday 5pm to sign up for a section. You'll hear your section assignment by Tuesday, and sections start that week. You can use your section to meet a partner, or, if you already have someone you know you want to work with, you can sign up (by Sunday) to be in the same section as that person. Signup link is here. If for some reason you miss the first deadline, there will be another opportunity to sign up after that Tuesday (just watch that link for a note saying second-chance signups have opened).
HW 1 TO BE POSTED FRIDAY:
Assignment 1 is due a week from Friday at 6pm. It won't be posted until this Friday. For now, you can work on getting your QTCreator environment set up using the instructions linked to from our assignments page. Then you can download the code from class and begin to experiment with C++.
SOCRATIVE STARTS FRIDAY:
We'll start doing Socrative login tomorrow (Wednesday) as a "dress rehearsal," and then start counting Socrative participation credit on Friday. Be sure to have your app/browser set for class (link classroom "STANFORDCS")
QT CREATOR HELP SESSION:
There will be a help session for installing and getting started with Qt Creator on
Thursday, time/place TBA(see announcement above).
LATE DAYS UPDATE:
You may have noticed that it says in the paper course information sheet you received on Monday that there are *no* late days allowed for the last assignment, but the paper calendar says you may use up to 1 late day on that assignment (less than the usual 2 per assignment). (calendar is available on at the "syllabus" link on this page). I've updated the course information sheet to reflect that you may use 1 late day on that assignment.
Welcome to CS106B Spring 2015-2016!
The website is still under construction over the weekend. Some materials may be from previous quarters, links need updating, etc.
WHEN/WHERE: We're meeting MWF 2:30-3:20pm in NVIDIA (Huang Bldg).
WHO: Are you still shopping between CS106A and CS106B? The course description is below, and will give you a sense of what we're about. I also recommend you take a look at the CS106 course placement document for excellent advice.
WHAT: Students coming to CS106B are expected to have substantial prior experience with programming constructs such as loops, functions or methods, arrays, console and file I/O, standard data types, and classes. In other words, students coming to CS106B are expected to know how to write code. In this course, we transform you from someone who knows how to write some code into someone who can wield the power of the computer in a more expansive, versatile, and fluent way. This course adds powerful new tools to your skillset: managing complexity through abstraction, using recursion to crack big, tough problems by breaking them into smaller solvable problems, and applying analytical tools to evaluate the efficiency of different software design choices.
Topics (schedule is approxmiate):
- Week 1: (Very quick) transition to C++ (anticipating that most of the audience will have used Java and not C++), get started on the Basic ADTs (see weeks 2-3).
- Weeks 2-3: Basic ADTs: Vector, Grid, Stack, Queue, Map, Set, Lexicon.
- Week 4: Recursion, advanced recursion, backtracking recursion
- Week 5: Pointers and dynamic memory allocation (new/delete), classes in C++
- Weeks 6-8: Basic ADTs revisited: how do we implement them behind the scenes? Linked lists, trees, Binary Search Trees, tries, hashing.
- Week 9-10: Graphs, graph search algorithms (BFS, DFS, A*), minimum spanning tree algorithms; also inheritance and polymorphism in C++.
FAQ (SCPD): We will be on SCPD this quarter, so videos of each lecture will be available.
If you're looking to get a head start, I'd suggest installing our development environment. Please follow the Stanford-specific QT Creator install instructions for CS106B and CS106X (do not just google QT Creator because we have specific requirements, thanks).
|Office: Gates 191|
Spring Quarter Office Hours:
|Office: Gates B02|