Course Information

Published on December 2016 | Categories: Documents | Downloads: 28 | Comments: 0 | Views: 290
of 4
Download PDF   Embed   Report

Comments

Content

CS 106B: Programming Abstractions in C++ Course Information
Instructor
name: email: office: office phone: office hours:
Marty Stepp stepp [at] cs [dot] stanford [dot] edu Gates 195 (650) !"#660! see course web site

Stanford University Autumn 201

!ead "A
Jess Fisher jessf [at] stanford [dot] edu Gates 160 see course web site see course web site

Course #vervie$
$his course is the successor to the prere%uisite &S 106'( )t co*ers ad*anced pro+ra,,in+ topics such as recursion- a. # +orith,ic ana.ysis- and data a/straction usin+ the &00 .an+ua+e- 1hich is si,i.ar to & and Ja*a( &S 1062 assu,es that you a.ready ha*e fa,i.iarity 1ith +ood pro+ra,,in+ sty.e and soft1are de*e.op,ent (at the .e*e. of &S 106')- and that you can use this understandin+ as a foundation on 1hich to tac3.e ne1 topics in pro+ra,,in+ and data a/straction( 4e a.so offer an acce.erated pro+ra,,in+ a/stractions course ca..ed &S 1065( )t ,o*es at a faster pace- has ,ore cha. # .en+in+ assi+n,ents and e6a,s- and p.aces you into a cohort of hi+h#po1ered students 1ho +enera..y ha*e si+nificant pri # or pro+ra,,in+ e6perience( )f you are not sure 1hether you shou.d /e enro..ed in &S 106'- 1062- 1065- or another Stanford &S c.ass- p.ease *isit the 1062 course 1e/ site for ,ore infor,ation and7or contact the instructor(

Units
under+raduate students8 5 units (re%uired) +raduate students8 " to 5 units- dependin+ on 1hat /est fits into your schedu.e 9e+ard.ess of ho1 ,any units you are enro..ed for- the course content and re%uire,ents 1i.. /e the sa,e(
• •

CS 106%
&S 1062 is tau+ht in &00- /ut is not an in#depth study of the &00 .an+ua+e( 4e 1i.. use our o1n cus # to, .i/raries in p.ace of ,any standard .i/raries- and 1i.. not e6p.ore ,any parts of the .an+ua+e( )f you:re interested in .earnin+ ,uch ,ore a/out &00 and its .i/raries- consider additiona..y si+nin+ up for CS 106L( &S 106; is an optiona. one#unit .a/#/ased co,panion course to &S 1062 that is dedic# ated to e6p.orin+ the &00 pro+ra,,in+ .an+ua+e in depth( &S 106; is not a rep.ace,ent for the standard &S 1062 course- nor for its discussion section( So if you enro.. in &S 106; you shou.d a.so sti.. si+n up for a 1ee3.y discussion section on the 1e/ site(

Course &eb Site and 'mai(
http877cs106/(stanford(edu7 '.. resources fro, c.ass 1i.. /e posted here( &hec3 the 1e/ site often for any i,portant course#re.ated announce,ents( 4e a.so re%uire you to ha*e a Stanford e,ai. account( )f necessary- +et one at http877e,ai.(stanford(edu7 (


%ecture "ime
• M4F "815 <M # =805 <M- roo, "!0#105 ;ecture attendance is not ,andatory- and no +raded acti*ities 1i.. /e +i*en in .ecture other than the ,idter, and fina. e6 # a,s( '.. s.ides- pro+ra, code fi.es- and other resources fro, .ecture 1i.. /e posted on the c.ass 1e/ site( 2ut 1e sti.. re # co,,end attendin+ .ecture as your /asis for .earnin+ the ,ateria. and to he.p you prepare for the ho,e1or3 assi+n,ents(

)iscussion Sections
http877cs19>(stanford(edu7section )n addition to .ecture- you ,ust a.so sign up for a weekly 50-minute discussion section - he.d on *arious ti,es7p.aces on 4ed#Fri( ?our section 1i.. /e run /y an under+raduate section .eader 1ho 1i.. a.so +rade your ho,e1or3( )n section 1e ans1er %uestions- +o o*er co,,on errors in ho,e1or3 so.utions- and discuss sa,p.e pro/.e,s in ,ore detai. than 1e can in .ecture( <art of your course +rade co,es fro, attendin+ and participatin+ in your section on a re+u.ar /asis( Section si+n#ups are hand.ed on.ine durin+ the first 1ee3 of the %uarter- fro, $hu 5<M to Sun 5<M at the precedin+ @9;- a.so .in3ed fro, the c.ass 1e/ site( 'fter a ,atchin+ process- your section assi+n,ents 1i.. /e e#,ai.ed out to you /y $uesday of 4ee3 !( Sections /e+in the second 1ee3 of c.asses( '.thou+h '6ess .ists sections for this course- 1e don:t .oo3 at '6ess 1hen assi+nin+ sections( A*en if you:re enro..ed in a section throu+h '6ess- you ,ust si+n up throu+h our syste, as 1e.. to ,a3e sure so,eone 1i.. +rade your assi+n,ents(


"e*tboo+
9o/erts- Aric( Programming Abstractions in C++( )S2B 9 >#01""=5=>=0( Bo re%uired ho,e1or3 pro/.e,s or readin+s 1i.. /e assi+ned direct.y fro, the te6t/oo3- /ut it 1as 1ritten /y Stanford &S and is specifica..y tai.ored to this course- so it is a *ery usefu. reference( )t a.so contains practice pro/.e,s and sup # portin+ ,ateria.s you can use to study for e6a,s( ?ou are e6pected to either o1n a copy or ha*e fre%uent access to one( (4ee3.y ho,e1or3 assi+n,ents ha*e their o1n spec docu,ents on our 1e/ site- not direct.y fro, the te6t/oo3() $he e6# a,s in this course 1i.. /e open#/oo3- so it ,ay /e ad*anta+eous to o1n the /oo3 to /rin+ as a reference durin+ e6a,s( )n pre*ious %uarters- a pre.i,inary Ccourse readerC *ersion of the te6t/oo3 1as a*ai.a/.e in printed and <DF for,( $his o.der *ersion ,i+ht /e usa/.e for you in 1062 this autu,n- /ut so,e of its content is ,issin+ or .ess po.ished( '.so- you 1i.. not /e a/.e to use the di+ita. *ersion on your e6a,s- so it 1i.. /e .ess usefu. than the physica. te6t/oo3( 4e are not a/.e to officia..y pro*ide support for the course reader7<DF *ersion of the /oo3 and 1i.. not pro*ide he.p 1ith ,appin+ readin+ sections- pa+e nu,/ers- pro/.e, nu,/ers- etc( fro, the o.d *ersion to the current *ersion(

Com,uter Access and Soft$are
$he depart,ent operates a student co,puter c.uster7.a/ ca..ed the C LaI C .ocated on the second f.oor of $ressider @nion( Section .eaders 1i.. /e a*ai.a/.e at the ;a)9 to he.p students 1ith pro/.e,s( $he ;a)9 is open fro, Sun#$hu at the hours of 6p, # ,idni+ht( $he course 1e/ site contains a .in3 to an up#to#date .ist of current ;a)9 he.per hours( $he reco,,ended soft1are for the course is ca..ed !t Creator- as 1e.. as so,e supportin+ soft1are such as a &00 co,# pi.er and the Ja*a De*e.op,ent Eit (JDE)( $his soft1are is a.ready insta..ed for you in the ;a)9( )f you 1ant to 1or3 on ho,e1or3 on your o1n ,achine- the course 1e/ site contains .in3s to do1n.oad the soft1are free of char+e( $he soft1are runs on 4indo1s- Mac- and ;inu6( )f you prefer usin+ other editin+ soft1are- you ,ay- /ut 1e 1i.. not pro*ide support for any pro/.e,s you ha*e settin+ up or usin+ such soft1are on your ,achine(

-rades
?our o*era.. course +rade 1i.. /e deter,ined as a 1ei+hted a*era+e of the fo..o1in+ cate+ories8 50F ho,e1or3 assi+n,ents 5F section participation !0F ,idter, e6a, ("ed# $ct %0# &01%# ':00 - 10:00pm, location TBA) !5F fina. e6a, ((hu# )ec 1&# &01%# 1&:15 - %:15pm, location TBA)

'*ams
Gur e6a,s are open-*ook for the Programming Abstractions in C++ te6t/oo3- /ut closed-notes and c.osed for a.. other resources( ?ou ,ay not /rin+ or use any other printed ,ateria.s such as handouts- s.ides- or practice e6a,s( (' synta6 reference sheet 1i.. /e +i*en to you at the e6a, if necessary() Bo e.ectronic de*ices ,ay /e used- inc.udin+ ca.cu.ators( Ma3e#up e6a,s 1i.. /e +i*en on.y in rare cases of e,er+ency( )f you ,ust ,iss an e6a,- you ,ust contact the instructor at .east one 1ee3 prior to the e6a, and e6p.ain the circu,stances c.ear.y( )f an e,er+ency occurs on or near the e6a, day- you ,ust sti.. contact the instructor /efore the e6a, (or arran+e for so,eone e.se to do so) e6p.ainin+ the situation( 4e 1i.. not appro*e any re%uests to reschedu.e e6a,s /ased on persona. reasons such as tra*e.- .eisure- or to ease e6a, 1ee3 schedu.es( Bo ,a3e#up e6a,s 1i.. /e +ranted to a student 1ho contacts us after the e6a, is o*er- e6cept in cases of dire e,er+ency( Bo specia. acco,,odations 1i.. /e ,ade for students 1ho arri*e .ate to e6a,s- re+ard.ess of the reason (,issin+ a /usH o*ers.eptH sic3H etc()(

!ome$or+ Assignments
Io,e1or3 consists of pro+ra,,in+ assi+n,ents done on an indi*idua. /asis( ?ou 1i.. ha*e rou+h.y one 1ee3 to 1or3 on each assi+n,ent- and there 1i.. /e appro6i,ate.y assi+n,ents in tota.( <ro+ra,s 1i.. /e +raded on C functionalityC (is the pro+ra,:s /eha*ior correctJ) and C styleC (is the code 1e.. 1ritten and e.e+antJ)( Disputes a/out ho,e1or3 +radin+ ,ust /e ,ade 1ithin 1 1ee3 of your interacti*e +radin+ session 1ith your S;- or 1ithin ! 1ee3s of recei*in+ the score1hiche*er co,es sooner( 9ather than a direct point#/ased scorin+ syste,- 1e ,ap ho,e1or3 scores into the fo..o1in+ C/uc3etsC8 0 KK K ✓K ✓ ✓0 Bo credit( $ypica..y this ,ar3 is on.y +i*en if you do not su/,it the assi+n,ent or it sho1s no effort 1hatsoe*er( ' su/,ission that has e6tre,e.y serious issuesH sho1s a.,ost no understandin+ ' su/,ission that has *ery serious issues and does not de,onstrate si+nificant effort and understandin+( ' su/,ission that has pro/.e,s serious enou+h to fa.. short of the e6pectations7re%uire,ents for the assi+n,ent( ' su/,ission that ,eets the re%uire,ents for the assi+n,ent- 1ith a fe1 s,a.. pro/.e,s or areas of i,pro*e,ent( ' su/,ission that satisfies a.. the re%uire,ents for the assi+n,ent- sho1in+ *ery so.id functiona.ity as 1e.. as +ood sty.e( )t ref.ects a jo/ 1e.. done( )t is rare to recei*e a ,ar3 a/o*e ✓0- so this is +enera..y the score to ai, for( 0-00 ' su/,ission that is CperfectC or si+nificant.y e6ceeds our e6pectations for the assi+n,ent( $o recei*e the +rades- a pro+ra, often ref.ects additiona. 1or3 /eyond the re%uire,ents or so.*es the pro/.e, in a particu.ar.y e.e+ant 1ay( ' ,ar3 of 0 or 00 1i.. /e +i*en out on.y on rare occasions and shou.d not /e considered a standard +oa. for each assi+n,ent you su/,it( )t is ,ore of a 1ay of con+ratu.atin+ the rare su/,ission that +oes a/o*e and /eyond( Fro, past e6perience- 1e e6pect that most grades will *e ✓ or ✓+( Di*idin+ the +rades into these +enera. cate+ories ,eans that your section .eader can spend ,ore ti,e ta.3in+ a/out 1hat you need to .earn fro, the assi+n,ent 1ithout /e # in+ /o++ed do1n in cata.o+in+- e6p.ainin+- and justifyin+ ,inor point deductions( $he +oa. is to ,a6i,iLe the .earnin+ e6perience and reduce focus on s,a.. differences in nu,eric +rades( For each assi+n,ent- you ,ust make an appointment for an interacti,e-grading session 1ith your section .eader( ?our section .eader 1i.. e6p.ain in section ho1 to schedu.e these sessions and +o o*er the +radin+ process in ,ore detai.( $he interacti*e#+radin+ session 1ith your section .eader ,ust /e schedu.ed 1ithin t1o 1ee3s of the assi+n,ent due date(

!ome$or+ Submission and %ateness
Su/,it your assi+n,ents e.ectronica..y fro, the course 1e/ site( Aach assi+n,ent has a specific due date7ti,e .isted on its handout and7or the course 1e/ site( 'ssi+n,ents 1i.. +enera..y /e due short.y /efore the start of a .ecture( Aach student /e+ins the course 1ith % -late days- for use on ho,e1or3 assi+n,ents( ' .ate day a..o1s you to su/,it a pro+ra, up to one .ecture .ate 1ithout pena.ty( For e6a,p.e- if a pro+ra, is due on Monday at !p,- usin+ a .ate day a. # .o1s you to su/,it it on 4ednesday at !p, 1ithout pena.ty( Gr if a pro+ra, is due on Friday at noon- usin+ a .ate day a..o1s you to su/,it it up to the fo..o1in+ Monday at noon 1ithout pena.ty( ?ou ,ay use up to ! .ate days on any +i*en assi+n,entH you ,ay not use a.. " on the sa,e pro+ra,( Gnce you are out of .ate days- each successi*e .ecture:s 1orth of .ateness on a pro+ra, su/,ission incurs a pena.ty of one +rade C/uc3etC (a ✓0 turns into a ✓- or a ✓ turns into a ✓K- and so on)( 9e+ard.ess of ho1 ,any .ate days you ha*e .eft- you may not su*mit a program more than & lectures after it is due or after the .ast .ecture day( Bote that .ate days ,ay not /e used on the *ery .ast assi+n,ent- as it co,es due durin+ the fi# na.s period nor,a..y reser*ed for this course( More specifica..y- we will not accept any late su*missions for the final assignment- e*en if you ha*e re,ainin+ .ate days( ?ou shou.d thin3 of these C.ate daysC as e6tensions you ha*e /een +ranted ahead of ti,e- and use the, 1hen you ,i+ht ha*e other1ise tried to as3 for an e6tension( 's a resu.t- e6tensions /eyond the pro*ided free C.ate daysC 1i.. +enera..y not /e +ranted( )n very special circu,stances (pri,ari.y e6tended ,edica. pro/.e,s or other e,er+encies)- e6tensions ,ay /e +ranted /eyond the .ate days( '.. e6tension re%uests ,ust /e directed to the head $' no .ater than != hours before the pro+ra, is due( $nly the head (. or instructor will *e a*le to appro,e e/tensions ( )n particu.ar- p.ease do not as3 your section .eader for an e6tension- since they cannot +rant you one( )f you e*er 1ant us to de.ete and discard your su/,ission to a +i*en assi+n,ent for any reason- you ha*e the option to retract your su*mission- no %uestions as3ed( )f you fee. a need to e6ercise this option- contact the course head $' and in # dicate 1hich su/,ission(s) you 1ou.d .i3e to retract( )n +enera. you shou.d not e*er need to do this- e6cept in rare cases 1here you fee. you ha*e su/,itted i,proper 1or3( See Ionor &ode section for ,ore infor,ation(

!onor Code
'cade,ic conduct for students at Stanford is +o*erned /y the Ionor &ode( <art of the Ionor &ode is a p.ed+e and e6# pectation to participate in c.ass 1ithout see3in+ unauthoriLed he.p on +raded 1or3 such as assi+n,ents and e6a,s( @n.ess other1ise specified- pro+ra,,in+ assi+n,ents in this course ,ust /e co,p.eted indi,idually( '.. code you su/# ,it ,ust /e your o1n 1or3( ?ou ,ay discuss +enera. ideas of ho1 to approach an assi+n,ent- /ut ne*er specific detai.s a/out the code to 1rite( 'ny he.p you recei*e fro, or pro*ide to c.ass,ates shou.d /e .i,ited and shou.d not in*o.*e de # tai.s of ho1 to code a so.ution( $his is i,portant to us part.y /ecause 1e fee. that it is i,perati*e that you .earn ho1 to app.y the c.ass ,ateria. to1ard so.*in+ cha..en+in+ pro/.e,sH you 1i.. not .earn this /y copyin+ others: so.utions( Iere are so,e specific /eha*iora. +uide.ines that 1e e6pect you to fo..o1 in this c.ass8 • $n each assignment su*mission# you must indicate any assistance you recei,ed0 For e6a,p.e- if you .oo3 at an e6a,p.e in the te6t/oo3 or course 1e/ site- or a 1e/ tutoria. on.ine- cite the source( )f you recei*e any non# tri*ia. he.p fro, another person 1hi.e 1or3in+ on the assi+n,ent- or +i*e such he.p to another person- cite this as 1e..( Fai.ure to cite a si+nificant source ,ay constitute p.a+iaris,( • 1ou must not consult any assignment solutions that are not your own0 4e tend to re#use so,e assi+n,ents fro, %uarter to %uarter- /ut you ,ust not e6a,ine any other person:s ho,e1or3 so.ution( • 1ou must not willingly gi,e out your assignment solution to another student0 • 1ou must not attempt to disguise any code that is not your own0 • 1ou must not post your homework solution code pu*licly online0 For e6a,p.e- do not paste your code into a pu/.ic on.ine foru, or fi.e#sharin+ site (e(+( &00 Foru,s- <aste2in- Drop2o6) to as3 others for he.p( • 2lease take reasona*le steps to ensure that your work is not easily copied *y others0 For e6a,p.e- .o+ out of shared co,puters- do not .ea*e printouts of your code in pu/.ic .a/s- do not post your so.utions on a pu/.ic 1e/ site (e(+( <aste/in or GitIu/)- and do not e,ai. your so.ution to other students( )f a c.ass,ate approaches you and see3s an inappropriate .e*e. of he.p on an assi+n,ent- instead point the, to c.ass resources such as .ecture e6a,p.es- the te6t/oo3- the ;a)9- course ,essa+e foru,- or e,ai.in+ the section .eader or the instructor( 4e rea.iLe that peop.e ,a3e ,ista3es and /ad decisions so,eti,es- and 1e 1ant to +i*e you .ee1ay to correct a /ad de # cision if necessary( )f you su/,it a so.ution to an assi+n,ent /ut then .ater rea.iLe that you ha*e p.a+iariLed so,eone e.se:s 1or3- or that you ha*e not fo..o1ed the Ionor &ode- or for any other reason- you ha*e the option to retract your su*mission to the assi+n,ent- no %uestions as3ed( )f you fee. a need to e6ercise this option- contact the course head $' and indicate 1hich su/,ission(s) you 1ou.d .i3e to retract( Bo further action 1i.. /e ta3en- nor records 3ept( 4e periodica..y run similarity-detection software o*er a.. su/,itted student pro+ra,s- inc.udin+ pro+ra,s fro, past %uarters and any so.utions found on.ine on pu/.ic 1e/ sites( $his soft1are is po1erfu. and is *ery +ood at findin+ inap # propriate co..a/oration- e*en if the pro+ra, is a.tered to dis+uise the si,i.arity( )f 1e fee. that a c.ear *io.ation of the Ionor &ode has occurred- and that the student(s) in*o.*ed do not ta3e ti,e.y action to retract the su/,ission and correct the pro/.e,- 1e ,ay choose to under+o uni*ersity discip.inary proceedin+s *ia the Gffice of &o,,unity Standards( 'fter a.. of the a/o*e ru.es- you ,ay /e .eft thin3in+ that you shou.d ne*er ta.3 to another student or consu.t any he.p re # source- for fear of accidenta..y *io.atin+ the po.icies( 2ut ,any 3inds of co..a/oration and resources are accepta/.e and encoura+ed( )n co,puter science courses- it is usua..y appropriate to as3 othersMthe section .eader- instructor- or c.ass# ,atesMfor ideas- hints- and de/u++in+ he.p- or to ta.3 +enera..y a/out pro/.e,#so.*in+ strate+ies and pro+ra, structure( 4e encoura+e it( 2ut these discussions shou.d not approach a .e*e. 1here you are discussin+ specific .ines of code( )f they do- /e sure to cite the assistance you recei*e- and /e ,indfu. to interact in a 1ay that is consistent 1ith the po.icies( Most Ionor &ode cases are due to .ast#,inute panic3in+ in 1hich a student ,ade a poor decision to copy 1or3 fro, so,eone e.se( ?our o*era.. course +rade 1i.. decrease if you don:t turn in one of the assi+n,ents or retract a su/,ission/ut it is un.i3e.y that a sin+.e ,issed assi+n,ent 1i.. cause you to fai. the course( More .i3e.y- your +rade 1i.. drop /y a ha.f#step or t1o (e(+( fro, an ' to an '# or a 20)( )f you are ha*in+ a hard ti,e 1ith one of the assi+n,ents and .e+iti,# ate.y fee. that you cannot finish it- it is su/stantia..y /etter to just not su/,it it than to su/,it 1or3 that is not your o1n( ?ou are far /etter off ta3in+ a s.i+ht.y .o1er +rade than facin+ any ris3 of uni*ersity discip.inary proceedin+s( <.ease fee. free to contact the instructor if you ha*e any %uestions or if you are unsure 1hether a particu.ar /eha*ior fa..s 1ithin our po.icy( 4e rea.iLe that the *ast ,ajority of &S 1062 students understand the Ionor &ode and fo..o1 it earnest.y- and 1e appreciate your hard 1or3( 4e 1i.. do our /est to pro*ide you 1ith .ots of he.p and assistance a.on+ the 1ay so that you 1i.. not fee. a need or pressure to *io.ate the Ionor &ode( This document is copyright © Marty Stepp, licensed under Creative Commons Attribution 2.5 License. All rights reserved.

Sponsor Documents

Or use your account on DocShare.tips

Hide

Forgot your password?

Or register your new account on DocShare.tips

Hide

Lost your password? Please enter your email address. You will receive a link to create a new password.

Back to log-in

Close