CS106X: Programming Abstractions
Autumn 2015-2016 | Mon Wed Fri 11:30-12:20pm in Gates B01
Announcements
- Assignment 8 (Stanford 1-2-3) starter code has been updated with a new version of the Stanford libraries for increased GTable functionality. If you have already downloaded it and you're not working on the GUI extension, no need to update. See Piazza for details.
- Assignment 8 (Stanford 1-2-3) starter code has been updated to work again on Windows platforms. If you have already downloaded it and it already works, no need to update. If it wasn't working for you previously, it should work now.
- Assignment 8 (Stanford 1-2-3) starter code has been updated. If you have already downloaded it, we've changed the ssview.h/cpp files, so please get the new version and update those two files.
- Assignment 8 (Stanford 1-2-3) is now posted.
- Assignment 7 (Trailblazer) is now posted.
- Reminder: if you missed more than 4pts for "efficiency" on the CandyBag problem of the midterm, please submit for a regrade by Monday, Nov. 16. (see announcements email from a couple days ago for more details)
- Assignment 6 (Huffman Coding) is now posted.
- Assignment 5 (Priority Queue) is now posted.
- Congratulations recursive art contest winner Joseph Suarez! Joseph's submission was hand-coded and multicolored, and a wonderful addition to the art wall of fame. Honorable mention goes to excellent work from Ashwin Agarwal and Mark Sabini, who will also join the wall of fame. Joseph's next discussion section will be catered as the main prize, and all three contestants are invited to come get some Grace Hopper swag from my office.
- The exams page has been updated with practice exams and other information. The midterm exam is coming up a week from Tuesday!
- Assignment 4 is now posted! I went ahead and posted this assignment early, but I'm not expecting anyone to start on it until Wednesday. Wednesday's lecture will cover necessary topics for completing this assignment. It is due a week from Wednesday.
- Assignment 3 is now posted! Enjoy.
- Assignment 2 was posted on Friday, and the sample outputs for the required portions are now also posted. Enjoy.
- LaIR Hours Start Tonight. the Lair (now on the second floor of Old Union) opens tonight. It is open from 6PM-12AM every Sunday-Thursday, staffed with CS106 section leaders (SLs) to help you get unstuck on your assignments.
-
Thanks for signing up for section. The SL Coordinators will notify you of your section assignment by 5pm on TUESDAY. Sections start this week, which makes for a fast turnaround between that Tues announcement and the earlier in the week section times. Please keep the timeslots you listed as preferred open so you'll be ready to jump on it. If you missed the Sunday deadline for signup you will be given another chance to sign up starting Tuesday.
-
The first assignment is posted on the assignments page. Due Friday 10/2. Happy coding!
-
We will be holding a Qt Creator setup/debug session in Gates 104 on Monday, September 28 (next Monday) from 2:30-3:30PM. Please come by if you are having any trouble setting up Qt Creator (don't forget to follow our instructions precisely to avoid running into any issues).
-
If you're just joining us, welcome! Read all the announcements below for important information. Another thing everyone should do as we get started this quarter is go sign yourself up on Piazza. So far only a few of you have enrolled there!
-
First day of class is finally here!! Can't wait to meet all of you. 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).
-
Axess enrollment issue:Now resolved. There is no enrollment cap for this course.
-
Welcome to CS106X Autumn 2015-2016!
-
WHEN/WHERE: We're meeting MWF 11:30-12:20pm in Gates (Computer Science Bldg) B01. Room B01 is in the basement. You'll need to take the *exterior* stairs down from the street (Serra Mall) or come in the lobby and then take the elevator down. There are no stairs down from the inside of Gates.
-
WHO: Are you still shopping between A, B, and X? 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 CS106X 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 CS106X 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 very 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.
-
Welcome to the next level, and welcome to CS106X!
Course Information Sheet |
CS Dept Honor Code Policy |
Email: cbl@stanford.edu |
Office: Gates 191 |
Office Hours:
|
Email: igoodman@stanford.edu |
Office: Gates B02 |
Office Hours:
|