0% found this document useful (0 votes)
80 views

H02 GeneralInformation PDF

Julie Zelenski Lecturer: Julie Zelenski Sections: MWF 2:15-3:05 pm in Skilling Aud Pre-reqs: CS106A or comparable intro programming course Units: Undergrads must take for 5 units, grads may take for fewer units Textbook: Programming Abstractions in C by Eric Roberts Exams: Midterm Feb 19th 7-9 pm, Final March 21st 12:15-3:15 pm Programs: Weekly assignments, graded interactively with section leader Software: Xcode for Mac, Visual Studio for Windows Late Policy: 2 "late days" for up to 3 days late,

Uploaded by

rahulmnnit_cs
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
80 views

H02 GeneralInformation PDF

Julie Zelenski Lecturer: Julie Zelenski Sections: MWF 2:15-3:05 pm in Skilling Aud Pre-reqs: CS106A or comparable intro programming course Units: Undergrads must take for 5 units, grads may take for fewer units Textbook: Programming Abstractions in C by Eric Roberts Exams: Midterm Feb 19th 7-9 pm, Final March 21st 12:15-3:15 pm Programs: Weekly assignments, graded interactively with section leader Software: Xcode for Mac, Visual Studio for Windows Late Policy: 2 "late days" for up to 3 days late,

Uploaded by

rahulmnnit_cs
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

CS106B Handout #2

J Zelenski Jan 9, 2008


CS106B — Course Information
Welcome!
On behalf of the entire staff, I'd like to welcome to you to CS106B! We're glad to see you
enjoyed CS106A and you're inspired to go on further. Moving from Java to C++ is a fun
and worthwhile challenge and the material in the second course is even more awesome
than the first and I'm excited to share these things with you. Building on the background
from your first course, you will become acquainted with the C++ programming language,
learn more advanced programming techniques, explore classic data structures and
algorithms, and apply these tools to solving complex problems. The assignments do get
more intense as we move onward, but we have our excellent section leaders and lots of
helper hours in the LaIR to keep you moving forward. I hope you will find the time worth
your investment and that you enjoy your growing mastery of the art of programming!

Lecturer: Julie Zelenski

Lectures: MWF 2:15-3:05 pm


Skilling Aud

Pre-reqs: The prerequisite for CS106B is solid performance in CS106A and


readiness to move on to advanced programming topics. A comparable
introductory programming course (including high school AP courses) is
often a reasonable substitute for our CS106A. Feel free to talk with me if
you're unsure if your background will be sufficient to enable you to
succeed in CS106B.

Sections: In addition to lecture, you’ll also attend a weekly discussion section. The
person leading your section will grade your assignments and work closely
with you throughout the quarter. I consider our excellent section leaders to
be one of the best features of CS106 and I hope you agree! You must sign
up for section by visiting
anytime from Thursday, Jan 10 5:00 P.M. through Sunday, Jan 13 5:00 P.M.
–2–

to enter your section preferences. Don't miss the signups! If you miss
signing up, the limited selection for late adds may make it impossible for
you to enroll. SCPD students have the option of being assigned to the
televised section or attending a regular section on-campus.

Optional lab: CS106B is a course in programming abstractions and although we use


C++, there is much more to the language that fits with our pedagogical
goals. CS106L is a 1-unit S/NC lab designed to accompany CS106B/X
and provide additional coverage of advanced features of the C++ language
and standard libraries. It meets MW 4:15-5:05pm in Hewlett 103. The lab
is optional and you are welcome to attend even if you don't choose to
enroll for credit.

Units: CS106B is offered for 3 to 5 units. Undergraduates must take the course
for 5 units of credit. Graduate students may enroll for fewer units to
squeeze into a limited tuition allowance, however this is solely a
bookkeeping change and has no effect on the course requirements.

Readings: The required text for this class is a C++-updated version of Eric Roberts'
marvelous textbook Programming Abstractions in C. The draft version is
available as a custom course reader from the Stanford bookstore. We will
also distribute some material in the form of course handouts in lecture.
Any leftover copies will be put in the bins in the Gates B-wing entryway
around the corner from Julie's office. If you miss class and don’t get to the
bins before the leftovers run out, you can always get a PDF version from
the class web site.

E-mail: Every now and then we may have time-critical information that can't wait
until the next class meeting, in which case we will send e-mail to the class
mailing list. The registrar creates the class mailing list using their
registration database. Please make sure your Axess registration is current
so you won't miss these important announcements.

Web site: Our course web site is the place to catch-


up on current announcements, grab copies of handouts, view the syllabus,
and find course information. The site includes a "Policies " section which
gives details on things as how the lateness is handled, specific examples of
acceptable and unacceptable collaboration, and so on. Please make an
effort to review these important policies. You should also check the web
page periodically for course announcements, especially when you have to
miss lecture.

