CS106B Course Information

Similar documents
Accounting 312: Fundamentals of Managerial Accounting Syllabus Spring Brown

Foothill College Summer 2016

Course Content Concepts

State University of New York at Buffalo INTRODUCTION TO STATISTICS PSC 408 Fall 2015 M,W,F 1-1:50 NSC 210

SYLLABUS: RURAL SOCIOLOGY 1500 INTRODUCTION TO RURAL SOCIOLOGY SPRING 2017

GIS 5049: GIS for Non Majors Department of Environmental Science, Policy and Geography University of South Florida St. Petersburg Spring 2011

Class Meeting Time and Place: Section 3: MTWF10:00-10:50 TILT 221

BUS Computer Concepts and Applications for Business Fall 2012

Office Hours: Mon & Fri 10:00-12:00. Course Description

MATH 1A: Calculus I Sec 01 Winter 2017 Room E31 MTWThF 8:30-9:20AM

Instructor. Darlene Diaz. Office SCC-SC-124. Phone (714) Course Information

ENG 111 Achievement Requirements Fall Semester 2007 MWF 10:30-11: OLSC

Introduction to Personality Daily 11:00 11:50am

Course Syllabus for Math

CS Course Missive

COMMUNICATIONS FOR THIS ONLINE COURSE:

Spring 2014 SYLLABUS Michigan State University STT 430: Probability and Statistics for Engineering

University of Waterloo School of Accountancy. AFM 102: Introductory Management Accounting. Fall Term 2004: Section 4

PSYCHOLOGY 353: SOCIAL AND PERSONALITY DEVELOPMENT IN CHILDREN SPRING 2006

Data Structures and Algorithms

Counseling 150. EOPS Student Readiness and Success

CHEM:1070 Sections A, B, and C General Chemistry I (Fall 2017)

San José State University Department of Psychology PSYC , Human Learning, Spring 2017

CS 100: Principles of Computing

CS 1103 Computer Science I Honors. Fall Instructor Muller. Syllabus

COMS 622 Course Syllabus. Note:

English 120: Introduction to the English Major Literature, History, Culture CRN: Fall 2012: MW 8:00 9:50 FH 236

CIS Introduction to Digital Forensics 12:30pm--1:50pm, Tuesday/Thursday, SERC 206, Fall 2015

SAT & ACT PREP. Evening classes at GBS - open to all Juniors!

WE ARE EXCITED TO HAVE ALL OF OUR FFG KIDS BACK FOR OUR SCHOOL YEAR PROGRAM! WE APPRECIATE YOUR CONTINUED SUPPORT AS WE HEAD INTO OUR 8 TH SEASON!

Business Computer Applications CGS 1100 Course Syllabus. Course Title: Course / Prefix Number CGS Business Computer Applications

*In Ancient Greek: *In English: micro = small macro = large economia = management of the household or family

PSYC 2700H-B: INTRODUCTION TO SOCIAL PSYCHOLOGY

AST Introduction to Solar Systems Astronomy

HCI 440: Introduction to User-Centered Design Winter Instructor Ugochi Acholonu, Ph.D. College of Computing & Digital Media, DePaul University

The Heart of Philosophy, Jacob Needleman, ISBN#: LTCC Bookstore:

Syllabus: CS 377 Communication and Ethical Issues in Computing 3 Credit Hours Prerequisite: CS 251, Data Structures Fall 2015

MASTERS EXTERNSHIP HANDBOOK

ACCA PROSPECTUS JAN-JUN 2018 SEMESTER 1 SANDTON CAMPUS BECOME YOUR VISION, A CHARTERED FINANCE PROFESSIONAL!

EDIT 576 (2 credits) Mobile Learning and Applications Fall Semester 2015 August 31 October 18, 2015 Fully Online Course


General Microbiology (BIOL ) Course Syllabus

COURSE WEBSITE:

Testing for the Homeschooled High Schooler: SAT, ACT, AP, CLEP, PSAT, SAT II

Class Mondays & Wednesdays 11:00 am - 12:15 pm Rowe 161. Office Mondays 9:30 am - 10:30 am, Friday 352-B (3 rd floor) or by appointment

PHY2048 Syllabus - Physics with Calculus 1 Fall 2014

CIS 121 INTRODUCTION TO COMPUTER INFORMATION SYSTEMS - SYLLABUS

Human Development: Life Span Spring 2017 Syllabus Psych 220 (Section 002) M/W 4:00-6:30PM, 120 MARB

SYLLABUS- ACCOUNTING 5250: Advanced Auditing (SPRING 2017)

SPM 5309: SPORT MARKETING Fall 2017 (SEC. 8695; 3 credits)

Academic Support Services Accelerated Learning Classes The Learning Success Center SMARTHINKING Student computer labs Adult Education

