3 Pages

01-CS106X-Course-Information

Course: CS 106, Fall 2009
School: Stanford
Rating:
 
 
 
 
 

Word Count: 1997

Document Preview

Spring CS106X 2009 Handout 01 CS106X Course Information Jerry Cain jerry@cs.stanford.edu April 1, 2009 Instructor: E-Mail: Cell phone: Office phone: Office: Office hours: Lectures: (415) 205-2242 (650) 725-8597 Gates 192 Mondays, 11:00 a.m. 12:15 p.m., and by appointment MWF 10:00 10:50 a.m. Gates B03 (and available via scpd.stanford.edu, details TBA) CS106X is the more advanced of the two courses teaching...

Register Now

Unformatted Document Excerpt

Coursehero >> California >> Stanford >> CS 106

Course Hero has millions of student submitted documents similar to the one
below including study guides, practice problems, reference materials, practice exams, textbook help and tutor support.

Course Hero has millions of student submitted documents similar to the one below including study guides, practice problems, reference materials, practice exams, textbook help and tutor support.
Spring CS106X 2009 Handout 01 CS106X Course Information Jerry Cain jerry@cs.stanford.edu April 1, 2009 Instructor: E-Mail: Cell phone: Office phone: Office: Office hours: Lectures: (415) 205-2242 (650) 725-8597 Gates 192 Mondays, 11:00 a.m. 12:15 p.m., and by appointment MWF 10:00 10:50 a.m. Gates B03 (and available via scpd.stanford.edu, details TBA) CS106X is the more advanced of the two courses teaching basic programming abstractions and algorithms. CS106X is designed as an alternative to the more sensibly paced CS106B, because many students-- self-taught hackers, exceptionally strong CS106A students, and AP Java graduates who got a 5 on the AP exam without trying too hard--prefer a more intense treatment in the company of other superstars. Students have a good time in CS106X because they're brave, resourceful, and well prepared. AP Java and CS106A are all about basic programming practices-- expressions, control idioms, decomposition, algorithmic thinking, class design, object orientation, simple inheritance, and basic client use of arrays, lists, and maps. CS106X teaches advanced programming and abstraction techniques, worrying first about C++ language mechanics and eventually focusing on topics such as recursion, C++ lists and maps, and the implementation techniques used to build complicated, dynamic data structures. Prereqs: Sections: In addition to our weekly lectures, you'll also attend a weekly discussion section. The person leading your particular discussion section will be the one grading all of your assignments. There are several discussion sections to choose from. Take a moment to visit http://cs198.stanford.edu/section anytime between Thursday, April 2nd at 5:00 p.m. and Sunday, April 5th at 5:00 p.m. and state your preferred section times. Come Sunday evening, our computers will work their magic and come up with a master section assignment that will hopefully suit everybody. SCPD students need to visit the web site as well, for no reason other than to register for the televised section, which airs on Fridays morning at 11:00 a.m. 2 CS106L: You may have noticed what appears to be a companion lab course, numbered CS106L. It is certainly related to CS106X, but it is completely optional, and you needn't sign up for it if you don't want to or don't have time. CS106L spends time on advanced features of the C++ language that we just don't have time for in CS106X. In particular, you'll learn the ins and outs of C++'s I/O system, and you'll learn all about the template algorithms and data structures. CS106L is being taught by a veteran section leader who knows C++ just about as well as anyone, so it's definitely worth your time if you expect to be coding in C++ beyond this quarter. CS106L is offered TuTh, 4:15 5:05 in Herrin T195, and it starts tomorrow. The class textbook is the course reader Programming Abstractions in C++ by Eric Roberts (with C++ edits by Julie Zelenski). The course reader just got a significant facelift, so it's coming at you this quarter in two installments, the first of which is available at the Bookstore already. In addition to the text, this course will also distribute a reasonable amount of material in the form of class handouts. After class, extra copies of the handouts will be placed in the handout bins on the first floor of the Gates Building in the B wing (in case you happen to lose a handout or miss class). In addition, electronic copies of all the handouts in PDF format will be available on the CS106X web site, so that you can print your own copies if the handout bin is empty. Software: Programming assignments can be written on either Macintosh or Windows PC computers, using either XCode (on the Macintosh) or Visual Studio C++ (on the PC). More information on these two programming environments will be provided in separate handouts. Readings: Mailing List: There is a class mailing list that will be used for important announcements that just can't wait until lecture. All students enrolled in CS106X are automatically subscribed to the cs106x-spr0809students@lists list. The list server is in touch with Axess, so if you're signed up for the course, you're probably on the mailing list. Please make it a point to sign up as soon as possible, since I tend to send a good number of announcements out during the first week or two, and I don't want you to miss out. Programs: There are six or seven programming assignments, and it's possible I'll throw in a written problem set for color. The assignments are serious projects, and they get more and more difficult as we cover the more advanced material. The only way to learn programming is to work at it, so expect to spend lots of time in front of a computer. Your assignments are graded interactively in a one-on-one session with your section leader. In 3 general, section leaders will return your assignments within one week of the day you submit it. Exams: There will be one 120-minute exam during the quarter and a comprehensive 3-hour exam given during the final exam period. The two exam dates are as follows: Midterm: Wednesday, May 6th Final Exam: Monday, June 8th 7:00 - 9:00 p.m. 8:30 - 11:30 a.m. Because the midterm is being administered at night, I'm happy to accommodate anyone who can't make it then. If you need to take the (open note, open handout, open course reader) exam at a different time, then email me at least a week prior and we'll schedule a separate time. You should expect to take the exam sometime earlier in the day. I'm much less flexible about alternate final exams, since the June 8th time is dedicated specifically to CS106X. This past summer, the Educational Affairs wing of the CS Department insisted that all students take a course's final exam at the same time during the normally scheduled slot. If you're taking another course that a has final exam on Monday, June 8th at 8:30 a.m., then you should check to make sure that any competing final exams can be taken at another time. Grading: Your final grade will be computed as follows: Programs Midterm Final 30 % 30 % 40 % To receive a passing grade, you must complete satisfactory work in all areas. In particular, if you do not pass my final exam, you will not pass my class regardless of your performance on the assignments. Assignments are graded on a bucket system, because we want to deemphasize the grade and have you focus more on the assignment and our feedback. However, in the interest of transparency, here is a rough description of the various categorizations that apply to everyone: + Given to an exceptionally string submission that not only meets the requirements, but exceeds them in some very significant way. In general, I see less than 2% of assignments getting +s. The + is ultimately recorded as a 100 in the spreadsheet, since it's clearly A+ work. 4 + Given to a solid submission that gets the job done and contains at most a very small number of trivial errors. In general, about a 3540% of assignment submissions get the +, which roughly maps to an A in terms of a letter grade. Given to a good submission that gets most of the job done and contains a one or more major errors, or a significant number of minor ones. In general, about 45-50% of assignment submissions get a , which roughly maps to a B+ come spreadsheet time. This is easily the most contentious grade, because CS106X students don't like getting B+s. However, when we give them, it's because the program wasn't as good as it could have been and there were more impressive submissions. Given to a submission that does most of the work, but contains enough problems that a isn't warranted. In practice, -`s are rare in CS106X. The - typically maps to a B- when everything gets put into a spreadsheet. - There are other bucket grades, but they are super duper rare enough that I don't need to describe them. The midterm average tends to be high--someone around 85 90%--and the final exam average tends to be in the 70 80% range. I don't curve the exams themselves; I only curve final averages. In general, I make sure that between a third and a half of the students get some form of an A, and all but a handful of the rest get some form of a B. Late policy: The pace of this course makes it difficult for students to catch up once they have fallen behind, so I encourage you to submit all of your assignments on time. Of course, we're all busy people, so I'm happy to accept late work, provided you keep up with the material. Here's how I handle lateness: You get three free late days, and you consume one late day any time you hand in work between 1 second and one class period late. (If, for example, an assignment is due on a Friday and you need to take a late day, you can hand the assignment in on Monday instead.) You can use at most one late day on any particular assignment. Once you've used your three free late days up, they're gone and you can't get any more. You can still hand in your work, but I levy a 10% penalty per assignment for each late day you use beyond the three free ones. My recommendation: plan to get the work done on time, and use a late day if it doesn't come together by the deadline. Incompletes: I will only grant incompletes in the event of an illness or a family emergency that makes it impossible for a student to finish his work during the regular academic quarter. In particular, you must complete all assignments except the last one and take the midterm exam in order to 5 qualify. Unless your circumstances are particularly extenuating, you need to clear the incomplete within 30 days of the final exam. Honor Code: Although you are encouraged to discuss ideas with others, your programs are to be completed independently and should be original work. Whenever you obtain significant help (from other students, the section leaders, students in other classes) you should acknowledge this in your program write-up, e.g. "The idea to use radix sort to alphabetize the list of names was actually my section leader's idea." Any assistance that is not given proper citation will be considered a violation of the Stanford Honor Code. The Honor Code is taken very seriously in this class; any problems will be swiftly referred to the Office of Judicial Affairs. To be even more specific, you are not allowed to collaborate on the coding of your programs, nor are you allowed to copy programs or parts of programs from other students. The following three activities are considered Honor Code violations in this course: 1. Looking at another student's code. 2. Showing another student your code. 3. Discussing assignments in such detail that you duplicate a portion of someone else's code in your own program. Unfortunately, the Computer Science Department sees much, much more than its share of Honor Code violations. Because it's important that all cases of academic dishonesty are identified for the sake of those playing by the rules, we reserve our right to use software tools to compare your submissions against those of all other current and past CS106 students. It isn't our intent to create a Big Brother environment with spies and surveillance cameras. We're not creating that at all. We're just being clear about how far we'll go to make sure the consistently honest feel their honesty is being valued and rewarded. If the thought of copying code has never crossed your mind, then you needn't worry, because I've never witnessed a false accusation. But if you're ever tempted to share code--whether it's because you don't understand the material or you do understand but just don't have enough time to get the work done--then you need to remember this paragraph is here.
Find millions of documents on Course Hero - Study Guides, Lecture Notes, Reference Materials, Practice Exams and more. Course Hero has millions of course specific materials providing students with the best way to expand their education.

