A3&RPSXWHU6FLHQFH 2verview of, and Rationale for, Course isis meant to teach students how to . It instructs $SSHQGLFHV$ &$3&RPSXWHU6FLHQFH&RXUVH'HVFULSWLRQThe course is designed to be equivalent to a first-semester university course in Computer Science. few "that have been "### 0DWK##6WULQJAfter these review lectures, ())*+ The AP Computer Science course meets for four 45¬minute class periods per week, in addition to one 40¬minute class period per week. The computer labs have 20 stations each, one of which is a teacher’s station, and 18 of which are student stations. There is one, non¬networked station that is designated as “stand¬alone” which may be used as the need arises. The following syllabus assumes that there are approximately 33 weeks prior to the AP exam. The time after the exam is devoted to team programming, projects dealing with files, graphics and GUI, and other enrichment activities. All scientists - including computer scientists - need to be skilled writers and researchers. The elements of good writing - clarity, simplicity, organization - are an essential part of success in college and in the workforce. Writing by the student for this course will take the form of contribution to blogs and wikis, and the written comments which will clarify major segments of a computer program. Writing by students will be an integral part of their participation grade (see grading pie chart below). E""/79 ""/7 interactive """""/ /# ""/:-6&:-6" ;< "":-6 (=* Homework >"completing programs that emphasize and reinforce lectures/class discussions. As such, most of the work for the course will ideally be done in class in order to allow practising, extending and consolidating the ideas presented daily. Lecture notes, including any audio/visual materials, are posted on Google sites and may be accessed by the student at any time Textbooks and Resources • Cook, Charles. Blue Pelican Java, Virtual Book Worm, 2009 (eBook) • The College Board’s GridWorld Case Study Further resources may be found at Mr. Morell's AP Computer Science web site and on Google Sites Teaching Methodologies and Course Framework * Classes will typically consist of the following: • lecture (de-emphasized after fundamental concepts are covered) • multimedia presentations (LCD displays of student and teacher work / incorporated with lecture) • student programming time • student demonstrations using appropriate programming tools and Web 2.0 technologies • short-term assignments (individual; in class) • long-term projects (individual and collaborative; in and outside of class). * Students will spend most of their time in the classroom programming and informally sharing solutions to problems. Expectations from Instructor * Reading, concentration, and problem-solving skills are essential in order to follow the exercises and the reading contained in the e-textbook. In addition, students must: • pparticipate p in class discussions and ppost information vital to the assimilation of the material • complete all projects and class assignments • be responsible for their computer station (to be used for in-class assignments) during class • follow the rules of Gulliver’s Acceptable Use Policy for Technology and the Student Handbook =)>&@ VW6L[:HHNV("M# ##0DWK#6WULQJ* 7RSLF6 ($* >&@ 7RSLFQ" " ($* >&@ 7RSLFX PDLQ ($* >&@>&@>&@ 7RSLF- >&@>&@ 7RSLF6WULQJ (Z* >&@>&@>&@ 7RSLF` (Z* >&@ 2EMHFWLYHV "N x # x "acceptable use# x O #"/## x 5HDGLQJ%OXH3HOLFDQ-DYD# ; JC 1.1 2EMHFWLYHV "N x =# x " 5HDGLQJ%OXH3HOLFDQ-DYD#9#R!-& 2EMHFWLYHVM ""N x # x /(Y6>*# x SULQWOQ 5HDGLQJ%OXH3HOLFDQ-DYD#7$#9!-&-1.8 3URJUDPV)URP0H7R<RX PDLQSULQWOQ 2EMHFWLYHV "N x 6WULQJ#LQW#GRXEOH# x "(### * x "+# x " 5HDGLQJ%OXH3HOLFDQ-DYD#7Z#=!=Z$,2.5 2EMHFWLYHV ""N x #OHQJWK#VXEVWULQJ#WR/RZHU&DVH# WR8SSHU&DVH# x \ 5HDGLQJ%OXH3HOLFDQ-DYD#7^!=%_ 3URJUDPV1DPH7KDW&HOHEULW\M >/6WULQJ 2EMHFWLYHV ""N x ### x # x O & + & " " # # " & & & 5HDGLQJ%OXH3HOLFDQ-DYD#7%; JC 4.3 3URJUDPV&KHDWLQJ2Q<RXU$ULWKPHWLF$VVLJQPHQW ` 7RSLF> 2EMHFWLYHV ""N ## x /"ILQDO x # ($* x >&@ 5HDGLQJ&#7'; JC 4.5 7RSLF 0DWK 2EMHFWLYHV ""N ($* x 0DWK# >&@>&@>&@ x 5HDGLQJ%OXH3HOLFDQ-DYD#7_; JC 4.4 3URJUDPV&RPSXWH7KLV ` 7RSLF: 2EMHFWLYHV ""N / x 6FDQQHU# ($* x QH[W,QW#QH[W'RXEOH#QH[W#QH[W/LQH >&@>&@ / 5HDGLQJ%OXH3HOLFDQ-DYD#7z#>#-& 3URJUDPV x *RLQJLQFLUFOHV{# x :KDW¶V0\1DPH": /# 2EMHFWLYHV ""N 7RSLF& x ERROHDQ# (Z* x &9-)Y# >&@>&@ x & 5HDGLQJ%OXH3HOLFDQ-DYD#7|#Q; JC 6.4 7RSLF LI 2EMHFWLYHV ""N (Z* x LIHOVH# >&@>&@>&@ x LI 5HDGLQJ%OXH3HOLFDQ-DYD#7}M-&6.1-6.2 3URJUDPV(YHQRU2GG" :/ 2EMHFWLYHV ""N 7RSLF VZLWFK # x LIHOVH# (^* x LI >&@>&@>&@ 5HDGLQJ%OXH3HOLFDQ-DYD#7$~; JC 6.3 & & & 3URJUDPV:HLJKWRQ2WKHU3ODQHWV `VZLWFK# 2EMHFWLYHV ""N 7RSLF IRU (^* x IRU# >&@>&@ x /FRQWLQXH# x 5HDGLQJ%OXH3HOLFDQ-DYD#7$$M-&71 3URJUDPV1DPH5HYHUVDO :/` 2EMHFWLYHV ""N 7RSLFZKLOHGR ZKLOH x ZKLOH# (^* x GRZKLOH# >&@>&@ x IRU 5HDGLQJ%OXH3HOLFDQ-DYD#7$ZM-&7.2-7.5 7RSLF=:: 2EMHFWLYHV ""N &KDUDFWHU x =::# x # (Z* x 6WULQJFKDU# >&@>&@>&@ x &KDUDFWHU 5HDGLQJ%OXH3HOLFDQ-DYD#7$^#- & & & & " " # # " & & $3&RPSXWHU 6FLHQFH&RXUVH 'HVFULSWLRQ(9M " = # * QG6L[:HHNV(#O#6WULQJ ###"* 7RSLF&## (Z* >&@>&@>&@>&@ 7RSLFX (_* >&@>&@>&@ 2EMHFWLYHV ""N x # x ## # x ## 5HDGLQJ%OXH3HOLFDQ-DYD#7$%#Appn G, Y; JC Appn L 3URJUDPV%DVLFDOO\6SHDNLQJ - \### 2EMHFWLYHV ""N x # x # x "## ## x ## "# 5HDGLQJ%OXH3HOLFDQ-DYD#7$'#$_M-&9.1-9.5 3URJUDPV x :KDW¶VWKDWGLDPHWHU"M=&LUFOH" GLDPHWHU x 2YHUGUDZQDWWKH%DQN=%DQN$FFRXQW #" ZLWKGUDZOGHSRVLW= "PDLQ x *DV0LOHDJH=$XWRPRELOH ""# #/;< 7RSLF6WULQJ 2EMHFWLYHV ""N x FRPSDUH7R#LQGH[2I#FKDU$W#UHSODFH#WULP (^* # >&@>&@>&@>&@ x 6WULQJ6FDQQHU 5HDGLQJ%OXH3HOLFDQ-DYD#7$z#= 3URJUDPV x $GGµHP8S`6FDQQHU x (QFU\SWLRQ'HFU\SWLRQ`6FDQQHU 2EMHFWLYHV ""N 7RSLF x +# (z* x # >&@>&@>&@ x VSOLW# x # x $UUD\V# x # x IRUORRS 5HDGLQJ%OXH3HOLFDQ-DYD#7$|#$}#=!-& 8.1, 8.5-8.7 3URJUDPV x &RXQWµHP5LJKW`VSOLW x $UUD\RI+RSH` x 6RUWLQJD6WULQJ$UUD\`$UUD\VVRUW x 7ZR2UGHUVIRUWKH3ULFHRI2QH 7RSLF`VWDWLF 2EMHFWLYHV ""N x VWDWLF# (Z* x VWDWLF >&@>&@>&@>&@>&@ 5HDGLQJ%OXH3HOLFDQ-DYD#7Z~#:; JC 9.6-9.7 3URJUDPV+RZIDUWRWKH/LQH - 7RSLF 2EMHFWLYHV ""N (Z* x # & & & & & $3&RPSXWHU 6FLHQFH&RXUVH 'HVFULSWLRQ(9M " = # * & # $3 &RPSXWHU6FLHQFH &DVH6WXG\ = >&@>&@ x # x SDUVH,QW#SDUVH'RXEOH#WR+H[6WULQJ# WR2FWDO6WULQJ#WR%LQDU\6WULQJ#WR6WULQJ & 5HDGLQJ%OXH3HOLFDQ-DYD#7Z$#ZZ; JC 8.3 UG6L[:HHNV(:/##"# #6WULQJ%XIIHU#&* 7RSLF 2EMHFWLYHV ""N x 6FDQQHU/# (_* x WKURZV,2([FHSWLRQ >&@>&@>&@>&@ 5HDGLQJ%OXH3HOLFDQ-DYD#7Z$#ZZ#Zz; JC 16.1-16.2 3URJUDPV x 5HDGLQJ)LOHVM x *HW5LGRIWKDW3OXV6LJQ: x 6WXGHQWDYHUDJHV: x *\PQDVWLFV:) 7RSLF 2EMHFWLYHV ""N x ($* # >&@>&@>&@>&@ x 5HDGLQJ%OXH3HOLFDQ-DYD#7Z_#=16.3-16.5 3URJUDPV:ULWH6WXGHQW$YHUDJHVM :" 2EMHFWLYHV ""N 7RSLFX x 1XPEHU)RUPDW# (Z* x )RUPDWWHUSULQWI >&@>&@ 5HDGLQJ%OXH3HOLFDQ-DYD#7Zz#- 2EMHFWLYHV ""N 7RSLF&" x "9-#)Y#)Y# (^* x ### >&@>&@>&@>&@ x ;<# x 5HDGLQJ%OXH3HOLFDQ-DYD#7Z|#Z}#Q 3URJUDPV7ZHDNLQJIRUVSHHGM `/ 7RSLFY 2EMHFWLYHV ""N x "5DQGRP & & & & $3&RPSXWHU 6FLHQFH&RXUVH 'HVFULSWLRQ(9M " = # * & " " # # " (^* >&@>&@>&@ 7RSLF6WULQJ%XIIHU ($* >&@>&@>&@>&@ 7RSLF& (^* >&@ 7RSLF ($* >&@>&@ # x !# 5HDGLQJ%OXH3HOLFDQ-DYD#7^~; JC Appen. C 3URJUDPV0RQWH&DUOR7HFKQLTXHM -;< : 2EMHFWLYHV ""N x 6WULQJ# x ""6WULQJ%XIIHU 5HDGLQJ%OXH3HOLFDQ-DYD#7^$ 3URJUDPV&RQFDWHQDWLRQV*RQH:LOGM `6WULQJ%XIIHU 2EMHFWLYHV "N x ""& # x " x "# x -> 5HDGLQJ%OXH3HOLFDQ-DYD#7^Z 2EMHFWLYHV "N x "LIHOVH x " 5HDGLQJ%OXH3HOLFDQ-DYD#7^^ WK6L[:HHNV(##" #####* 7RSLF 2EMHFWLYHV "N x (Z* # >&@>&@ x 5HDGLQJ%OXH3HOLFDQ-DYD#7^% 3URJUDPV3DVVWKH*UDY\3OHDVHM 2EMHFWLYHV "N 7RSLF " x "+"# (Z* x $UUD\V"" >&@>&@>&@ 5HDGLQJ%OXH3HOLFDQ-DYD#7^'# & & & & & $3&RPSXWHU 6FLHQFH&RXUVH 'HVFULSWLRQ(9M " = # * 7RSLF: (^* >&@ 7RSLF6 (Z* >&@>&@>&@ 7RSLF: ($* >&@>&@>&@ 7RSLF= (Z* >&@>&@>&@ 7RSLFY (^* >&@>&@>&@ 3URJUDPV(* x 0DWUL[0XOWLSOLFDWLRQM>" x 0DWUL[0XOWLSOLFDWLRQZLWK)LOH,QSXW 2EMHFWLYHV "N x # x "DEVWUDFW#ILQDO## " 5HDGLQJ%OXH3HOLFDQ-DYD#7^_!-&13 2EMHFWLYHV "N x "M// x ""M"WKURZV" WU\FDWFKILQDOO\ 5HDGLQJ%OXH3HOLFDQ-DYD#7^z#!-&15 3URJUDPV.HHS7U\LQJ `// 2EMHFWLYHV "N x " # x # x "LQVWDQFH2I 5HDGLQJ%OXH3HOLFDQ-DYD#7^|#7!-&11 3URJUDPV/LQHDU)XQFWLRQ = 2EMHFWLYHV "N "&) 5HDGLQJ%OXH3HOLFDQ-DYD#7^}M-&19.3 2EMHFWLYHV "N x # x ""# x "X\" 5HDGLQJ%OXH3HOLFDQ-DYD#7%~M-&18 3URJUDPV)LERQDFFL WK6L[:HHNV(#/LVW#$UUD\/LVW#,WHUDWRU /LVW,WHUDWRU# &RPSDUDEOH &RPSDUDWRU#+DVK6HW 7UHH6HW#+DVK0DS 7UHH0DS#X"=#/LQNHG/LVW# * 2EMHFWLYHV "N 7RSLF #:#/#> (_* >&@>&@>&@>&@ & & & & & $3&RPSXWHU 6FLHQFH&RXUVH 'HVFULSWLRQ(9M " = # * & # $3 &RPSXWHU6FLHQFH &DVH6WXG\ = 7RSLF7 ($* >&@>&@>&@>&@ 7RSLF$UUD\/LVW (^* >&@>&@>&@>&@>&@ 7RSLF,WHUDWRU# /LVW,WHUDWRU (%* >&@>&@>&@>&@>&@ 7RSLF&RPSDUDEOH# &RPSDUDWRU (^* >&@>&@>&@>&@>&@ 7RSLF6HW (Z* >&@>&@>&@>&@>&@ 7RSLF0DS (^* >&@>&@>&@>&@>&@ 5HDGLQJ%OXH3HOLFDQ-DYD#7%$MJC 19.1, 19.4-19.5 3URJUDPV 0XOWLSOH.H\6RUWLQJM 2EMHFWLYHV "N x /LVW# x 5HDGLQJ%OXH3HOLFDQ-DYD#7%Z; JC Appen. C 2EMHFWLYHV "N "$UUD\/LVW 5HDGLQJ%OXH3HOLFDQ-DYD#7%^!=8.2 3URJUDPV %LJ%XFNVLQWKH%DQN`$UUD\/LVW %DQN$FFRXQW 2EMHFWLYHV "N x ,WHUDWRU/LVW,WHUDWRU x " 5HDGLQJ%OXH3HOLFDQ-DYD#7%% 3URJUDPV %LJ%XFN5HYLVLWHG 2EMHFWLYHV "N x ""&RPSDUDEOH x ""&RPSDUDWRU 5HDGLQJ%OXH3HOLFDQ-DYD#7%' 3URJUDPV x %DQN$FFRXQW2EMHFWV8VLQJ&RPSDUDWRU x 6RUWLQJ%DQN$FFRXQW2EMHFWV$OSKDEHWLFDOO\ x 6RUWLQJ%DQN$FFRXQW2EMHFWV$OSKDEHWLFDOO\XVLQJ &RPSDUDWRU 2EMHFWLYHV "N x "6HW# x ""6HW# x "+DVK6HWO7UHH6HW 5HDGLQJ%OXH3HOLFDQ-DYD#7%_M!=21.1 3URJUDPV x +DVK6HW,QWHUVHFWLRQX x +DVK6HW8QLRQX 2EMHFWLYHV "N x / +DVK0DSO7UHH0DS# & & & & & $3&RPSXWHU 6FLHQFH&RXUVH 'HVFULSWLRQ(9M " = # * & # $3 &RPSXWHU6FLHQFH &DVH6WXG\ = 7RSLF /LQNHG/LVW #/ (^* >&@>&@>&@>&@>&@ 7RSLF& (^* >&@>&@>&@>&@ x "0DS# x ""0DS 5HDGLQJ%OXH3HOLFDQ-DYD#7%z; JC 21.2 3URJUDPV("* x 0DSSLQJ%DQN$FFRXQWREMHFWV x &RGH7DONHU!>" x +LVWRJUDP!>"\ x 6WXGHQW&ODVVLILFDWLRQ> 2EMHFWLYHV "N x /LQNHG/LVW(SXVK#SRS#* x "/LQNHG/LVW6WDFN 5HDGLQJ%OXH3HOLFDQ-DYD#7'~; JC 20 3URJUDPV x 6WDFN//&ODVV=//LQNHG/LVW x 6WDFN&DOFXODWRU=/ 2EMHFWLYHV "N x # x # x $UUD\V 5HDGLQJ%OXH3HOLFDQ-DYD#7'$; JC 19.7 3URJUDPV x %QDU\6HDUFK5HYHUVH2UGHU x %LQDU\6HDUFKZLWK2EMHFWV WK6L[:HHNV(&#\##\#/O #{ --- TOPICS NOT COVERED IN ORDER* 7RSLF& 2EMHFWLYHV "N (& * x & # (^* x "### >&@>&@>&@ # x 5HDGLQJ%OXH3HOLFDQ-DYD#7'Z!; JC 21.5 3URJUDPV %67ILQG0HWKRG& 7RSLF 2EMHFWLYHV "N (Z* x X:X)# >&@>&@>&@>&@>&@ x "/LQNHG/LVW\# x "$UUD\/LVW\ 5HDGLQJ%OXH3HOLFDQ-DYD#7'^; JC 21.8 3URJUDPV & & & & & $3&RPSXWHU 6FLHQFH&RXUVH 'HVFULSWLRQ(9M " = # * & # $3 &RPSXWHU6FLHQFH &DVH6WXG\ = 7RSLFQ (^* >&@>&@>&@>&@>&@ 7RSLF (2* >&@>&@>&@>&@>&@ 7RSLF7/ Q (2* >&@>&@>&@>&@>&@ x :KR¶V1H[W!`\" \ x 6KLIWLQJ0DUTXHH!`\ \ 2EMHFWLYHV "N x # x "# x 5HDGLQJ%OXH3HOLFDQ-DYD#7''#&;JC 21.9 3URJUDPV x 3ULQWLQJD+HDS!" x $+HDSRI7URXEOH! /;< 2EMHFWLYHV "N x "\# x "\# x \ 5HDGLQJ%OXH3HOLFDQ-DYD#7'_; JC 21.8 3URJUDPV x :KR+DV+LJKHVW3ULRULW\! \ x 6PLOHIRUWKH&DPHUD!;< \ 2EMHFWLYHV "N x "/# x \# x "# x 5HDGLQJ%OXH3HOLFDQ-DYD#7'z; JC 21.3-21.4 3URJUDPV x $WDVWHRI+DVK!= x +DVKLQJ$EUDKDP/LQFROQ!= / 7RSLF{= 2EMHFWLYHV "{ N a) Experiment with a large program and learn all of its inherent classes ($4* and interfaces (Bug, Runner,etc). Extend classes and analyze results. >&@>&@>&@>&@>&@ b) Run, observe, and experiment with GridWorld and analyze output. 5HDGLQJ{=&" & & & & & $3&RPSXWHU 6FLHQFH&RXUVH 'HVFULSWLRQ(9M " = # * & # $3 &RPSXWHU6FLHQFH &DVH6WXG\ = Programs: & GridWorld Case Study : Code Walk-Through and Problem Set(s) from Chapter 1 of GridWorld Case Study GridWorld Case Study GridWorld Project 1: given work with bug variations based on Part 2 of GridWorld Case Study GridWorld Case Study GridWorld Project 2: Design your own class based on & material in Part 3 of GridWorld Case Study GridWorld Case Study GridWorld Project 3: Design your own critters based on material in Part 4 of GridWorld Case Study 7RSLF (* >&@>&@>&@>&@>&@ 2EMHFWLYHV ""/N x "/"# x " 5HDGLQJ%OXH3HOLFDQ-DYD#=#=$ & & & $3&RPSXWHU 6FLHQFH&RXUVH 'HVFULSWLRQ(9M " = # * & # $3 &RPSXWHU6FLHQFH &DVH6WXG\ =