MATH 108 Intermediate Algebra (online) 4 Credits Fall 2008

Medical Terminology - Mdca 1313 Course Syllabus: Summer 2017

CENTRAL MICHIGAN UNIVERSITY COLLEGE OF EDUCATION AND HUMAN SERVICES

POLSC& 203 International Relations Spring 2012

THE GEORGE WASHINGTON UNIVERSITY Department of Economics. ECON 1012: PRINCIPLES OF MACROECONOMICS Prof. Irene R. Foster

INTRODUCTION TO SOCIOLOGY SOCY 1001, Spring Semester 2013

Penn State University - University Park MATH 140 Instructor Syllabus, Calculus with Analytic Geometry I Fall 2010

BIODIVERSITY: CAUSES, CONSEQUENCES, AND CONSERVATION

ITSC 1301 Introduction to Computers Course Syllabus

Syllabus ENGR 190 Introductory Calculus (QR)

Department of Anthropology ANTH 1027A/001: Introduction to Linguistics Dr. Olga Kharytonava Course Outline Fall 2017

KOMAR UNIVERSITY OF SCIENCE AND TECHNOLOGY (KUST)

CS 101 Computer Science I Fall Instructor Muller. Syllabus

ENGLISH 298: Intensive Writing

Computer Architecture CSC

Psychology 102- Understanding Human Behavior Fall 2011 MWF am 105 Chambliss

ASTRONOMY 2801A: Stars, Galaxies & Cosmology : Fall term

COSI Meet the Majors Fall 17. Prof. Mitch Cherniack Undergraduate Advising Head (UAH), COSI Fall '17: Instructor COSI 29a

EDIT 576 DL1 (2 credits) Mobile Learning and Applications Fall Semester 2014 August 25 October 12, 2014 Fully Online Course

Intermediate Algebra

Spring 2015 Natural Science I: Quarks to Cosmos CORE-UA 209. SYLLABUS and COURSE INFORMATION.

content First Introductory book to cover CAPM First to differentiate expected and required returns First to discuss the intrinsic value of stocks

University clearing advice/contact details for most common destinations for BHASVIC students

COMM 210 Principals of Public Relations Loyola University Department of Communication. Course Syllabus Spring 2016

Economics 201 Principles of Microeconomics Fall 2010 MWF 10:00 10:50am 160 Bryan Building

CRITICAL THINKING AND WRITING: ENG 200H-D01 - Spring 2017 TR 10:45-12:15 p.m., HH 205

Cleveland State University Introduction to University Life Course Syllabus Fall ASC 101 Section:

Computer Science 1015F ~ 2016 ~ Notes to Students

FINANCE 3320 Financial Management Syllabus May-Term 2016 *

CIS 2 Computers and the Internet in Society -

IPHY 3410 Section 1 - Introduction to Human Anatomy Lecture Syllabus (Spring, 2017)

HISTORY 108: United States History: The American Indian Experience Course Syllabus, Spring 2016 Section 2384

STUDENT MOODLE ORIENTATION

Nutrition 10 Contemporary Nutrition WINTER 2016

The University of Texas at Tyler College of Business and Technology Department of Management and Marketing SPRING 2015

BIOS 104 Biology for Non-Science Majors Spring 2016 CRN Course Syllabus

GEOG Introduction to GIS - Fall 2015

AGN 331 Soil Science Lecture & Laboratory Face to Face Version, Spring, 2012 Syllabus

Course Policies and Syllabus BUL3130 The Legal, Ethical, and Social Aspects of Business Syllabus Spring A 2017 ONLINE

Scott Foresman Addison Wesley. envisionmath

ACC : Accounting Transaction Processing Systems COURSE SYLLABUS Spring 2011, MW 3:30-4:45 p.m. Bryan 202

Student Information System. Parent Quick Start Guide

ACC 362 Course Syllabus

Name: Giovanni Liberatore NYUHome Address: Office Hours: by appointment Villa Ulivi Office Extension: 312

Ryerson University Sociology SOC 483: Advanced Research and Statistics

MATH 205: Mathematics for K 8 Teachers: Number and Operations Western Kentucky University Spring 2017

MTH 141 Calculus 1 Syllabus Spring 2017

Connect Mcgraw Hill Managerial Accounting Promo Code

SOUTHWEST COLLEGE Department of Mathematics

Transcription:

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: Pre-reqs: Sections: MWF 2:15-3:05 pm Skilling Aud 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. 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: Readings: E-mail: 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. 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. 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 catchup 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: Exams: 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. The midterm and final will be open-book/open-note examinations. The midterm will be held in out of class Tuesday Feb 19 th 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 21 st 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: Software: Late policy: 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. 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. 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: Syllabus: 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 oncampus 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. 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