Announcements:

December 1st

  • I just went ahead and published all midterm scores via Gradescope. Head on over to see your score, and check out the updated solution handout for exam stats.
  • Note that we're done with lectures, as I'm expecting you to take the remaining time to focus on your final projects. Don't despair if you haven't gotten much done yet.
  • Finally, I'm calling out several classes you might consider taking next quarter. They're all designed for recent CS106B and CS106X graduates, and past offerings have been very well received.

    • CS41: Hap.py Code: The Python Programming Language, which teaches students who already know how to code to the Python programming language and the large collection of third-party libaries developers use to build large systems. The course was first offered about five years ago and has since matured into a course that's as high-quality as those courses taught my full-time lecturers and professors.
    • CS43: Functional Programming Abstractions, which introduces students to the functional programming paradigm using a popular programming language called Haskell. It's slightly more theoretical than CS106X and CS41, but it's been taught three times now and it's been very well received.
    • CS106S: Coding for Social Good (on active class URL right now) is taught as a weekly discussion section and frames the material taught in CS106B/X in terms of social good problems. More details are available right here.

November 22nd

  • Good morning, CS106X'ers. I hope the midterm went brilliantly last night, and that you're all psyched to tackle Assignment 7 and your final projects.
  • For those of you who don't have enough to do, I've gone ahead and posted a third content problem: the shattered glass problem. It was more or less given as is in 2011 at an ACM programming contest, and it requires some computational geometry and some graph theory. Those who submit working solutions will, as always, be taken out to dinner (likely next quarter, since this quarter is pretty much booked up at this point). In addition, I will give those who submit a working program a copy of my favorite mathematics textbook in the history of math textbooks: Concrete Mathematics. I love the book so much that I have some four or five copies of it.
  • Finally, here is a PDF version of last night's exam and my solution. The solution comes with code and memory diagrams, and it also comes with a rough grading criteria we'll subscribe to while grading (though the grading criteria is definitely beta, so understand that that may change).

November 13th

  • Mary Wootters was in touch and shared her amazing presentation slides with me so I could share them with you. They are right here.

November 2nd

  • There've been a few times in the past two weeks where we've taken care to not access dynamnically allocated memory after we've freed it. Chrome issued a patch this past Thursday night to address a security flaw that resulted from a use-after-free bug with their audio library. ZDNet published an article about it, and you can check it out right here.

October 30th

  • You may be interested in seeing some past 106X final projects; they are linked here!

October 25th

  • As promised, Assignment 5 has been posted, and hard copies of the handout are sitting outside my Gates 192 office door. The assignment is due a week from Monday, and I'll bring hard copies to lecture this coming Monday as well.
  • The assignment has you code to a well defined abstraction called a priority queue, and it has you code to that abstraction four different ways. The assignment is a good vehicle for learning all things pointers, memory allocation, and linked structures. There's some genuinely tricky pointer and memory work here, and I think you're going to absolutely love wiring up the various data structures I'm having you build. It's all awesome material, in my opinion.

October 21st

  • Those of you who've used Campuswire (or elected to ignore it because you don't like) are encouraged to complete a superduper short survey, right here.

October 20th

  • CS+Social Good is a student group dedicated to leveraging technology for social change. They operate classes and workshops, organize mixers to engage students across campus, and even offer fellowships! If you're excited about changing campus culture around tech and social good, launching initiatives that create impact with computing, and joining a community that's driving to make Silicon Valley a platform for the betterment of humanity, then CS + Social Good wants to meet you! Among many of the CS + Social Good efforts: CS + Social Good Studio. CS + Social Good Studio is a two-quarter sequence of courses where students design (in CS51) and implement (in CS52) a solution to some problem facing the local or global community. Students are accepted into the course by application, and those leading the studio are holding an information session this coming Thursday. More information can be found right here, and the application itself can be found right here. If you're in CS106X right now and you've an interest in computing for good, then you're more than qualified to apply. Reach out to Jerry if you have any questions.

October 15th

  • Everyone! I've gone ahead and posted a second contest problem right here. This particular problem requires you understand recursive backtracking and either memoization (which we discussed in lecture) or dynamic programming (which I mentioned in lecture, but didn't really cover). As with the first contest problem, you're welcome to submit as many times as needed until it passes all of my tests and passes them in a short amount of time. And I'll take those who submit working solutions out to dinner (yes, a second dinner, so you can get fed good food twice!) sometime toward the end of the quarter.
  • Remember that I'm still accepting solutions to the first contest problem until the first midterm has passed. And I'll accept solutions to this next contest problem until the second midterm.

October 11th

  • A quick update on the buggy Boggle Mac demo: it's now fixed! See Campuswire for the full story.