Below is a small sample set of documents:

RPI - BIOL - 4540
Bioinformatics 1: lecture 7Statistics for pairwise alignments Database searching using FASTA Database searching using BLAST NCBI/Seqlab exercisesYou have seen.Dynamic programming:Global alignment Global/local alignment (no end gaps. 3 ways to do
RPI - BCBP - 4870
Homework X. BCBP 6870. Fall 2008due Nov 24(1)If you scratch a row of evenly spaced regular lines into a glass slide, each scratch will scatter all wavelengths of light in all directions. If there are enough lines and they are all separated by exa
RPI - BIOL - 4540
Bioinformatics 1 - Fall 2007 - Homework 6Due Nov 29(1) Minirepeats and HMMsFind the nucleotide sequence with accession number AI253829. "Giant tiger prawn eyestalk cDNA library Penaeus monodon." In SeqLab, find the repeat sequence region using "C
RPI - MATH - 4100
1 Linear Algebra Professor M. Zuker Fall 2007Change of basis exampleProblem 6c of test 16c. Let T L(R3 ) be defined by its matrix (standard basis), 2 0 -1 1 1 M(T ) = 1 1 -1 0 What is M(T ) in terms of the basis, (1, 1, 1), (1, 1, 0), (1, 0,
RPI - LEWISD - 1600
RPI - MATH - 4010
1 Abstract Algebra Professor M. ZukerTest 1. Distributed on February 28, 2009. Due March 5, 2009.Notation: If G1 and G2 are groups. G1 G2 means that G1 is isomorphic to G2 . C, R, Q, Z refer to complex numbers, real numbers, rational numbers and i
Virginia Tech - CS - 4104
CS 4104 Homework Assignment 7Given: October 25, 2006 Due: November 2, 2006 The point value of each problem is shown in [ ]. Each solution must include all details and an explanation of why the given solution is correct. In particular, write complete
Stanford - CS - 156
CS156: The Calculus of ComputationZohar Manna Winter 2008Chapter 5: Program Correctness: MechanicsPage 1 of 56Program A: LinearSearch with function specication@pre 0 u < |a| @post rv i. i u a[i] = e bool LinearSearch(int[] a, int , in
Stanford - CS - 256
CS256/Spring 2008 Lecture #8 Zohar Manna8-1Finding Inductive Assertions Top-Down Approach Assertion propagation we have previously proven and we want to prove but{ } {}is not state-valid for some T . What is the problem? (assuming that
Washington University in St. Louis - CSE - 536
CS 576S Homework #7: Dataflow.Consider a cycle-free, token-stream dataflow language (textual or graphical), which provides facilities for macro definitions. You may assume that all tokens are simple data structures such as integers, arrays, and reco
Washington University in St. Louis - CSE - 584
CSE 584 Algorithms for Biosequence ComparisonJanuary 15, 2007Course Overview and General InformationMy goal is to make all of you mini-researchers in the area of fast biosequence comparison. In other words, I want to give you a background that
RPI - MK - 4090
FUNDAMENTALS OF MATHEMATICS Fall 2008HOMEWORK 10 SOLUTION Solution Published September 23, 2008 5 pointsA Directions. Please submit your answer to the following problem in a L TEXprepared document. Class participants are encouraged to prepare sol
Washington University in St. Louis - E - 4111
Professor John Nachbar Econ 4111 March 6, 2008The Envelope Theorem1 Introduction.The Envelope theorem, a corollary of the Kuhn-Tucker theorem, characterizes changes in the value of the objective function in response to changes in the parameters
RPI - MK - 1500
Math 1500Exam #1Sample QuestionsUse of books, notes or calculators is NOT permitted. Please show all your work! Answers without appropriate supporting work my not receive full credit. Clearly indicate your answers to each problem by underlining
RPI - MATH - 240
RPI - MATH - 102
Minnesota - MORRIS - 2402
Everyone knows what attention is. It is taking possession by the mind, in clear and vivid form, of one out of what seems several simultaneously possible objects or train of thought. Focalization, concentration of consciousness are the essence. It imp
RPI - CSCI - 6100
S T RQ@("V&@$~o$I0(q "x R (@5535(3&$~(}r ) P 7 r 1 % G 7 7 p% 7 G 1 7 G k # # 1 G T S # 7 k # k 1 ' #% # 4 1 #% G # 1% 7 p # 7 44 ' #% k 4 p #% r 1 4 2 1 t (y&|(&Y&6(&"y653 qs555"f1 i 6EYV3D635|&5$"A&Iz"ADG 9 7 1
RPI - CSCI - 6100
# r q $ %3#gn221 "m qq q Do m m yDk w q om l 2Do pm & & d1& h ! & ! & $& ! w 4 r& $ $ & f ! & & f h1& d d h r &11 0ed 0bi%g0& 5 (0 82 5 ed0083hunu2b2u 2ee282y$ 5 0 ! # ! f " w & 1 & ! f & & ! 4 # # 5 & #
RPI - CSCI - 6964
CSCI 4965/6961 Introduction to Computational FinanceRPI Fall 2005Course Description (Preliminary)An introduction to the basic computational and mathematical techniques used in practical nancial applications, with an emphasis on ecient algorithms
RPI - CSCI - 6100
z h 1 p} o q & #o s &o $ #s 1 p} s kD0& o av0%22q3p2r33#yrk%p 5 & !s $p !4 p ! o& #o s&o $ #s 7 $ 7 ! # q o&o 7 &ss 2W3mus g 00%22q3p2r33#yr Byi2%sx02c q22y3p 5 & (2i3$r%p3k(uD$ ! & q o &1 4 4 # q p} & !s z & $ ~1 p}1 cyWuk2c
Minnesota - CSCI - 1121
Document Object ModelCSci 1121What is DOM?Standard for representing and processing structured documents Defines how the document is represented inmemory Standard operations on the documentDocument is represented as a tree Everything in t
RPI - MATH - 2800
Math 2800 Introduction to Discrete Structure Exam 2 practice1. How many ways are there to choose 6 items from 10 distinct items when (a) the items in the choices are ordered and repetition is not allowed? (b) the items in the choices are ordered an
RPI - MATH - 1910
Math Degree RequirementsSecond Year MATH-2010 Multivariable Calculus and Matrix Algebra. . . . . . . . . . . xx.xxxx Science Elective. . . . . . . . . . . xx.xxxx Elective . . . . . . . . . . . . . . . . . . xx.xxxx Humanities or Social Science Elec
RPI - MK - 1620
Project #1 for RINS ending in 8 or 9Note there are 3(individual) or 4(partner) parts to this project. Please put the project number/title, your name(s) and last 4 of (both) RIN number(s) on the cover sheet of your project. This assignment should be
RPI - MK - 1620
Project #1 for RINS ending in 0 or 1Note there are 3(individual) or 4(partner) parts to this project. Please put the project number/title, your name(s) and last 4 of (both) RIN number(s) on the cover sheet of your project. This assignment should be
RPI - MK - 1620
Project #1 for RINS ending in 2 or 3Note there are 3(individual) or 4(partner) parts to this project. Please put the project number/title, your name(s) and last 4 of (both) RIN number(s) on the cover sheet of your project. This assignment should be
RPI - MK - 1620
Project #1 for RINS ending in 6 or 7Note there are 3(individual) or 4(partner) parts to this project. Please put the project number/title, your name(s) and last 4 of (both) RIN number(s) on the cover sheet of your project. This assignment should be
RPI - MK - 4090
FOUNDATIONS OF ANALYSIS Spring 2008QUIZ #4 REFERENCE Following is a copy of the directions for the quiz. This quiz consists of four questions. No partial credit will be assigned. On each of the questions one can earn a maximum of one point. Please
RPI - MK - 4090
FOUNDATIONS OF ANALYSIS SPRING 2008TRUE/FALSE QUESTIONSCARDINALITY, INDUCTION, AND DECIMAL REPRESENTATIONSChapters #5,6,7 (1) If the cardinality of a set, S, is the positive integer, n, then the cardinality of 2S is equal to 2n . (2) Let the car
RPI - MK - 4090
FOUNDATIONS OF ANALYSIS Spring 2008HOMEWORK 3 Solution Published January 29, 2008 3 pointsDirections. For full credit, please submit your answer to the following A problem in a L TEX-prepared document. Class participants are encouraged to prepare