01-CS106X-Course-Information
3 Pages

01-CS106X-Course-Information

Course: CS 106, Fall 2009

School: Stanford

Word Count: 1997

Rating:

Document Preview

CS106X Spring 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...

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:

Rensselaer Polytechnic Institute - 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
Rensselaer Polytechnic Institute - 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
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 - 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
Rensselaer Polytechnic Institute - 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
Rensselaer Polytechnic Institute - 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
Rensselaer Polytechnic Institute - MATH - 240
Rensselaer Polytechnic Institute - MATH - 102
Rensselaer Polytechnic Institute - 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
Rensselaer Polytechnic Institute - 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
Rensselaer Polytechnic Institute - 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
Rensselaer Polytechnic Institute - 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
Rensselaer Polytechnic Institute - 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
Rensselaer Polytechnic Institute - 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
Rensselaer Polytechnic Institute - 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
Rensselaer Polytechnic Institute - 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
Rensselaer Polytechnic Institute - MK - 4090
FOUNDATIONS OF ANALYSIS Spring 2008HOMEWORK 5 Solution Published February 1, 2008 5 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
Rensselaer Polytechnic Institute - MK - 4090
FOUNDATIONS OF ANALYSIS Spring 2008HOMEWORK 9 Solution Published February 12, 2008 5 pointsDirections. For full credit, please submit your answer to the following A problem in a L TEX-prepared document. Class participants are encouraged to prepar
Rensselaer Polytechnic Institute - MK - 4090
FOUNDATIONS OF ANALYSIS Spring 2008HOMEWORK 2 Solution Published January 22, 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
Rensselaer Polytechnic Institute - MK - 4090
FOUNDATIONS OF ANALYSIS Spring 2008HOMEWORK 15 Solution Published February 29, 2008 5 pointsDirections. For full credit, please submit your answer to the following A problem in a L TEX-prepared document. Class participants are encouraged to prepa
Rensselaer Polytechnic Institute - MK - 4090
FUNDAMENTALS OF MATHEMATICS SPRING 2009HOMEWORK 25 Solution Published April 14, 2009 5 pointsA Directions. Please submit your answer to the following problem in a L TEXprepared document. Class participants are encouraged to prepare solutions in a
Rensselaer Polytechnic Institute - MK - 4090
FUNDAMENTALS OF MATHEMATICS SPRING 2009HOMEWORK 28 Solution Published April 21, 2009 5 pointsA Directions. Please submit your answer to the following problem in a L TEXprepared document. Class participants are encouraged to prepare solutions in a
Rensselaer Polytechnic Institute - MATH - 2800
AName:MATH2800 Introduction to Discrete Structures Quiz 5No collaboration is permitted on the quizzes. Calculators are not permitted. Please ring your section below: 1: Monday 9am 2: Thursday 9am 3: Monday 2pm 4: Thursday 2pmQuestions: A crate
Rensselaer Polytechnic Institute - MK - 1620
Project #1 for RINS ending in 4 or 5Note there are 3 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 typed (you may leave some
Rensselaer Polytechnic Institute - MB - 2400
Rensselaer Polytechnic Institute - MATH - 1020
Calculus II MATH 1020 Spring 2009 Section5.3 5.4 5.5 7.1 7.2 7.4 7.3 7.5 7.8 14.1 14.3 10.1 10.2 10.3 10.4 12.1 12.2 12.3 12.4 12.5 13.1 13.2 11.1 11.2 11.3Sections 7-10Assignment2 9, 19 44 1 18, 21 39, 41, 43 1 46, 51 70 3 32 odds, 47,
Rensselaer Polytechnic Institute - MATH - 1010
Calculus I MATH 1010 Fall 2008 SectionReady Set Calulus Appendix A Appendix B Appendix D 1.1 1.2 1.3 1.5 1.6 2.2 2.3 2.5 2.6 2.7 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 4.1 4.2Sections 9-12Assignment All1, 5, 9, 15, 17, 23, 27, 31, 33, 37
Stanford - ESST - 1025
Case 5:02-cv-04497-RMWDocument 221Filed 03/08/2006Page 1 of 71 LERACH COUGHLIN STOIA GELLER RUDMAN & ROBBINS LLP 2 PATRICK J. COUGHLIN (111070) JOHN K. GRANT (169813) 3 LUKE O. BROOKS (212802) 100 Pine Street, Suite 2600 4 San Francisco, CA 9
Stanford - GNSS - 1036
3:02-cv-05344-JSWDocument 106Filed 07/13/2007Page 1 of 31 2 3 4William M . Audet, Esq. (SBN 117456) AUDET & PARTNERS, LLP 221 Main Street, Suite 1460 San Francisco , CA 94105 Telephone : 415.568.2555 Facsimile : 415.568.2556 Lead Plaintiffs
Virginia Tech - USA - 1919
Milwaukee Leader: Peoples Rule Upheld in Berger Victory [Dec. 20, 1919]1Peoples Rule Upheld in Berger Victory:District Returns Socialist to Seat Congress Refused:Big Business routed by 4,806 Votes, as Ballotting Shows Gain of 6,548 for Socialis