October 4th

  • There just happen to be two stellar talks tomorrow (Tuesday) night, and you're encouraged to attend either or both. The first is at 5:00pm, and the second is at 6:30pm. The first is Nicholas Thompson in conversation with Maneesh Agrawal. Nicholas Thompson is the Editor in Chief of WIRED magazine, and he'll be discussing media trends with Professor Agrawala, CS Professor and Director of the Brown Institute for Media Innovation. More information about the event can be found right here. The second talk will be given by Ellen Pao, who will discuss how the tech sector should rethink diversity and inclusion. Ellen Pao is the former CEO of reddit and co-founder of Project Include. More information about this event can be found right here.
  • Assignment 2 falls due this coming Wednesday, and Assignment 3 will go out and provide an opportunity for you to exercise your recursion chops.
  • Finally, I just posted a bonus problem right here. It's entirely optional, but if you want to take a stab at it, then you should definitely go for it. I constructed the problem a few years ago when I helped produce a regional programming contest, and the problem, while challenging, is 100% doable given what you've learned in CS106X and prior classes. And as an added incentive, those who submit a working solution will be treated to dinner out in Palo Alto with CS106X CA Garrick Fernadez and yours truly. If ten of you submit working solutions, then all ten go to dinner! My only requirements are that you write your solution in C++ and that it compile and run in Qt Creator. Please send in solutions before our first midterm.

Week of September 30th

  • Section assignments should now be released! They begin this week. If you need to swap sections or join one late, you can visit the section signup page right here.
  • Note the "Paperless" button at the top of the course site as the place to submit your assignments. Best of luck with the rest of The Game of Life!
  • This just in from fellow Stanford classmate, Eunice Yang:

    • Apply to health++, Stanford's annual weekend-long health hackathon happening 10/19-10/20. If you're interested in the intersection between CS, health, and/or tech this event is for you! The deadline for Stanford applicants is 10/15. If you're interested in being on the organizing team for next year's event, check out the application for SHIFT (Stanford Health Innovations in Future Technologies), which organizes health++ along with several other initiatives including the Blueprint Datathon and CS 522! The deadline is THIS Sunday!

Week of September 23rd

  • If you're here, I assume you're taking (or at least considering) CS106X this quarter. I'm more or less set to fire up on Monday, September 23rd at 1:30pm and look forward to meeting everyone!
  • Between now and then, do a few things for little ol' me:

    • Register for the course on Axess if you haven't already. I'm expecting there to be about 80 students in the class this quarter, but I'd like an accurate enrollment figure sooner than later so that I can hire additional section leaders if necessary.
    • Go ahead and signup for the class forum right here. I'm planning on using a new product called Campuswire, which looks to be Piazza + Slack in one big, happy platform. Go ahead and sign up, and feel free to say hello say on there and I'll say hey back.
    • Install the development environment as soon as possible, so that you can get started on Assignment 1 once it's published on Wednesday. Visit the CS106X Software page and install QtCreator. The installation process takes upwards of 90 minutes, although some 85 of those minutes is just spent waiting for files to be downloaded and copied to your hard drive.
    • Finally, confirm that you're able to take each of my two midterms without drama. The first midterm is scheduled for Thursday, October 24th from 7:00-8:30PM in Bishop Auditorium, and the second is scheduled for Thursday, November 21st from 7:00-8:30PM in Hewlett 201. If you have a conflict with either or both of these times, email me and we'll work something out.

Course Description

Accelerated version of 106B for students with a strong programming background interested in a rigorous treatment of the topics at an accelerated pace. Additional advanced material and more challenging projects.

Staff

Jerry Cain
Lecturer
Garrick Fernandez
Head TA
Eddie Arreola
Section Leader
Ethan Chi
Section Leader
Kartik Chandra
Section Leader
Natalie Cygan
Section Leader
Phil Chen
Section Leader
Rachel Gardner
Section Leader

Lecture Time & Location

Monday, Wednesday, Friday
1:30 - 2:50PM
Turing Auditorium (right here)

Course Information

Check out the course information sheet for administrivia about the class and policies.

Grading Policy

Programming assignments: 50%
First midterm examination: 15%
Second midterm examination: 15%
Final project: 20%

Examinations

Midterm I:
Thursday, October 24th
from 7:00 - 8:30PM in Bishop Auditorium

Midterm II:
Thursday, November 21st
from 7:00 - 8:30PM in Hewlett 201

Important Dates

For an outline of what's coming up, check out the course syllabus.

Office Hours

Our normal office hours are below but may shift week to week. Please check the course calendar for the most accurate schedule.

Jerry:
Mondays, Wednesdays, 3:15 – 4:45PM in Gates 192

Garrick:
Tuesdays, Thursdays, 3:15 – 4:45PM in Gates B02

LaIR hours:
This quarter, there is a separate queue of 106X helpers from the usual LaIR queue, and the section leaders cover as much of the normal LaIR hours (Sunday through Thursday, 7:00 – 11:00PM) as possible. The current times are:

  • Sunday 7:00 – 9:00PM
  • Monday 7:00 – 9:00PM
  • Tuesday 7:00 – 9:00PM
  • Wednesday 7:00 – 11:00PM
  • Thursday 7:00 – 9:00PM

The LaIR is in Tresidder (1st floor). The LaIR works on a queue system; you can sign up on the LaIR computer in Tresidder, and CS106 helpers will help you in the order you sign up.

AltStyle によって変換されたページ (->オリジナル) /