Unformatted text preview:

CS107 Handout 01Spring 2008 April 2, 2008CS107 Course InformationInstructor: Jerry Cain Office hours: Mondays, 9:00 – 10:30 a.m. in Gates 192Wednesdays, 9:00 – 10:30 a.m. in Gates 192Lectures: MWF 11:00 – 11:50 a.m.Gates B01Units: 5 units. Only matriculated graduate students canregister for fewer than five units. Allundergraduates need to enroll for all five.We already have 239 (!) students signed up (as of last night) and thatnumber will probably climb. I’ll be working to hire additional TAs, so staytuned for more names and email addresses. CS107 TAs attend lectures,hold office hours, grade your program submissions (within one week ofsubmission, or I cane them), and help me grade the midterm and finalexams. The feature here is that all of them have taken CS107 with mebefore. They know the material inside and out, and because they’vewritten all of the very same programs you’ll be writing, they already2know what your questions will be. Be happy they are here, because theymake CS107 that much better of a course.Sections: We’re currently having a really hard time scheduling a discussion section,but rest assured there will be one, probably on Tuesdays. We’ll post anannouncement on the web site as soon as we converge on a section time.Section attendance isn’t required any more than lecture attendance is, butyou can only benefit by going. We’ll begin next Tuesday and spend thehour covering the various development tools you’ll be using to write code.If you attend just one section all quarter, this should be the one. Those ofyou with little or no experience in Unix will definitely want to go. The restof the discussion sections will follow a more traditional format, where weanswer student questions and work through prepared problems relevantto lecture material. In all cases, you are fully responsible for anything thatappears in a section handout, even if you don’t go or watch online.Prereqs: The prerequisite for the class is programming and problem solving at theCS106B/X level. CS106B and CS106X started teaching C++ about fouryears ago, so I’m assuming that virtually all of you know a reasonableamount of C++. If you don’t know C++, then you have your work cut outfor you these first few weeks. I’m happy to give a crash course in C++ if Isense a demand, but it’s ultimately your responsibility to teach yourselfenough to brave the first two programming assignments.The hard prerequisite: you should be comfortable with arrays, pointers,references, classes, methods, dynamic memory allocation, recursion, linkedlists, binary search trees, hashing, iterators, and function pointers. Youshould be able to write well-decomposed, easy-to-understand code, and doso not just because we make you, but because you understand the valuethat comes with good variable names, short function and methodimplementations, and thoughtful, articulate comments.Readings: Virtually all course material comes in handout form. What little doesn’t gettyped out comes up during lecture. But in general, you’re responsible forall lecture material, including material not covered in a handout. Those ofyou eager for additional reading should inspect the course web site, whereI present a list of relevant texts, publications and online articles. I’mparticularly fond of two C++ books and one Scheme book:1. Stanley B. Lippman, Essential C++.2. David R. Musser, Atul Saini, STL Tutorial and Reference Guide: C++Programming with the Standard Template Library.33. R. Kent Dybvig, The Scheme Programming Language: ThirdEdition.The three books look something like this: The first two are advanced textbooks, but you’re advanced C++programmers as of today, and you deserve a more sophisticatedtreatment of the material. Those of you willing to do some independentreading every once in a while will come to appreciate them. The third isa handy reference for learning the Scheme dialect of LISP, and those ofyou who end up digging Scheme will like this book.Web site: For the next ten weeks, you’ll visit cs107.stanford.edu more oftenthan you visit the bathroom. There you’ll find all of the course handouts,assignment FAQs, staff email addresses, and the full 7 by 24 matrix ofoffice hours. If you have any suggestions as to how to make the courseweb site even better, then please feel free to drop me an email.Software: The UNIX workstations at Terman and in the basement of Gates provide allof the development tools necessary to program in the various languageswe’ll be studying. In most cases, you’ll be able to work on any platformyou choose, provided you port your code back to the workstations for finaltesting and submission. But honestly, it makes more sense for you to workdirectly under UNIX and not bother with any porting efforts during the 11thhour. Virtually all systems classes post-CS107—CS140, CS143, CS244A,etc.—require UNIX, so it makes sense to get the experience now when youhave a huge staff willing to help you get used to it.(SUNet Ids: Everyone needs a SUNet ID in order to log into Stanford’s UNIX machines.Returning students have most certainly taken care of this by now, but some newSCPD students may not have.Class email: There is a class mailing list that will be used for important or late-breakingannouncements. All students enrolled in CS107 are automatically subscribedto the [email protected] mailing list. Thelist server is in touch with Axess and automatically includes everyone enrolledin the course. Please make it a point to register for CS107 sometime beforethe weekend. You should also inspect your stanfordyou.stanford.eduprivacy settings to ensure that this email address of yours is viewable by theStanford community. If not, then your email address is excluded from themailing list, and you’ll miss out on all the gossip.Web 2.0 For the savvy Web 2.0 fans, you can follow cs107 athttp://www.twitter.com. And I’ve even set up a Facebook groupcalled CS107: Programming Paradigms, which you can join by visitinghttp://www.facebook.com/group.php?gid=13800096012(provided you have a Facebook account, of course.)Staff email: You’re always welcome to email me directly, but I occasionally escape andignore my email for several hours at a time. Unless you need to address mespecifically, you should probably send mail to [email protected]. Allof us poll cs107@cs regularly enough that you can expect a response within afew hours


View Full Document

Stanford CS 107 - Course Information

Download Course Information
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Course Information and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Course Information 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?