Wiki: We started a class Wiki with CS106X last quarter that we plan on
continuing. We envision this collaborative website becoming a repository
of information helpful to current and future students. Right now, we're
focusing on two topic areas: C++ compiler error messages and tips and
tricks for using our development tools. We hope you will both benefit
from and contribute to our new endeavor! The wiki is linked to our class
web site.

Exams: The midterm and final will be open-book/open-note examinations. The


midterm will be held in out of class Tuesday Feb 19th 7-9pm. We hope
most of you will be able to attend the regular exam, but we will make
alternate arrangements for those with unavoidable conflicts.
–3–

The final will be Friday March 21st 12:15-3:15pm. This is our


university-assigned slot and all students are expected to take the final at
the official time, there will be no alternate final. Be sure to make your
end-quarter plans accordingly.

Local Bay Area SCPD students will come to campus for the exams.
Remote students take exams on-site.

Programs: There will be regular assignments, about one every week, and you will
generally be given a week or so to do each. The only way to learn
programming is by digging in, so you should expect to devote much time
to your assignments. We schedule 30+ weekly helper hours in the Lair to
help you make progress even when the going gets rough. I highly
recommend using the Lair as a regular workplace to take advantage of our
staff resources. Another great feature of the CS106 courses is that your
programs are graded interactively in a one-on-one session with your
section leader so you get targeted feedback for individual improvement.

Software: The official CS106 programming environments are Apple Xcode for Mac
OS X and Microsoft Visual Studio for Windows. These tools are installed
on computers in the public campus clusters. You can also download and
install these compilers on your own computer, more detailed information
on this will come in a later handout.

Late policy: Hofstadter’s Law: it always takes longer than you think, even when you
take Hofstadter’s Law into account.

Assignments are due at the beginning of class on the day specified. The
quick pace makes it difficult for students to catch up once they have fallen
behind, therefore, late assignments are very much discouraged.

That said, there are unforeseen emergencies (illness, bike accidents, disk
crashes, network troubles, etc.) that cannot always be planned for in
advance. Instead of having to ask for special allowances on an individual
basis, we give each of you the privilege of granting yourself a small
extension in case of crisis. You have two self-granted extensions or “late
days” which you may use to extend the due dates of any assignments
without penalty. A “day” is defined as a day on which class meets. Thus,
if your assignment was due on Monday but turned in Wednesday, that
assignment is one day late. In all cases, assignments will not be accepted
more than three class days after the original assignment due date.

Although late days are not intended to cover poor planning or


procrastination, we won't ask for justification and will assume you will use
your self-granted extensions fairly and wisely. Late days are valuable, and
it pays to keep some around for the harder assignments toward the end of
the quarter.

Further extensions are not even considered until you have exhausted your
own late days for legitimate needs. They are rarely granted and then only
for extraordinary circumstances (such as extended medical problems or
other emergencies). In such a situation, send e-mail to the head TA no
–4–

later than 24 hours before the program is due. Only the head TA is
authorized to approve extensions, not your section leader.

Grading: This class is offered with either letter grade or CR/NC grading option.
Course grades will be determined using the following weights:
50% Assignments
15% Midterm
30% Final
5% Participation in discussion section and interactive grading
To receive a passing grade in the course, you must complete satisfactory
work for both the assignment and the exam portions.

Honor Code: This Stanford Honor Code informs all of us how to conduct ourselves in
such a way to ensure the academic integrity of community. I believe this
to be very important and not wanting to skim on details, please see our
handout on "CS and the Honor Code" for a detailed explanation of our
course policies on what constitutes honorable work.

Online: CS106B is being offered over through SCPD this quarter, which means
the lectures are taped and broadcast/posted online for our industry
partners. As a side-effect, on-campus students can use the online videos to
review lectures or make up for missed classes. My feeling is that on-
campus students should plan to attend class in-person for best benefit. I
don't recommend taking the class solely by video because of a scheduling
conflict. Also note that university policy prohibits students from
registering for classes with conflicting final exams and CS106B will not
offer an alternate final exam.

Syllabus: A rough outline to give you an idea of what is planned—expect


adjustments as we go. Reading should be done in advance of the lectures
for maximum benefit.

Week Topics Reading


1 Admin, transitioning to C++, syntax, procedural paradigm Ch. 1
2 Libraries: standard C++ and CS106 2, 3
3 Client use of classes and templates, CS106 ADTs handouts
4 Functional and procedural recursion 4, 5
5 Recursive backtracking, recursive data 6
6 Algorithm analysis, sorting, template functions 7
7 Midterm: Tue Feb 19th 7-9pm 8
Class implementation, dynamic arrays, linked lists
8 Implementing vector, stack, and queue 10, 9
9 Trees, hashing, implementing map and set, graphs 13, 11, 15
10 Advanced topics, wrap
Final: Fri Mar 21st 12:15-3:15pm

This tag cannot be removed under penalty of law except by the consumer. Do not eat this paper. Recycle it.
–5–

You might also like