%!PS-Adobe-2.0 %%Creator: dvips 5.47 Copyright 1986-91 Radical Eye Software %%Title: ifsnecc.dvi %%Pages: 15 1 %%BoundingBox: 0 0 612 792 %%EndComments %%BeginProcSet: tex.pro /TeXDict 200 dict def TeXDict begin /N /def load def /B{bind def}N /S /exch load def /X{S N}B /TR /translate load N /isls false N /vsize 10 N /@rigin{ isls{[0 1 -1 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale Resolution VResolution vsize neg mul TR matrix currentmatrix dup dup 4 get round 4 exch put dup dup 5 get round 5 exch put setmatrix}N /@letter{/vsize 10 N}B /@landscape{/isls true N /vsize -1 N}B /@a4{/vsize 10.6929133858 N}B /@a3{ /vsize 15.5531 N}B /@ledger{/vsize 16 N}B /@legal{/vsize 13 N}B /@manualfeed{ statusdict /manualfeed true put}B /@copies{/#copies X}B /FMat[1 0 0 -1 0 0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{/nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N string /base X array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{/sf 1 N /fntrx FMat N df-tail} B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]N df-tail}B /E{pop nn dup definefont setfont}B /ch-width{ch-data dup length 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{128 ch-data dup length 3 sub get sub}B /ch-yoff{ ch-data dup length 2 sub get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N /rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup /base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx 0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff setcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff .1 add]{ch-image} imagemask restore}B /D{/cc X dup type /stringtype ne{]}if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin 0 0 moveto}N /eop{clear SI restore showpage userdict /eop-hook known{eop-hook}if}N /@start{userdict /start-hook known{start-hook}if /VResolution X /Resolution X 1000 div /DVImag X /IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for}N /p /show load N /RMat[1 0 0 -1 0 0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V statusdict begin /product where{pop product dup length 7 ge{0 7 getinterval(Display)eq}{pop false}ifelse}{false}ifelse end{{gsave TR -.1 -.1 TR 1 1 scale rulex ruley false RMat{BDot}imagemask grestore}}{{gsave TR -.1 -.1 TR rulex ruley scale 1 1 false RMat{BDot}imagemask grestore}}ifelse B /a{ moveto}B /delta 0 N /tail{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{ S p tail}B /c{-4 M}B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{3 M}B /k{4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w }B /q{p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p a}B /bos{/SS save N}B /eos{clear SS restore}B end %%EndProcSet TeXDict begin 1095 300 300 @start /Fa 2 56 df<00000004000000000200000000020000 00000100000000008000000000400000000020FFFFFFFFFCFFFFFFFFFC00000000200000000040 0000000080000000010000000002000000000200000000040026107D922D>33 D55 D E /Fb 2 104 df<001E0033007700760070007000E000E00FFE00E000E001C001C001C001C001C001C0038003 80038003800380070007006600E600CC007800101C7D9512>102 D<01F3030F060F0C071C0E38 0E380E380E301C301C301C383C18780FB8003800386070E070C1E07F8010147E8D12>I E /Fc 1 51 df<1F0021C040E080E0C070E070407000F000E000E001C001800300060004000810 101020303FE07FE0FFE00C157E9412>50 D E /Fd 7 122 df<00FFFFE000000F007800000F00 1C00000F000E00000F000700001E000700001E000380001E000380001E000380003C000380003C 000380003C000380003C000380007800078000780007800078000780007800078000F0000F0000 F0000F0000F0000E0000F0001E0001E0001C0001E0003C0001E000380001E000700003C000E000 03C001C00003C003800003C007000007803C0000FFFFF00000211F7E9E26>68 D<00FFFFFF000F000E000F0006000F0002000F0002001E0002001E0002001E0002001E0002003C 0004003C0400003C0400003C04000078080000781800007FF8000078180000F0100000F0100000 F0100000F0100001E0000001E0000001E0000001E0000003C0000003C0000003C0000003C00000 07C00000FFFE0000201F7E9E1D>70 D<00FF803FF0000F800780000F800200000BC00200000BC0 02000013C004000011E004000011E004000011E004000020F008000020F008000020F808000020 780800004078100000403C100000403C100000403C100000801E200000801E200000801E200000 800F200001000F400001000F4000010007C000010007C000020007800002000380000200038000 06000380000F00010000FFE0010000241F7E9E25>78 D<00007C0000CE00019E00039E00030C00 0700000700000700000700000E00000E00000E0000FFF0000E00000E00001C00001C00001C0000 1C00001C0000380000380000380000380000380000700000700000700000700000700000E00000 E00000E00000E00000C00001C000318000798000F300006200003C000017297E9F16>102 D<001E3000713800E0F001C0700380700780700700E00F00E00F00E00F00E01E01C01E01C01E01 C01E01C01E03801E03800E07800E0B8006170001E700000700000700000E00000E00300E00781C 00F038006070003FC000151D809316>I<03C1C00C62201034701038F02038F020386040700000 700000700000700000E00000E00000E00000E02061C040F1C040F1C080E2C080446300383C0014 147E931A>120 D<0F00601180702180E021C0E041C0E04380E08381C00701C00701C00701C00E 03800E03800E03800E03800E07000C07000C07000E0F00061E0003EE00000E00000E00001C0078 180078380070700060600021C0001F0000141D7E9316>I E /Fe 36 94 df<4010E038F078E038E038E038E038E038E038E038E038E038E03860300D0E7B9C18>34 D<007000F001E003C007800F001E001C00380038007000700070007000E000E000E000E000E000 E000E000E0007000700070007000380038001C001E000F00078003C001F000F000700C24799F18 >40 D<6000F00078003C001E000F000780038001C001C000E000E000E000E00070007000700070 007000700070007000E000E000E000E001C001C0038007800F001E003C007800F00060000C247C 9F18>I<01F00007FC000FFE001F1F001C07003803807803C07001C07001C0E000E0E000E0E000 E0E000E0E000E0E000E0E000E0E000E0E000E0F001E07001C07001C07803C03803801C07001F1F 000FFE0007FC0001F000131C7E9B18>48 D<01800380038007800F803F80FF80FB804380038003 80038003800380038003800380038003800380038003800380038003807FFCFFFE7FFC0F1C7B9B 18>I<03F0000FFE003FFF007C0F807003C0E001C0F000E0F000E06000E00000E00000E00001C0 0001C00003C0000780000F00001E00003C0000780000F00001E00007C0000F80001E00E03C00E0 7FFFE0FFFFE07FFFE0131C7E9B18>I<07F8001FFE003FFF007807807803C07801C03001C00001 C00003C0000380000F0003FF0003FE0003FF000007800003C00001C00000E00000E00000E0F000 E0F000E0F001C0F003C07C07803FFF001FFE0003F800131C7E9B18>I<001F00003F0000770000 770000E70001E70001C7000387000787000707000E07001E07003C0700380700780700F00700FF FFF8FFFFF8FFFFF8000700000700000700000700000700000700007FF000FFF8007FF0151C7F9B 18>I<1FFF803FFF803FFF803800003800003800003800003800003800003800003800003BF800 3FFE003FFF003C07801803C00001C00000E00000E06000E0F000E0F000E0E001C07003C07C0F80 3FFF001FFC0003F000131C7E9B18>I<007E0001FF0007FF800F83C01E03C01C03C03801803800 00700000700000E1F800E7FE00FFFF00FE0780F803C0F001C0F000E0E000E0F000E07000E07000 E07000E03801C03C03C01E07800FFF0007FE0001F800131C7E9B18>I<3078FCFC783000000000 000000003078FCFC78300614779318>58 D<0FF0003FFC007FFF00700F00F00380F00380600780 000F00003E00007C0001F00001E00003C00003C00003C00003C00003C000038000000000000000 00000000000000000003800007C00007C00007C000038000111C7D9B18>63 D<00700000F80000F80000D80000D80001DC0001DC0001DC00018C00038E00038E00038E00038E 000306000707000707000707000707000FFF800FFF800FFF800E03800E03801C01C01C01C07F07 F0FF8FF87F07F0151C7F9B18>65 DI<00F8E003FEE007FFE00F07 E01E03E03C01E03800E07000E07000E0700000E00000E00000E00000E00000E00000E00000E000 00E000007000007000E07000E03800E03C00E01E01C00F07C007FF8003FE0000F800131C7E9B18 >I<7FF800FFFE007FFF001C0F801C03C01C03C01C01E01C00E01C00E01C00F01C00701C00701C 00701C00701C00701C00701C00701C00701C00F01C00E01C00E01C01E01C01C01C03C01C0F807F FF00FFFE007FF800141C7F9B18>III<01F1C003FDC00FFFC01F0FC01C03C03803C03801C07001C07001C0700000E00000E00000E0 0000E00000E00000E00FF0E01FF0E00FF07001C07001C07003C03803C03803C01C07C01F0FC00F FFC003FDC001F1C0141C7E9B18>I<7F07F0FF8FF87F07F01C01C01C01C01C01C01C01C01C01C0 1C01C01C01C01C01C01C01C01FFFC01FFFC01FFFC01C01C01C01C01C01C01C01C01C01C01C01C0 1C01C01C01C01C01C01C01C07F07F0FF8FF87F07F0151C7F9B18>I<7FFF00FFFF807FFF0001C0 0001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C0 0001C00001C00001C00001C00001C00001C00001C00001C0007FFF00FFFF807FFF00111C7D9B18 >I<7FE000FFE0007FE0000E00000E00000E00000E00000E00000E00000E00000E00000E00000E 00000E00000E00000E00000E00000E00000E00000E00000E00700E00700E00700E00700E00707F FFF0FFFFF07FFFF0141C7F9B18>76 DI<7E07F0FF0FF87F07F01D 81C01D81C01D81C01DC1C01CC1C01CC1C01CE1C01CE1C01CE1C01C61C01C71C01C71C01C31C01C 39C01C39C01C39C01C19C01C19C01C1DC01C0DC01C0DC01C0DC07F07C0FF87C07F03C0151C7F9B 18>I<0FF8003FFE007FFF00780F00700700F00780E00380E00380E00380E00380E00380E00380 E00380E00380E00380E00380E00380E00380E00380E00380E00380E00380F00780700700780F00 7FFF003FFE000FF800111C7D9B18>II<0FF8003FFE007FFF0078 0F00700700F00780E00380E00380E00380E00380E00380E00380E00380E00380E00380E00380E0 0380E00380E00380E00380E1E380E1E380F0E78070F700787F007FFF003FFE000FFC00001C0000 1E00000E00000F0000070000070011227D9B18>I<7FF800FFFE007FFF001C0F801C03801C03C0 1C01C01C01C01C01C01C03C01C03801C0F801FFF001FFE001FFE001C0F001C07001C03801C0380 1C03801C03801C03801C039C1C039C1C039C7F01F8FF81F87F00F0161C7F9B18>I<03F3801FFF 803FFF807C0F80700780E00380E00380E00380E000007000007800003F00001FF00007FE0000FF 00000F800003C00001C00000E00000E06000E0E000E0E001E0F001C0F80780FFFF80FFFE00E7F8 00131C7E9B18>I<7FFFF8FFFFF8FFFFF8E07038E07038E07038E0703800700000700000700000 700000700000700000700000700000700000700000700000700000700000700000700000700000 700000700007FF0007FF0007FF00151C7F9B18>IIII89 D91 D93 D E /Ff 44 122 df<1C3C3C3C3C040408081020204080060E7D840E>44 D<7FF0FFE07FE00C037D8A10>I<000200020006000E003C00DC031C001C003800380038003800 7000700070007000E000E000E000E001C001C001C001C003800380038003800780FFF80F1E7B9D 17>49 D<001F800060E00080700100300200380420380420380410380420700460700380600000 E00001C000030000FE00001C00000600000700000780000780000780300780780780780780F00F 00800F00401E00401C0040380020E0001F8000151F7C9D17>51 D<070F1F1F0E00000000000000 00000070F8F8F0E008147B930E>58 D<00000200000006000000060000000E0000001E0000001E 0000003F0000002F0000004F0000004F0000008F0000010F0000010F0000020F0000020F000004 0F00000C0F0000080F0000100F0000100F0000200F80003FFF800040078000C007800080078001 000780010007800200078002000780060007801E000F80FF807FF81D207E9F22>65 D<01FFFFC0001E00F0001E0078001E0038001E003C003C003C003C003C003C003C003C003C0078 007800780078007800F0007801E000F0078000FFFE0000F00F8000F003C001E001C001E001E001 E001E001E001E003C001E003C001E003C001E003C001C0078003C00780078007800F0007801E00 0F007800FFFFE0001E1F7D9E20>I<0000FE0200078186001C004C0038003C0060003C00C0001C 01C0001803800018070000180F0000181E0000101E0000103C0000003C00000078000000780000 007800000078000000F0000000F0000000F0000000F0000000F000008070000080700000807000 01003800010038000200180004000C001800060020000381C00000FE00001F217A9F21>I<01FF FF80001E00E0001E0070001E0038001E001C003C001C003C000E003C000E003C000E0078000E00 78000E0078000E0078000E00F0001E00F0001E00F0001E00F0001E01E0003C01E0003C01E0003C 01E0007803C0007003C0007003C000E003C001C0078001C00780038007800E0007801C000F0070 00FFFFC0001F1F7D9E22>I<01FFFFFE001E001C001E000C001E0004001E0004003C0004003C00 04003C0004003C00040078080800780800007808000078180000F0300000FFF00000F0300000F0 300001E0200001E0200001E0200001E0001003C0002003C0002003C0004003C000400780008007 80018007800100078007000F001F00FFFFFE001F1F7D9E1F>I<01FFFFFC001E0038001E001800 1E0008001E0008003C0008003C0008003C0008003C000800780010007808000078080000780800 00F0100000F0300000FFF00000F0300001E0200001E0200001E0200001E0200003C0000003C000 0003C0000003C00000078000000780000007800000078000000F800000FFF800001E1F7D9E1E> I<0000FC040007030C001C00980030007800E0007801C000380380003003800030070000300E00 00301E0000201E0000203C0000003C00000078000000780000007800000078000000F0000000F0 00FFF0F0000780F0000780F0000F0070000F0070000F0070000F0070001E0038001E0018003E00 1C002E000E00CC000383040000FC00001E217A9F23>I<01FFF0001F00001E00001E00001E0000 3C00003C00003C00003C0000780000780000780000780000F00000F00000F00000F00001E00001 E00001E00001E00003C00003C00003C00003C0000780000780000780000780000F8000FFF80014 1F7D9E12>73 D<001FFF0000F80000F00000F00000F00001E00001E00001E00001E00003C00003 C00003C00003C0000780000780000780000780000F00000F00000F00000F00001E00001E00301E 00781E00F83C00F83C00F0780080700040E00021C0001F000018207D9E18>I<01FFF800001F00 00001E0000001E0000001E0000003C0000003C0000003C0000003C000000780000007800000078 00000078000000F0000000F0000000F0000000F0000001E0000001E0000001E0000001E0008003 C0010003C0010003C0030003C00200078006000780060007800C0007801C000F007800FFFFF800 191F7D9E1D>76 D<01FE00007FC0001E0000FC00001E0000F80000170001780000170001780000 270002F00000270004F00000270004F00000270008F00000470009E00000470011E00000470021 E00000470021E00000870043C00000838043C00000838083C00000838083C00001038107800001 03820780000103820780000103840780000203840F00000203880F00000203900F00000203900F 00000401E01E00000401E01E00000401C01E00000C01801E00001C01803E0000FF8103FFC0002A 1F7D9E29>I<01FF007FE0001F000F00001F0004000017800400001780040000278008000023C0 08000023C008000023C008000041E010000041E010000041F010000040F010000080F020000080 7820000080782000008078200001003C400001003C400001003C400001001E400002001E800002 001E800002000F800002000F800004000F0000040007000004000700000C000700001C00020000 FF80020000231F7D9E22>I<01FFFF80001E00E0001E0070001E0038001E003C003C003C003C00 3C003C003C003C003C0078007800780078007800F0007800E000F003C000F00F0000FFFC0000F0 000001E0000001E0000001E0000001E0000003C0000003C0000003C0000003C000000780000007 80000007800000078000000F800000FFF000001E1F7D9E1F>80 D<0007E040001C18C000300580 0060038000C0038001C00180018001000380010003800100038001000380000003C0000003C000 0003F8000001FF800001FFE000007FF000001FF0000001F8000000780000007800000038000000 380020003800200038002000300060007000600060006000E0007000C000E8038000C606000081 F800001A217D9F1A>83 D<0FFFFFF01E0780E0180780201007802020078020200F0020600F0020 400F0020400F0020801E0040001E0000001E0000001E0000003C0000003C0000003C0000003C00 000078000000780000007800000078000000F0000000F0000000F0000000F0000001E0000001E0 000001E0000001E0000003E00000FFFF00001C1F789E21>I<00F1800389C00707800E03801C03 803C0380380700780700780700780700F00E00F00E00F00E00F00E20F01C40F01C40703C40705C 40308C800F070013147C9317>97 D<07803F8007000700070007000E000E000E000E001C001C00 1CF01D0C3A0E3C0E380F380F700F700F700F700FE01EE01EE01EE01CE03CE038607060E031C01F 0010207B9F15>I<007E0001C1000300800E07801E07801C07003C0200780000780000780000F0 0000F00000F00000F00000F0000070010070020030040018380007C00011147C9315>I<000078 0003F80000700000700000700000700000E00000E00000E00000E00001C00001C000F1C00389C0 0707800E03801C03803C0380380700780700780700780700F00E00F00E00F00E00F00E20F01C40 F01C40703C40705C40308C800F070015207C9F17>I<007C01C207010E011C013C013802780C7B F07C00F000F000F000F0007000700170023804183807C010147C9315>I<00007800019C00033C 00033C000718000700000700000E00000E00000E00000E00000E0001FFE0001C00001C00001C00 001C0000380000380000380000380000380000700000700000700000700000700000700000E000 00E00000E00000E00000C00001C00001C0000180003180007B0000F300006600003C0000162982 9F0E>I<003C6000E27001C1E00380E00700E00F00E00E01C01E01C01E01C01E01C03C03803C03 803C03803C03803C07003C07001C0F001C17000C2E0003CE00000E00000E00001C00001C00301C 00783800F0700060E0003F8000141D7E9315>I<01E0000FE00001C00001C00001C00001C00003 8000038000038000038000070000070000071E000763000E81800F01C00E01C00E01C01C03801C 03801C03801C0380380700380700380700380E10700E20700C20701C20700C40E00CC060070014 207D9F17>I<00C001E001E001C000000000000000000000000000000E00330023004380430047 0087000E000E000E001C001C001C003840388030807080310033001C000B1F7C9E0E>I<000180 0003C00003C0000380000000000000000000000000000000000000000000003C00004600008700 008700010700010700020E00000E00000E00000E00001C00001C00001C00001C00003800003800 00380000380000700000700000700000700000E00000E00030E00079C000F180006300003C0000 1228829E0E>I<01E0000FE00001C00001C00001C00001C0000380000380000380000380000700 000700000703C00704200E08E00E11E00E21E00E40C01C80001D00001E00001FC00038E0003870 00387000383840707080707080707080703100E03100601E0013207D9F15>I<03C01FC0038003 800380038007000700070007000E000E000E000E001C001C001C001C0038003800380038007000 700070007100E200E200E200E200640038000A207C9F0C>I<1C0F80F0002630C318004740640C 004780680E004700700E004700700E008E00E01C000E00E01C000E00E01C000E00E01C001C01C0 38001C01C038001C01C038001C01C0708038038071003803806100380380E10038038062007007 006600300300380021147C9325>I<1C0F802630C04740604780604700704700708E00E00E00E0 0E00E00E00E01C01C01C01C01C01C01C03843803883803083807083803107003303001C016147C 931A>I<007C0001C3000301800E01C01E01C01C01E03C01E07801E07801E07801E0F003C0F003 C0F003C0F00780F00700700F00700E0030180018700007C00013147C9317>I<01C1E002621804 741C04781C04701E04701E08E01E00E01E00E01E00E01E01C03C01C03C01C03C01C03803807803 80700380E003C1C0072380071E000700000700000E00000E00000E00000E00001C00001C0000FF C000171D809317>I<1C1E002661004783804787804707804703008E00000E00000E00000E0000 1C00001C00001C00001C000038000038000038000038000070000030000011147C9313>114 D<00FC030206010C030C070C060C000F800FF007F803FC003E000E700EF00CF00CE00840102060 1F8010147D9313>I<018001C0038003800380038007000700FFF007000E000E000E000E001C00 1C001C001C003800380038003820704070407080708031001E000C1C7C9B0F>I<0E00C03300E0 2301C04381C04301C04701C08703800E03800E03800E03801C07001C07001C07001C07101C0E20 180E20180E201C1E200C264007C38014147C9318>I<0E03803307802307C04383C04301C04700 C08700800E00800E00800E00801C01001C01001C01001C02001C02001C04001C04001C08000E30 0003C00012147C9315>I<0E00C1C03300E3C02301C3E04381C1E04301C0E04701C06087038040 0E0380400E0380400E0380401C0700801C0700801C0700801C0701001C0701001C0602001C0F02 000C0F04000E13080003E1F0001B147C931E>I<0383800CC4401068E01071E02071E02070C040 E00000E00000E00000E00001C00001C00001C00001C040638080F38080F38100E5810084C60078 780013147D9315>I<0E00C03300E02301C04381C04301C04701C08703800E03800E03800E0380 1C07001C07001C07001C07001C0E00180E00180E001C1E000C3C0007DC00001C00001C00003800 F03800F07000E06000C0C0004380003E0000131D7C9316>I E /Fg 84 125 df<001F83E000F06E3001C078780380F8780300F0300700700007007000070070000700700007 0070000700700007007000FFFFFF80070070000700700007007000070070000700700007007000 070070000700700007007000070070000700700007007000070070000700700007007000070070 0007007000070070007FE3FF001D20809F1B>11 D<003F0000E0C001C0C00381E00701E00701E0 070000070000070000070000070000070000FFFFE00700E00700E00700E00700E00700E00700E0 0700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E07FC3FE 1720809F19>I<003FE000E0E001C1E00381E00700E00700E00700E00700E00700E00700E00700 E00700E0FFFFE00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700 E00700E00700E00700E00700E00700E00700E00700E07FE7FE1720809F19>I<001F81F80000F0 4F040001C07C06000380F80F000300F00F000700F00F0007007000000700700000070070000007 0070000007007000000700700000FFFFFFFF000700700700070070070007007007000700700700 070070070007007007000700700700070070070007007007000700700700070070070007007007 000700700700070070070007007007000700700700070070070007007007007FE3FE3FF0242080 9F26>I<001F81FF0000F06F070001C07C0F000380F80F000300F0070007007007000700700700 07007007000700700700070070070007007007000700700700FFFFFFFF00070070070007007007 000700700700070070070007007007000700700700070070070007007007000700700700070070 070007007007000700700700070070070007007007000700700700070070070007007007000700 7007007FE3FE3FF02420809F26>I<70F8F8F8F8F8F8F870707070707070707070202020202000 0000000070F8F8F87005217CA00D>33 D<7038F87CFC7EFC7E743A040204020402080408041008 1008201040200F0E7E9F17>I<70F8FCFC74040404080810102040060E7C9F0D>39 D<0020004000800100020006000C000C00180018003000300030007000600060006000E000E000 E000E000E000E000E000E000E000E000E000E0006000600060007000300030003000180018000C 000C000600020001000080004000200B2E7DA112>I<800040002000100008000C000600060003 00030001800180018001C000C000C000C000E000E000E000E000E000E000E000E000E000E000E0 00E000C000C000C001C001800180018003000300060006000C00080010002000400080000B2E7D A112>I<70F8FCFC74040404080810102040060E7C840D>44 DI<70F8F8 F87005057C840D>I<000100030003000600060006000C000C000C001800180018003000300030 00600060006000C000C000C00180018001800300030003000600060006000C000C000C00180018 001800300030003000600060006000C000C000C000102D7DA117>I<03F0000E1C001C0E001806 00380700700380700380700380700380F003C0F003C0F003C0F003C0F003C0F003C0F003C0F003 C0F003C0F003C0F003C0F003C0F003C07003807003807003807807803807001806001C0E000E1C 0003F000121F7E9D17>I<018003800F80F3800380038003800380038003800380038003800380 0380038003800380038003800380038003800380038003800380038007C0FFFE0F1E7C9D17>I< 03F0000C1C00100E00200700400780800780F007C0F803C0F803C0F803C02007C00007C0000780 000780000F00000E00001C0000380000700000600000C0000180000300000600400C0040180040 1000803FFF807FFF80FFFF80121E7E9D17>I<03F0000C1C00100E00200F00780F807807807807 80380F80000F80000F00000F00000E00001C0000380003F000003C00000E00000F000007800007 800007C02007C0F807C0F807C0F807C0F00780400780400F00200E001C3C0003F000121F7E9D17 >I<000600000600000E00000E00001E00002E00002E00004E00008E00008E00010E00020E0002 0E00040E00080E00080E00100E00200E00200E00400E00C00E00FFFFF0000E00000E00000E0000 0E00000E00000E00000E0000FFE0141E7F9D17>I<1803001FFE001FFC001FF8001FE000100000 10000010000010000010000010000011F000161C00180E001007001007800003800003800003C0 0003C00003C07003C0F003C0F003C0E00380400380400700200600100E000C380003E000121F7E 9D17>I<007C000182000701000E03800C07801C0780380300380000780000700000700000F1F0 00F21C00F40600F80700F80380F80380F003C0F003C0F003C0F003C0F003C07003C07003C07003 803803803807001807000C0E00061C0001F000121F7E9D17>I<4000007FFFC07FFF807FFF8040 010080020080020080040000080000080000100000200000200000400000400000C00000C00001 C00001800003800003800003800003800007800007800007800007800007800007800007800003 0000121F7D9D17>I<03F0000C0C00100600300300200180600180600180600180700180780300 3E03003F06001FC8000FF00003F80007FC000C7E00103F00300F806003804001C0C001C0C000C0 C000C0C000C0C000806001802001001002000C0C0003F000121F7E9D17>I<03F0000E18001C0C 00380600380700700700700380F00380F00380F003C0F003C0F003C0F003C0F003C07007C07007 C03807C0180BC00E13C003E3C0000380000380000380000700300700780600780E00700C002018 001070000FC000121F7E9D17>I<70F8F8F8700000000000000000000070F8F8F87005147C930D> I<70F8F8F8700000000000000000000070F0F8F878080808101010202040051D7C930D>I<7FFF FFE0FFFFFFF00000000000000000000000000000000000000000000000000000000000000000FF FFFFF07FFFFFE01C0C7D9023>61 D<0FC0307040384038E03CF03CF03C603C0038007000E000C0 01800180010003000200020002000200020002000000000000000000000007000F800F800F8007 000E207D9F15>63 D<000100000003800000038000000380000007C0000007C0000007C0000009 E0000009E0000009E0000010F0000010F0000010F00000207800002078000020780000403C0000 403C0000403C0000801E0000801E0000FFFE0001000F0001000F0001000F000200078002000780 02000780040003C00E0003C01F0007E0FFC03FFE1F207F9F22>65 DI<000FC040007030C001C009C0038005C0070003C00E0001C01E0000C01C0000C03C0000C0 7C0000407C00004078000040F8000000F8000000F8000000F8000000F8000000F8000000F80000 00F8000000F8000000780000007C0000407C0000403C0000401C0000401E0000800E0000800700 01000380020001C0040000703800000FC0001A217D9F21>II< FFFFFF000F800F0007800300078003000780010007800180078000800780008007800080078080 800780800007808000078080000781800007FF8000078180000780800007808000078080000780 8000078000200780002007800020078000400780004007800040078000C0078000C0078001800F 800F80FFFFFF801B1F7E9E1F>II<000FE0200078186000E004 E0038002E0070001E00F0000E01E0000601E0000603C0000603C0000207C00002078000020F800 0000F8000000F8000000F8000000F8000000F8000000F8000000F8007FFCF80003E0780001E07C 0001E03C0001E03C0001E01E0001E01E0001E00F0001E0070001E0038002E000E0046000781820 000FE0001E217D9F24>III<0FFFC0007C00003C00003C00003C00003C00003C00003C 00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C 00003C00003C00203C00F83C00F83C00F83C00F0380040780040700030E0000F800012207E9E17 >IIIII<001F800000F0F00001C0380007801E000F000F00 0E0007001E0007803C0003C03C0003C07C0003E0780001E0780001E0F80001F0F80001F0F80001 F0F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0780001E07C0003E07C0003E03C00 03C03C0003C01E0007800E0007000F000F0007801E0001C0380000F0F000001F80001C217D9F23 >II<001F800000F0F00001C0380007801E000F000F000E0007 001E0007803C0003C03C0003C07C0003E07C0003E0780001E0F80001F0F80001F0F80001F0F800 01F0F80001F0F80001F0F80001F0F80001F0F80001F0780001E0780001E07C0003E03C0003C03C 0F03C01E1087800E2047000F204F0007A03E0001E0380000F0F010001FB0100000301000003830 0000387000003FF000001FE000001FE000000FC0000007801C297D9F23>II<07E0800C1980100780300380600180600180E00180E00080E00080E000 80F00000F000007800007F00003FF0001FFC000FFE0003FF00001F800007800003C00003C00001 C08001C08001C08001C08001C0C00180C00380E00300F00600CE0C0081F80012217D9F19>I<7F FFFFE0780F01E0600F0060400F0020400F0020C00F0030800F0010800F0010800F0010800F0010 000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F00 00000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000001F 800007FFFE001C1F7E9E21>IIII89 D<7FFFF87C00F87000F060 01E04001E0C003C0C003C0800780800F80800F00001E00001E00003C00003C0000780000F80000 F00001E00001E00003C00403C0040780040F80040F000C1E000C1E00083C00183C0018780038F8 01F8FFFFF8161F7D9E1C>II<0804100820102010402040208040 80408040B85CFC7EFC7E7C3E381C0F0E7B9F17>II<1FE0003030 00781800781C00300E00000E00000E00000E0000FE00078E001E0E00380E00780E00F00E10F00E 10F00E10F01E10781E103867200F83C014147E9317>97 D<0E0000FE00000E00000E00000E0000 0E00000E00000E00000E00000E00000E00000E00000E3E000EC3800F01C00F00E00E00E00E0070 0E00700E00780E00780E00780E00780E00780E00780E00700E00700E00E00F00E00D01C00CC300 083E0015207F9F19>I<03F80E0C1C1E381E380C70007000F000F000F000F000F000F000700070 00380138011C020E0C03F010147E9314>I<000380003F80000380000380000380000380000380 00038000038000038000038000038003E380061B801C0780380380380380700380700380F00380 F00380F00380F00380F00380F003807003807003803803803807801C07800E1B8003E3F815207E 9F19>I<03F0000E1C001C0E00380700380700700700700380F00380F00380FFFF80F00000F000 00F000007000007000003800801800800C010007060001F80011147F9314>I<007C00C6018F03 8F07060700070007000700070007000700FFF00700070007000700070007000700070007000700 070007000700070007000700070007007FF01020809F0E>I<0000E003E3300E3C301C1C30380E 00780F00780F00780F00780F00780F00380E001C1C001E380033E0002000002000003000003000 003FFE001FFF800FFFC03001E0600070C00030C00030C00030C000306000603000C01C038003FC 00141F7F9417>I<0E0000FE00000E00000E00000E00000E00000E00000E00000E00000E00000E 00000E00000E3E000E43000E81800F01C00F01C00E01C00E01C00E01C00E01C00E01C00E01C00E 01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C0FFE7FC16207F9F19>I<1C001E003E00 1E001C000000000000000000000000000E007E000E000E000E000E000E000E000E000E000E000E 000E000E000E000E000E000E000E00FFC00A1F809E0C>I<00E001F001F001F000E00000000000 00000000000000007007F000F00070007000700070007000700070007000700070007000700070 007000700070007000700070007000706070F060F0C061803F000C28829E0E>I<0E0000FE0000 0E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E0FF00E03C00E0300 0E02000E04000E08000E10000E30000E70000EF8000F38000E1C000E1E000E0E000E07000E0780 0E03800E03C00E03E0FFCFF815207F9F18>I<0E00FE000E000E000E000E000E000E000E000E00 0E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E 000E00FFE00B20809F0C>I<0E1F01F000FE618618000E81C81C000F00F00E000F00F00E000E00 E00E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E000E 00E00E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E00FFE7FE7FE023147F9326 >I<0E3E00FE43000E81800F01C00F01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E 01C00E01C00E01C00E01C00E01C00E01C00E01C0FFE7FC16147F9319>I<01F800070E001C0380 3801C03801C07000E07000E0F000F0F000F0F000F0F000F0F000F0F000F07000E07000E03801C0 3801C01C0380070E0001F80014147F9317>I<0E3E00FEC3800F01C00F00E00E00E00E00F00E00 700E00780E00780E00780E00780E00780E00780E00700E00F00E00E00F01E00F01C00EC3000E3E 000E00000E00000E00000E00000E00000E00000E00000E0000FFE000151D7F9319>I<03E08006 19801C05803C0780380380780380700380F00380F00380F00380F00380F00380F0038070038078 03803803803807801C0B800E138003E38000038000038000038000038000038000038000038000 0380003FF8151D7E9318>I<0E78FE8C0F1E0F1E0F0C0E000E000E000E000E000E000E000E000E 000E000E000E000E000E00FFE00F147F9312>I<1F9030704030C010C010C010E00078007F803F E00FF00070803880188018C018C018E030D0608F800D147E9312>I<020002000200060006000E 000E003E00FFF80E000E000E000E000E000E000E000E000E000E000E000E080E080E080E080E08 0610031001E00D1C7F9B12>I<0E01C0FE1FC00E01C00E01C00E01C00E01C00E01C00E01C00E01 C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E03C00603C0030DC001F1FC16147F9319 >III< 7FC3FC0F01E00701C007018003810001C20000E40000EC00007800003800003C00007C00004E00 0087000107000303800201C00601E01E01E0FF07FE1714809318>II<3FFF380E200E201C40384078407000E001E001C00380078007010E011E011C033802 7006700EFFFE10147F9314>III E /Fh 45 122 df<000FF01FC000007FF8FFF00000F81FE0780001E03F80F80003E07F80F80007 C07F00F80007C07F00F80007C03F00700007C01F00000007C01F00000007C01F00000007C01F03 FC00FFFFFFFFFC00FFFFFFFFFC0007C01F007C0007C01F007C0007C01F007C0007C01F007C0007 C01F007C0007C01F007C0007C01F007C0007C01F007C0007C01F007C0007C01F007C0007C01F00 7C0007C01F007C0007C01F007C0007C01F007C0007C01F007C0007C01F007C003FF8FFE3FF803F F8FFE3FF802920809F2C>14 D45 D<387CFEFEFE7C3807077C 860F>I<00E00001E0000FE000FFE000F3E00003E00003E00003E00003E00003E00003E00003E0 0003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E0 0003E00003E000FFFF80FFFF80111D7C9C1A>49 D<01FC0007FF000F07801E03C01C01E03C01E0 3C01E03E01E03F01E03FC3C01FE3801FFF000FFE0007FF8007FFC01FFFE03C3FF0780FF07803F8 F001F8F000F8F00078F00078F000707800707C00E03E03C00FFF8003FC00151D7E9C1A>56 D<387CFEFEFE7C38000000000000387CFEFEFE7C3807147C930F>58 D<0000E000000000E00000 0001F000000001F000000001F000000003F800000003F800000006FC00000006FC0000000EFE00 00000C7E0000000C7E000000183F000000183F000000303F800000301F800000701FC00000600F C00000600FC00000C007E00000FFFFE00001FFFFF000018003F000018003F000030001F8000300 01F800060001FC00060000FC000E0000FE00FFE00FFFE0FFE00FFFE0231F7E9E28>65 DI<0007FC02003FFF0E00FE03DE03F000FE07E0003E0FC0001E 1F80001E3F00000E3F00000E7F0000067E0000067E000006FE000000FE000000FE000000FE0000 00FE000000FE000000FE0000007E0000007E0000067F0000063F0000063F00000C1F80000C0FC0 001807E0003803F0007000FE01C0003FFF800007FC001F1F7D9E26>IIII73 D76 DII<001FF80000FFFF0001F81F8007E007E00FC003F01F8001F81F0000F83F0000FC7F00 00FE7E00007E7E00007EFE00007FFE00007FFE00007FFE00007FFE00007FFE00007FFE00007FFE 00007FFE00007F7E00007E7F0000FE7F0000FE3F0000FC3F8001FC1F8001F80FC003F007E007E0 01F81F8000FFFF00001FF800201F7D9E27>II<03FC080FFF38 1E03F83800F8700078700038F00038F00018F00018F80000FC00007FC0007FFE003FFF801FFFE0 0FFFF007FFF000FFF80007F80000FC00007C00003CC0003CC0003CC0003CE00038E00078F80070 FE01E0E7FFC081FF00161F7D9E1D>83 D<7FFFFFFC7FFFFFFC7C07E07C7007E01C6007E00C6007 E00CE007E00EC007E006C007E006C007E006C007E0060007E0000007E0000007E0000007E00000 07E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E000 0007E0000007E0000007E00003FFFFC003FFFFC01F1E7E9D24>II<07FC001FFF00 3F0F803F07C03F03E03F03E00C03E00003E0007FE007FBE01F03E03C03E07C03E0F803E0F803E0 F803E0FC05E07E0DE03FF8FE0FE07E17147F9319>97 DI<01FE0007FF801F0FC03E0FC03E0FC07C0FC07C0300FC0000FC0000FC0000 FC0000FC0000FC00007C00007E00003E00603F00C01F81C007FF0001FC0013147E9317>I<0007 F80007F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F801F8F80FFE F81F83F83E01F87E00F87C00F87C00F8FC00F8FC00F8FC00F8FC00F8FC00F8FC00F87C00F87C00 F87E00F83E01F81F07F80FFEFF03F8FF18207E9F1D>I<01FE0007FF800F83C01E01E03E00F07C 00F07C00F8FC00F8FFFFF8FFFFF8FC0000FC0000FC00007C00007C00003E00181E00180F807007 FFE000FF8015147F9318>I<001F8000FFC001F3E003E7E003C7E007C7E007C3C007C00007C000 07C00007C00007C000FFFC00FFFC0007C00007C00007C00007C00007C00007C00007C00007C000 07C00007C00007C00007C00007C00007C00007C00007C0003FFC003FFC0013207F9F10>I<01FC 3C07FFFE0F079E1E03DE3E03E03E03E03E03E03E03E03E03E01E03C00F07800FFF0009FC001800 001800001C00001FFF800FFFF007FFF81FFFFC3C007C70003EF0001EF0001EF0001E78003C7800 3C3F01F80FFFE001FF00171E7F931A>II<1C003E007F007F007F003E001C00000000000000000000000000FF00FF001F001F001F00 1F001F001F001F001F001F001F001F001F001F001F001F001F00FFE0FFE00B217EA00E>I<0038 007C00FE00FE00FE007C003800000000000000000000000001FE01FE003E003E003E003E003E00 3E003E003E003E003E003E003E003E003E003E003E003E003E003E003E303E783EFC3CFC7C7878 3FF01FC00F2A83A010>IIIII<01FF0007FFC01F83F03E00F83E00F87C007C7C007CFC007EFC007EFC007EFC 007EFC007EFC007E7C007C7C007C3E00F83E00F81F83F007FFC001FF0017147F931A>II114 D<0FE63FFE701E600EE006E006F800FFC07FF83FFC1FFE03FE001FC007C007E007F006F8 1EFFFCC7F010147E9315>I<01800180018003800380038007800F803F80FFFCFFFC0F800F800F 800F800F800F800F800F800F800F800F860F860F860F860F8607CC03F801F00F1D7F9C14>IIIIII E end %%EndProlog %%BeginSetup %%Feature: *Resolution 300 TeXDict begin %%EndSetup %%Page: 1 1 bop 717 45 a Fh(Bey)o(ond)17 b(Programming:)194 100 y(A)g(Tw)o(o-Summer)f (Computer)h(Science)i(Institute)f(for)f(Secondary)h(T)l(eac)o(hers)841 209 y Fg(Brian)e(Harv)o(ey)643 264 y(Univ)o(ersit)o(y)g(of)f(California,)g (Berk)o(eley)888 414 y(Abstract)91 564 y(1992)k(marks)h(the)h(fourth)f (summer)h(of)f(the)h(Institute)g(for)f(Secondary)h(Mathematics)g(and)f (Computer)0 659 y(Science)15 b(Education)g(\(IFSMA)o(CSE\),)d(an)h(NSF-sp)q (onsored)h(program)f(for)g(high)h(sc)o(ho)q(ol)g(teac)o(hers)f(held)i(at)e (Ken)o(t)0 755 y(State)20 b(Univ)o(ersit)o(y)l(.)36 b(The)21 b(program)e(is)i(divided)h(in)o(to)f(separate)f(strands)g(for)f(mathematics)h (and)h(computer)0 850 y(science;)16 b(this)g(pap)q(er)g(describ)q(es)g(the)g (computer)f(science)i(strand.)91 945 y(In)12 b(its)g(\014rst)g(three)g(y)o (ears,)f(IFSMA)o(CSE)h(has)f(serv)o(ed)h(ab)q(out)g(240)f(participan)o(ts,)i (including)h(90)d(in)i(computer)0 1041 y(science.)21 b(It)15 b(has,)g(therefore,)f(had)h(a)f(visible)j(impact)e(in)h(Ohio)g(and)f(the)g (neigh)o(b)q(oring)h(states,)d(esp)q(ecially)18 b(since)0 1136 y(one)13 b(comp)q(onen)o(t)h(of)f(the)g(Institute)h(is)g(an)f(In)o(terv)o (ening)h(Y)l(ear)g(Pro)s(ject)e(in)i(whic)o(h)g(participan)o(ts)g(bring)g (the)f(ideas)0 1232 y(of)i(the)g(Institute)g(bac)o(k)g(to)g(their)g (colleagues)i(through)d(inservice)j(w)o(orkshops,)d(lo)q(cal)i(curriculum)h (design,)f(and)0 1327 y(demonstration)f(teac)o(hing.)20 b(\(P)o(articipan)o (ts)15 b(attend)g(the)g(Institute)h(during)g(t)o(w)o(o)e(consecutiv)o(e)i (summers.\))91 1423 y(IFSMA)o(CSE)g(is)h(b)q(oth)f(tec)o(hnically)i(and)f(p)q (edagogically)h(inno)o(v)m(ativ)o(e.)23 b(Its)17 b(curriculum)h(go)q(es)e (far)f(b)q(ey)o(ond)0 1518 y(what)20 b(is)i(usually)g(exp)q(ected)h(of)d (high)i(sc)o(ho)q(ol)g(teac)o(hers)e(\(or)h(their)g(studen)o(ts\);)i(in)f (computer)f(science,)j(par-)0 1614 y(ticipan)o(ts)18 b(study)g(b)q(oth)g (functional)h(programming)e(\(in)h(Logo\))f(and)h(pro)q(cedural)h (programming)e(\(in)h(P)o(ascal\))0 1709 y(paradigms,)c(and)g(suc)o(h)g(adv)m (anced)h(computer)f(science)h(topics)f(as)g(automata)e(theory)i(and)g (compiler)h(construc-)0 1805 y(tion.)30 b(Our)18 b(high)i(exp)q(ectations)f (are)f(made)g(realistic)i(b)o(y)e(the)h(hea)o(vy)f(use)h(of)f(exp)q(erien)o (tial)i(and)f(co)q(op)q(erativ)o(e)0 1900 y(learning)j(tec)o(hniques.)36 b(P)o(articipan)o(ts)20 b(learn)h(b)o(y)g(exp)q(erimen)o(t,)h(rather)e(than)g (b)o(y)g(listening)i(to)e(lectures.)36 b(In)0 1995 y(the)20 b(mathematics)f(strands)g(as)g(w)o(ell)i(as)e(in)h(computer)g(science,)i(w)o (e)d(emphasize)i(the)f(use)f(of)h(programming)0 2091 y(languages)15 b(as)g(op)q(en-ended)i(exp)q(erimen)o(tal)g(media,)e(rather)g(than)g(more)g (sp)q(eci\014c)i(\\coursew)o(are.")91 2186 y(In)f(addition)i(to)d(describing) j(w)o(a)o(ys)d(in)h(whic)o(h)h(IFSMA)o(CSE)f(has)g(b)q(een)h(successful,)g (this)f(pap)q(er)h(discusses)0 2282 y(t)o(w)o(o)j(ongoing)g(problems.)38 b(One)21 b(is)h(the)f(di\016cult)o(y)h(that)e(participan)o(ts)h(ha)o(v)o(e)g (with)g(the)g(idea)g(of)g(functional)0 2377 y(ob)s(jects;)12 b(another)f(is)h(the)g(tenacit)o(y)f(with)h(whic)o(h)h(man)o(y)e(participan)o (ts')h(abstract)e(educational)j(theories)f(prev)o(en)o(t)0 2473 y(them)j(from)g(observing)g(their)h(o)o(wn)f(learning)h(exp)q(eriences)h (clearly)l(.)964 2779 y(1)p eop %%Page: 2 2 bop 717 45 a Fh(Bey)o(ond)17 b(Programming:)194 100 y(A)g(Tw)o(o-Summer)f (Computer)h(Science)i(Institute)f(for)f(Secondary)h(T)l(eac)o(hers)91 237 y Fg(The)c(Institute)h(for)e(Secondary)h(Mathematics)g(and)g(Computer)f (Science)j(Education)f(\(IFSMA)o(CSE\))e(is)h(a)0 333 y(summer)f(program)e (for)h(high)i(sc)o(ho)q(ol)f(teac)o(hers)f(that)g(has)g(b)q(een)i(funded)g(b) o(y)e(the)h(National)g(Science)i(F)l(oundation)0 428 y(for)f(three)i(groups)e (of)h(participan)o(ts)g(o)o(v)o(er)g(four)f(summers.)20 b(\(Eac)o(h)15 b(participan)o(t)g(attends)g(the)g(program)f(during)0 524 y(t)o(w)o(o)i (consecutiv)o(e)i(summers.\))26 b(It)17 b(is)h(held)g(at)f(Ken)o(t)g(State)g (Univ)o(ersit)o(y)l(,)i(in)f(Ken)o(t,)f(Ohio.)27 b(P)o(articipan)o(ts)17 b(ha)o(v)o(e)0 619 y(b)q(een)i(c)o(hosen)f(mainly)g(from)f(Ohio)i(and)e(its)h (neigh)o(b)q(oring)h(states,)e(although)h(a)f(few)h(ha)o(v)o(e)f(come)h(from) e(as)i(far)0 715 y(a)o(w)o(a)o(y)13 b(as)i(Alask)m(a)g(and)g(P)o(ago)f(P)o (ago.)k(The)d(Institute's)g(am)o(bitious)g(and)g(inno)o(v)m(ativ)o(e)h (program)e(has)h(attracted)e(a)0 810 y(w)o(ell-kno)o(wn,)h(in)o(ternational)g (facult)o(y)f(that)f(includes)k(high)e(sc)o(ho)q(ol)f(teac)o(hers)g(as)g(w)o (ell)h(as)e(univ)o(ersit)o(y)i(professors.)91 905 y(IFSMA)o(CSE)21 b(Directors)f(Ed)i(Dubinsky)g(\(Purdue)f(Univ)o(ersit)o(y\))g(and)h(Olaf)f (Stac)o(k)o(elb)q(erg)h(\(Ken)o(t)e(State)0 1001 y(Univ)o(ersit)o(y\))d(b)q (egan)f(planning)i(for)e(the)g(Institute)h(in)g(1986)e(and)i(organized)g(a)f (planning)i(conference)f(in)g(July)l(,)0 1096 y(1987.)h(The)d(\014rst)f (group)g(of)g(participan)o(ts)h(b)q(egan)g(attending)g(the)f(Institute)h(in)h (the)e(summer)g(of)g(1989.)19 b(Here)14 b(is)0 1192 y(ho)o(w)h(one)g(funding) h(prop)q(osal)g(describ)q(ed)h(the)e(needs)h(that)f(IFSMA)o(CSE)g(w)o(as)f (designed)j(to)d(meet:)200 1313 y Fh(New)j(sophistication)k(in)d(the)g (curriculum.)j Fg(The)15 b(traditional)i(sub)s(ject)e(matter)f(of)h(sec-)109 1385 y(ondary)h(mathematics)h(has)f(follo)o(w)o(ed)h(a)g(narro)o(w)e(path)i (leading)h(to)e(the)h(calculus.)26 b(Not)16 b(only)h(has)109 1458 y(computer)c(science)h(raised)f(new)f(in)o(terest)h(in)g(some)g (classical)h(mathematical)e(topics)h(not)f(curren)o(tly)109 1531 y(in)k(the)g(curriculum,)h(but)e(other)g(areas)g(within)i(mathematics)e (\(discrete)h(mathematics,)f(abstract)109 1604 y(algebra,)f(statistics,)h (fractal)f(geometry\))f(ha)o(v)o(e)h(risen)i(from)d(obscurit)o(y)i(to)f(new)h (imp)q(ortance.)20 b(Sec-)109 1676 y(ondary)15 b(teac)o(hers)g(are)g(often)g (un)o(trained)h(in)g(these)f(areas.)200 1776 y Fh(New)e(metho)q(ds)h(of)f (teac)o(hing.)20 b Fg(Organizations)12 b(suc)o(h)g(as)f(the)h(National)g (Council)h(of)f(T)l(eac)o(h-)109 1849 y(ers)g(of)f(Mathematics)h(\(NCTM\))f (and)h(the)g(Mathematical)g(Asso)q(ciation)g(of)g(America)g(\(MAA\))f(ha)o(v) o(e)109 1922 y(concluded)16 b(that)e(the)g(traditional)h(approac)o(h)f(to)g (p)q(edagogy)g(in)h(mathematics)f(has)g(had)g(to)q(o)g(m)o(uc)o(h)109 1995 y(emphasis)22 b(on)g(memorization)g(of)f(facts)g(and)h(algorithms,)h (and)f(not)f(enough)h(of)f(the)h(\015a)o(v)o(or)e(of)109 2067 y(ho)o(w)c(mathematics)g(is)h(done)g(and)g(ho)o(w)f(it)g(is)h(used.)25 b(IFSMA)o(CSE)16 b(emphasizes)i(learner-cen)o(tered)109 2140 y(activities)f(rather)d(than)h(lectures)h(as)f(the)g(primary)h(st)o(yle)f(of) g(p)q(edagogy)l(.)200 2240 y Fh(New)24 b(uses)g(of)h(tec)o(hnology)l(.)39 b Fg(Computers)21 b(and)h(graphing)g(calculators)g(are)f(b)q(ecoming)109 2313 y(widely)g(a)o(v)m(ailable)f(in)g(sc)o(ho)q(ols.)32 b(T)l(eac)o(hers)19 b(require)h(training)g(in)f(these)h(tec)o(hnologies,)g(including)109 2385 y(general-purp)q(ose)12 b(soft)o(w)o(are)c(suc)o(h)j(as)f(spreadsheets,) h(soft)o(w)o(are)d(pac)o(k)m(ages)j(designed)g(sp)q(eci\014cally)i(for)109 2458 y(education,)h(and)g(new)g(programming)f(languages)h(designed)h(for)e (use)h(in)g(mathematics)f(education.)91 2575 y(Eac)o(h)f(participan)o(t)i (attends)e(IFSMA)o(CSE)h(for)f(t)o(w)o(o)f(consecutiv)o(e)j(summer)e (sessions,)i(eac)o(h)e(of)h(whic)o(h)g(is)g(six)0 2670 y(w)o(eeks)f(long.)20 b(The)12 b(academic)h(da)o(y)g(includes)h(four)e(90-min)o(ute)h(p)q(erio)q (ds.)20 b(T)o(ypically)l(,)15 b(a)d(participan)o(t)h(sp)q(ends)g(t)o(w)o(o) 964 2779 y(2)p eop %%Page: 3 3 bop 0 45 a Fg(of)14 b(those)h(p)q(erio)q(ds)h(in)g(formal)e(class)i (meetings,)f(while)h(the)f(other)f(t)o(w)o(o)g(p)q(erio)q(ds)i(are)f(a)o(v)m (ailable)h(for)e(w)o(ork)g(in)i(the)0 141 y(computer)g(labs.)22 b(\(W)l(e)15 b(use)i(sev)o(eral)e(labs,)i(some)e(con)o(taining)i(net)o(w)o (ork)o(ed)d(Apple)k(Macin)o(tosh)d(computers)h(and)0 236 y(the)e(others)f (using)i(net)o(w)o(ork)o(ed)d(IBM)i(PS/2)g(computers.\))19 b(Ev)o(enings)14 b(are)f(for)g(reading,)i(recreation,)f(additional)0 332 y(lab)i(time,)f(and)g(sc)o(heduled)i(guest)e(sp)q(eak)o(ers)g(and)h (similar)g(ev)o(en)o(ts.)91 431 y(The)f(division)h(of)e(the)h(da)o(y)f(b)q (et)o(w)o(een)g(formal)g(class)h(meetings)g(and)g(op)q(en)g(lab)g(times)g(ma) o(y)e(b)q(e)j(misleading,)0 526 y(b)q(ecause)h(ev)o(en)f(during)h(formal)f (classes)g(w)o(e)g(try)g(to)f(dev)o(ote)h(as)f(m)o(uc)o(h)h(time)h(as)e(p)q (ossible)j(to)e(collab)q(orativ)o(e)g(lab)0 622 y(w)o(ork)j(rather)h(than)h (to)e(lectures)j(or)e(demonstrations.)35 b(The)20 b(di\013erence)i(is)f(that) f(during)h(the)g(formal)f(class)0 717 y(sessions)d(all)g(mem)o(b)q(ers)f(of)g (a)g(class)h(are)f(presen)o(t)g(at)g(the)g(same)g(time,)h(along)f(with)h(a)f (facult)o(y)g(mem)o(b)q(er.)24 b(\(This)0 813 y(ideal)15 b(of)e(lab-based)i (classw)o(ork)f(is)g(not)f(p)q(erfectly)i(met.)k(A)14 b(few)g(of)f(the)h (IFSMA)o(CSE)f(classes)i(ha)o(v)o(e)e(relied)i(more)0 908 y(hea)o(vily)k(on)f (lectures)h(than)e(w)o(e'd)h(lik)o(e,)h(and)f(ev)o(en)h(in)f(the)g(most)f (exp)q(erien)o(tial)j(class)f(there)f(is)g(an)g(o)q(ccasional)0 1004 y(summary)i(lecture.)36 b(But)20 b(w)o(e)h(try)e(to)h(in)o(tro)q(duce)h (new)g(concepts)g(through)f(\\guided)h(disco)o(v)o(ery")f(exercises,)0 1099 y(sa)o(ving)15 b(the)g(lectures)h(for)f Ff(after)20 b Fg(the)c(exploration.\))91 1198 y(The)f(participan)o(ts)h(are)e(divided)k(in) o(to)d(mathematics)g(and)g(computer)g(science)h(strands.)k(In)15 b(the)h(\014rst)e(t)o(w)o(o)0 1293 y(IFSMA)o(CSE)f(classes,)h(there)f(w)o (ere)g(t)o(w)o(o)f(mathematics)i(strands,)e(one)i(fo)q(cusing)g(on)f(new)h (topics)g(in)g(mathemat-)0 1389 y(ics,)h(and)g(the)f(other)h(on)f(the)h(use)g (of)f(computer)g(tec)o(hnology)h(in)h(learning)f(mathematics.)20 b(These)15 b(w)o(ere)f(merged)0 1484 y(for)f(the)h(third)h(class,)f(starting) f(in)i(1991,)e(b)o(y)g(com)o(bining)j(courses)d(from)h(the)g(t)o(w)o(o)e (curricula.)21 b(The)14 b(IFSMA)o(CSE)0 1580 y(computer)g(science)i (curriculum)g(has)f(main)o(tained)g(the)f(same)g(general)h(structure)f(for)g (all)h(classes,)g(although)f(of)0 1675 y(course)h(some)g(of)g(the)g(details)h (ha)o(v)o(e)f(c)o(hanged.)91 1774 y(I)h(w)o(as)e(part)h(of)g(the)h(design)g (group)f(for)g(the)h(computer)f(science)i(strand)e(at)g(the)g(1987)g (planning)i(meeting,)0 1870 y(and)e(ha)o(v)o(e)g(taugh)o(t)f(ab)q(out)g(half) i(of)e(the)h(courses)g(in)h(that)e(strand)h(at)f(the)h(Institute.)20 b(In)c(1990)e(I)h(w)o(as)f(app)q(oin)o(ted)0 1965 y(an)h(asso)q(ciate)g (director)h(of)f(IFSMA)o(CSE.)0 2094 y Fh(The)j(Computer)f(Science)h(Strand) 91 2193 y Fg(Tw)o(o)13 b(o)o(v)o(erall)i(p)q(oin)o(ts)g(of)e(view)i(can)g(b)q (e)g(distinguished)i(in)e(computer)f(science)i(education)f([Harv)o(ey)l(,)f (1991].)0 2288 y(The)h(mainstream)f Ff(softwar)n(e)i(engine)n(ering)h Fg(approac)o(h)d(is)i(exempli\014ed)h(b)o(y)e(the)g(Computer)f(Science)j(Adv) m(anced)0 2384 y(Placemen)o(t)22 b(exam,)g(whic)o(h)g(emphasizes)h(sequen)o (tial,)h(pro)q(cedural)e(programming)f(metho)q(dology)h(and)f(top-)0 2479 y(do)o(wn)16 b(design.)25 b(Courses)16 b(follo)o(wing)i(this)f(approac)o (h)f(are)g(t)o(ypically)i(taugh)o(t)e(using)h(P)o(ascal)f(or)g(Mo)q(dula-2.) 25 b(An)0 2575 y(alternativ)o(e)16 b(view,)g(using)h Ff(symb)n(olic)f(pr)n(o) n(gr)n(amming)j Fg(ideas,)e(w)o(as)e(pioneered)i(at)e(the)h(Massac)o(h)o (usetts)e(Institute)0 2670 y(of)21 b(T)l(ec)o(hnology)h([Ab)q(elson)g(and)f (Sussman,)i(1985])c(and)j(emphasizes)g(functional)h(programming)d(st)o(yle)i (and)964 2779 y(3)p eop %%Page: 4 4 bop 0 45 a Fg(in)o(teractiv)o(e)18 b(dev)o(elopmen)o(t.)26 b(Courses)17 b(using)h(the)f(second)g(approac)o(h)g(are)g(often)g(taugh)o(t)f (in)i(Sc)o(heme)g(or)e(some)0 141 y(other)f(dialect)h(of)f(Lisp.)91 236 y(In)k(designing)i(the)e(IFSMA)o(CSE)g(computer)g(science)h(curriculum,)i (the)d(participan)o(ts)g(at)f(the)h(planning)0 332 y(meeting)14 b(w)o(an)o(ted)g(to)f(ensure)i(that)e(b)q(oth)h(approac)o(hes)g(w)o(ould)g(b) q(e)h(represen)o(ted.)20 b(\(Our)14 b(o)o(wn)f(p)q(ersonal)i(leanings)0 427 y(w)o(ere)i(mixed.\))25 b(As)17 b(a)g(result,)h(Institute)f(participan)o (ts)h(tak)o(e)e(t)o(w)o(o)g(in)o(tro)q(ductory)g(programming)h(courses,)g (one)0 523 y(eac)o(h)k(summer;)i(the)e(\014rst)g(is)g(Logo-based)g(and)h(the) f(second)g(uses)g(P)o(ascal.)37 b(W)l(e)21 b(c)o(hose)g(Logo)g(rather)f(than) 0 618 y(Sc)o(heme)14 b(to)e(represen)o(t)i(the)f(sym)o(b)q(olic)h (programming)f(approac)o(h)f(partly)i(b)q(ecause)g(the)f(Ab)q(elson)h(and)g (Sussman)0 714 y(text)f(is)i(more)e(adv)m(anced)i(than)f(what)f(w)o(e)g(w)o (an)o(ted)h(for)f(an)h(in)o(tro)q(ductory)f(high)i(sc)o(ho)q(ol)f(course;)g (partly)g(b)q(ecause)0 809 y(Logo)k(is)g(more)g(generally)h(kno)o(wn)f(in)h (sc)o(ho)q(ols;)h(and)e(partly)g(b)q(ecause)h(w)o(e)f(had)h(an)f(appropriate) g(Logo-based)0 905 y(text)d(a)o(v)m(ailable)i([Harv)o(ey)l(,)d(1985].)91 1000 y(Eac)o(h)20 b(programming)f(course)i(extends)f(b)q(ey)o(ond)h(the)f (usual)h(high)g(sc)o(ho)q(ol)g(lev)o(el)g(of)f(sophistication,)i(al-)0 1095 y(though)17 b(w)o(e)f(think)i(that)e(they)h(are)f(not)h(b)q(ey)o(ond)g (the)g(abilities)i(of)d(high)i(sc)o(ho)q(ol)f(studen)o(ts.)25 b(The)17 b(Logo)f(course)0 1191 y(includes)i(v)o(ery)e(little)h(of)e(the)h (traditional)h(turtle)f(graphics)g(activities,)h(fo)q(cusing)g(instead)f(on)g (functional)h(pro-)0 1286 y(gramming)f(and)g(list)h(pro)q(cessing.)24 b(Adv)m(anced)18 b(ideas)e(suc)o(h)h(as)f(recursion)h(and)f(higher-order)h (functions)g(\(that)0 1382 y(is,)e(functions)h(that)e(op)q(erate)h(on)g (other)g(functions)h(as)e(data\))g(are)h(c)o(hallenging)i(to)d(the)h (participan)o(ts,)g(but)h(once)0 1477 y(learned,)23 b(they)f(allo)o(w)f (complicated)i(problems)f(to)e(b)q(e)i(solv)o(ed)g(elegan)o(tly)g(and)f(with) h(minimal)h(e\013ort.)37 b(F)l(or)0 1573 y(example,)16 b(consider)g(this)f (short)g(program)f(in)i(the)f(Berk)o(eley)h(Logo)f(dialect:)0 1679 y Fe(TO)24 b(CHOOSE)f(:MENU)g([:SOFAR)g([]])0 1734 y(IF)h(EMPTYP)f (:MENU)g([PRINT)g(:SOFAR)g(STOP])0 1788 y(FOREACH)g(FIRST)g(:MENU)g ([\(CHOOSE)g(BUTFIRST)g(:MENU)g(SENTENCE)g(:SOFAR)g(?\)])0 1843 y(END)0 1950 y Fg(This)12 b(pro)q(cedure)g(con)o(tains)g(only)g(t)o(w)o (o)e(instruction)i(lines,)h(but)f(it)f(uses)h(b)q(oth)f(recursion)h(\(the)g (pro)q(cedure)g Fe(CHOOSE)0 2045 y Fg(is)h(in)o(v)o(ok)o(ed)f(within)i (itself)t(\))e(and)h(the)f(higher-order)h(to)q(ol)g Fe(FOREACH)e Fg(\(applying)j(an)e(instruction)h(to)f(eac)o(h)g(elemen)o(t)0 2141 y(of)i(a)g(list\))h(to)f(solv)o(e)g(a)g(tree-structured)h(problem.)20 b(When)15 b(in)o(v)o(ok)o(ed)g(with)f(a)h(\\men)o(u")f(of)g(indep)q(enden)o (t)i(c)o(hoices,)0 2236 y(it)f(prin)o(ts)h(ev)o(ery)f(p)q(ossible)i(com)o (bination)f(of)f(c)o(hoices,)g(lik)o(e)i(this:)0 2343 y Fe(?)24 b(CHOOSE)f([[SMALL)g(MEDIUM)g(LARGE])g([VANILLA)g([RUM)g(RAISIN])g(GINGER)g (RASPBERRY])239 2397 y([CONE)g(CUP]])0 2452 y(SMALL)g(VANILLA)g(CONE)0 2506 y(SMALL)g(VANILLA)g(CUP)0 2561 y(SMALL)g(RUM)h(RAISIN)f(CONE)0 2615 y(SMALL)g(RUM)h(RAISIN)f(CUP)0 2670 y(SMALL)g(GINGER)g(CONE)964 2779 y Fg(4)p eop %%Page: 5 5 bop 0 45 a Fe(SMALL)23 b(GINGER)g(CUP)0 100 y(SMALL)g(RASPBERRY)g(CONE)0 155 y(SMALL)g(RASPBERRY)g(CUP)0 209 y(MEDIUM)g(VANILLA)g(CONE)0 264 y(MEDIUM)g(VANILLA)g(CUP)0 318 y(MEDIUM)g(RUM)g(RAISIN)h(CONE)0 373 y(MEDIUM)f(RUM)g(RAISIN)h(CUP)0 427 y(MEDIUM)f(GINGER)g(CONE)0 482 y(MEDIUM)g(GINGER)g(CUP)0 536 y(MEDIUM)g(RASPBERRY)g(CONE)0 591 y(MEDIUM)g(RASPBERRY)g(CUP)0 645 y(LARGE)g(VANILLA)g(CONE)0 700 y(LARGE)g(VANILLA)g(CUP)0 755 y(LARGE)g(RUM)h(RAISIN)f(CONE)0 809 y(LARGE)g(RUM)h(RAISIN)f(CUP)0 864 y(LARGE)g(GINGER)g(CONE)0 918 y(LARGE)g(GINGER)g(CUP)0 973 y(LARGE)g(RASPBERRY)g(CONE)0 1027 y(LARGE)g(RASPBERRY)g(CUP)0 1139 y Fg(\(In)15 b(dialects)h(of)e(Logo)g (other)g(than)g(Berk)o(eley)i(Logo)e(and)g(Ob)s(ject)h(Logo,)f(the)g Fe(FOREACH)g Fg(to)q(ol)g(is)h(not)g(automati-)0 1234 y(cally)h(pro)o(vided,) g(but)f(it)h(can)f(b)q(e)h(written)f(in)h(Logo.\))91 1332 y(The)j(P)o (ascal-based)h(course)g(in)g(the)f(second)h(summer)f(is)h(divided)h(in)o(to)f (t)o(w)o(o)e(three-w)o(eek)h(comp)q(onen)o(ts.)0 1427 y(The)13 b(\014rst)f(is)h(an)g(in)o(tro)q(duction)g(to)f(the)h(P)o(ascal)g(language)f (comparable)h(in)h(scop)q(e)f(to)f(the)h(Adv)m(anced)h(Placemen)o(t)0 1523 y(course.)21 b(The)16 b(second)g(is)g(a)f(course)h(on)f(algorithms)h (and)g(data)f(structures,)g(roughly)g(lik)o(e)i(the)f(t)o(ypical)g(\\CS)g(2") 0 1618 y(undergraduate)i(course.)29 b(\(F)l(or)18 b(example,)h(last)f (summer's)g(o\013ering)g(used)h(the)f(con)o(v)o(ex)g(h)o(ull)i(problem)f(as)f (its)0 1714 y(\014rst)g(lab)q(oratory)f(assignmen)o(t.)28 b(This)19 b(is)g(the)f(problem)h(of)e(\014nding)j(whic)o(h)f(p)q(oin)o(ts,)f(out)g(of)g (an)g(arbitrary)f(set)0 1809 y(of)f(p)q(oin)o(ts)h(c)o(hosen)g(in)g(the)g (plane,)h(w)o(ould)f(b)q(e)g(touc)o(hed)g(b)o(y)f(a)h(rubb)q(er)g(band)g (that)f(w)o(as)g(stretc)o(hed)g(around)h(the)0 1904 y(en)o(tire)j(set)f(and)g (then)g(allo)o(w)o(ed)h(to)f(con)o(tract.\))30 b(It)19 b(ma)o(y)g(seem)g (remark)m(able)h(to)e(co)o(v)o(er)h(the)g(A.P)l(.)g(syllabus)h(in)0 2000 y(three)14 b(w)o(eeks,)f(but)h(the)f(participan)o(ts)h(are)g(w)o(orking) f(full-time)i(on)f(computer)f(science,)i(and)f(they)g(ha)o(v)o(e)f(already)0 2095 y(had)i(an)g(adv)m(anced)h(Logo)e(programming)h(course)g(the)g(previous) g(y)o(ear.)20 b(The)15 b(algorithms)g(course)g(is)g(taugh)o(t)f(b)o(y)0 2191 y(Selim)k(Akl,)f(a)f(professor)g(at)g(Queen's)h(Univ)o(ersit)o(y)g(in)h (On)o(tario)e(and)h(the)f(author)g(of)g(three)h(texts)f(in)h(the)g(area)0 2286 y(of)h(algorithms)g([Akl,)h(1985;)g(Akl,)g(1989;)g(Akl,)g(1992].)28 b(The)19 b(in)o(tro)q(duction)g(to)f(P)o(ascal)g(has)g(b)q(een)i(taugh)o(t)d (b)o(y)0 2382 y(Mic)o(hael)f(Levy)l(,)g(professor)e(at)h(the)g(Univ)o(ersit)o (y)h(of)f(Victoria,)h(and)f(b)o(y)g(Darrell)h(T)l(urnidge,)g(an)f(Assistan)o (t)g(Dean)0 2477 y(of)g(Arts)f(and)i(Sciences)h(at)d(Ken)o(t)i(State)e(Univ)o (ersit)o(y)i(and)g(an)f(asso)q(ciate)g(director)g(of)g(IFSMA)o(CSE.)91 2575 y(Eac)o(h)h(summer's)g(programming)g(course)g(runs)h(in)g(parallel)h (with)e(a)g(second)h(course)g(in)g(whic)o(h)g(program-)0 2670 y(ming)g(is)f(not)g(the)g(fo)q(cus,)g(although)g(programming)g(ma)o(y)f(b)q (e)i(used)f(as)g(a)g(learning)h(to)q(ol.)23 b(The)16 b(\014rst)f(summer's)964 2779 y(5)p eop %%Page: 6 6 bop 0 45 a Fg(course)15 b(is)g(ab)q(out)g(the)g(use)g(of)g(computing)g(in)h (sc)o(ho)q(ols)f(outside)g(of)g(computer)g(science)h(prop)q(er.)k(This)c (course)e(is)0 141 y(o\013ered)i(b)q(ecause)h(a)e(high)i(sc)o(ho)q(ol's)f (computer)g(science)i(teac)o(her)e(is)g(lik)o(ely)i(also)e(to)f(b)q(e)i(the)f (computing)h(exp)q(ert)0 236 y(who)11 b(is)h(consulted)h(ab)q(out)e(ev)o(ery) g(asp)q(ect)h(of)f(educational)h(computing.)20 b(This)12 b(is)f(the)h(course) f(in)i(the)e(IFSMA)o(CSE)0 332 y(computer)16 b(science)i(strand)e(that)f(has) h(c)o(hanged)h(most)e(o)o(v)o(er)g(the)i(three)f(summers)g(in)h(resp)q(onse)g (to)e(pragmatic)0 427 y(needs.)32 b(As)19 b(originally)i(designed,)f(the)g (course)f(had)g(t)o(w)o(o)e(three-w)o(eek)i(sections.)32 b(The)19 b(\014rst)g(w)o(as)f(ab)q(out)h(the)0 523 y(tec)o(hnical)g(\\n)o(uts)e(and)h (b)q(olts")g(of)f(using)i(computers:)e(w)o(ord)g(pro)q(cessing,)i (spreadsheets,)f(and)g(so)f(on,)h(as)f(w)o(ell)0 618 y(as)e(hin)o(ts)h(ab)q (out)g(c)o(ho)q(osing)g(hardw)o(are,)e(net)o(w)o(orking,)h(and)h(similar)g (issues.)22 b(The)16 b(second)g(three)g(w)o(eeks)f(w)o(as)g(an)0 714 y(o)o(v)o(erview)j(of)g(the)g(use)g(of)g(computing)g(throughout)g(the)g (curriculum,)i(com)o(bining)g(general)e(readings)h(with)f(a)0 809 y(sampler)e(of)e(activities)j(from)d(v)m(arious)i(discipline)q(s.)91 928 y(This)k(original)h(design)g(has)f(c)o(hanged)g(for)f(t)o(w)o(o)g (reasons.)33 b(The)21 b(\014rst)e(w)o(as)g(that)g(the)h(\\n)o(uts)g(and)g(b)q (olts")0 1024 y(w)o(ork)f(turned)h(out)f(to)g(b)q(e)h(so)f(p)q(opular)i(that) d(participan)o(ts)i(in)h(the)e(mathematics)h(strands)f(w)o(an)o(ted)g(to)g (tak)o(e)0 1119 y(the)g(course)f(also.)31 b(It)18 b(is)i(taugh)o(t)d(b)o(y)i (Bill)i(Hun)o(t,)e(a)f(Macin)o(tosh)g(virtuoso,)h(who)g(is)g(Director)f(of)h (T)l(ec)o(hnology)0 1215 y(for)d(the)g(Ma)o(y\014eld,)h(Ohio)h(Cit)o(y)e(Sc)o (ho)q(ols)h(and)g(a)f(winner)h(of)f(the)h(Presiden)o(tial)h(Aw)o(ard)e(for)g (Excellence)j(in)e(the)0 1310 y(T)l(eac)o(hing)j(of)e(Mathematics.)31 b(T)l(o)19 b(mak)o(e)f(Bill's)j(w)o(orkshop)d(a)o(v)m(ailable)i(to)f(all)h (participan)o(ts,)g(starting)e(in)i(the)0 1405 y(second)c(summer)f(it)g(w)o (as)g(mo)o(v)o(ed)f(in)o(to)h(the)h(ev)o(ening)g(program.)91 1525 y(The)j(second)g(half)g(of)g(the)f(original)i(design)g(w)o(as)e (expanded)i(to)e(\014ll)i(part)e(of)g(the)h(hole)h(th)o(us)e(left)h(in)h(the) 0 1620 y(computer)15 b(science)i(sc)o(hedule.)22 b(The)16 b(course)f(is)h (taugh)o(t)e(b)o(y)i(P)o(aul)f(Golden)o(b)q(erg,)h(who)f(has)g(taugh)o(t)g (at)f(all)j(lev)o(els)0 1715 y(from)11 b(second)i(grade)e(through)h(graduate) f(sc)o(ho)q(ol)h(and)g(is)g(no)o(w)g(a)f(Senior)i(Scien)o(tist)g(at)e (Education)i(Dev)o(elopmen)o(t)0 1811 y(Cen)o(ter)k(in)h(Massac)o(h)o (usetts.)25 b(P)o(aul)17 b(has)h(enric)o(hed)g(the)g(course)f(in)h(t)o(w)o(o) e(w)o(a)o(ys.)25 b(First,)18 b(he)f(is)h(himself)h(a)e(dev)o(el-)0 1906 y(op)q(er)d(of)f(computer-based)h(curriculum)h(in)f(sev)o(eral)g(areas,) f(including)j(sp)q(ecial)f(education)g([Golden)o(b)q(erg,)e(1979;)0 2002 y(Golden)o(b)q(erg,)h(et.)19 b(al.,)14 b(1984],)e(linguistics)k([Golden) o(b)q(erg)d(and)h(F)l(eurzeig,)g(1987],)e(and)i(fractal)f(geometry)g([Gold-)0 2097 y(en)o(b)q(erg,)i(1989].)k(Second,)d(as)f(an)h(exp)q(erienced)i(pro)q (cess)d(group)g(leader)i(with)e(psyc)o(ho)q(dynamic)i(training,)f(P)o(aul)0 2193 y(has)h(in)o(tro)q(duced)g(a)g(group)f(discussion)i(comp)q(onen)o(t)f (to)f(the)h(course.)24 b(He)17 b(divides)i(the)e(participan)o(ts)g(in)o(to)f (t)o(w)o(o)0 2288 y(groups)g(of)f(15;)h(while)h(one)g(group)e(is)i(w)o (orking)f(indep)q(enden)o(tly)j(in)d(the)h(computer)f(lab,)g(the)g(other)g (is)g(meeting)0 2384 y(with)h(P)o(aul)f(for)g(a)g(wide-ranging)h(discussion)h (of)e(participan)o(ts')h(concerns)g(ab)q(out)f(educational)h(issues.)25 b(These)0 2479 y(discussions)20 b(ha)o(v)o(e)e(no)h(predetermined)h(agenda,)f (and)g(their)g(c)o(haracter)f(has)g(b)q(een)i(v)o(ery)e(di\013eren)o(t)h (from)f(one)0 2575 y(group)c(to)g(another,)g(but)h(they)g(are)f(alw)o(a)o(ys) g(strongly)g(connected)i(with)f(other)f(parts)g(of)g(the)h(IFSMA)o(CSE)f (pro-)0 2670 y(gram)h(and)h(help)i(participan)o(ts)e(understand)h(more)e (fully)j(the)e(p)q(edagogic)h(implications)h(of)d(their)i(exp)q(eriences)964 2779 y(6)p eop %%Page: 7 7 bop 0 45 a Fg(as)15 b(learners)h(for)e(their)i(later)f(w)o(ork)f(as)h(teac)o (hers.)91 145 y(The)e(non-programming)f(course)h(in)h(the)f(second)g(summer)g (is)g(a)g(sampler)g(of)f(topics)h(in)h(computer)f(science,)0 241 y(including)g(automata)c(theory)l(,)i(discrete)g(mathematics,)g (programming)f(languages,)h(and)f(arti\014cial)i(in)o(telligence)0 336 y([Harv)o(ey)l(,)i(1987].)k(The)d(rationale)g(for)f(this)h(course)g(is)g (that)f(man)o(y)g(studen)o(ts)g(lea)o(v)o(e)h(high)h(sc)o(ho)q(ol)f(thinking) h(that)0 432 y(a)g(computer)h(scien)o(tist)h(is)f(someone)g(who)f(kno)o(ws)g (t)o(w)o(o)g(dozen)h(programming)f(languages,)h(and)g(with)g(no)g(idea)0 527 y(ab)q(out)c(the)g(range)f(of)h(topics)g(they'll)h(meet)f(in)h(college.) 20 b(As)13 b(in)h(IFSMA)o(CSE's)e(mathematics)h(courses,)g(the)g(goal)0 622 y(is)18 b(to)f(use)h(the)g(computer)g(as)f(a)g(medium)i(that)e(allo)o(ws) h(an)g(exp)q(erimen)o(tal)h(approac)o(h)e(to)g(otherwise)h(abstract)0 718 y(ideas.)31 b(F)l(or)18 b(example,)i(participan)o(ts)f(explore)g (automata)e(theory)h(using)i(t)o(w)o(o)d(computer)i(programs,)f(one)g(of)0 813 y(whic)o(h)e(sim)o(ulates)g(a)f(\014nite)h(state)e(mac)o(hine,)i(while)g (the)f(other)g(translates)g(a)g(regular)g(expression)h(in)o(to)f(a)g (\014nite)0 909 y(state)g(mac)o(hine.)21 b(Before)16 b(there)f(is)h(an)o(y)f (in)o(tro)q(duction)i(of)e(tec)o(hnical)i(v)o(o)q(cabulary)l(,)e(participan)o (ts)h(use)g(the)f(FSM)0 1004 y(sim)o(ulator)k(to)f(pla)o(y)h(a)g(sort)f(of)g (\\guess)h(m)o(y)f(rule")i(game)e(in)i(whic)o(h)f(the)g(rules)h(sp)q(ecify)g (allo)o(w)o(able)g(strings)e(of)0 1100 y(letters)e(using)h(only)g(the)f (letters)g(A,)g(B,)g(and)g(C.)f(\(One)i(p)q(ossible)h(rule)f(is)f(that)g(the) g(string)g(m)o(ust)g(start)e(with)j(A)0 1195 y(and)d(end)h(with)g(C.\))e(FSM) g(notation)h(is)h(in)o(tro)q(duced)g(as)f(a)g(w)o(a)o(y)f(to)g(express)h(the) h(game)e(rules)i(in)g(an)f(algorithmic)0 1291 y(form|one)h(that)g(a)f (computer)i(can)f(use)g(directly)i(to)e(c)o(hec)o(k)g(whether)g(a)g(giv)o(en) h(string)f(follo)o(ws)g(a)g(giv)o(en)h(rule.)0 1421 y Fh(Success)h(with)h (Exp)q(erien)o(tial)h(Learning)91 1520 y Fg(The)11 b(Adv)m(anced)h(T)l(opics) g(course)f(includes)i(t)o(w)o(o)c(asp)q(ects)i(of)g(programming)f(languages.) 18 b(There)12 b(is)f(a)f(section)0 1616 y(ab)q(out)18 b(language)g(design,)i (in)f(whic)o(h)g(tec)o(hnical)h(issues)f(suc)o(h)f(as)g(scop)q(e)h(of)f(v)m (ariables)h(and)g(call)g(b)o(y)f(reference)0 1711 y(are)i(considered)h(in)g (the)g(con)o(text)e(of)h(a)g(comparison)g(b)q(et)o(w)o(een)h(Logo)e(and)i(P)o (ascal.)34 b(A)21 b(second)f(section,)i(on)0 1807 y(compiler)c(construction,) f(is)g(illustrated)h(with)g(a)e(recursiv)o(e)h(descen)o(t)h(compiler)g(for)e (P)o(ascal)g(written)h(in)h(Logo.)0 1902 y(\(The)h(ob)s(ject)g(language,)h (in)o(to)g(whic)o(h)g(a)f(P)o(ascal)g(program)f(is)i(translated,)g(is)g(also) f(Logo.)32 b(This)20 b(mak)o(es)f(the)0 1998 y(compiler)c(somewhat)e (unrealistic)j(but)d(also)h(k)o(eeps)g(it)g(p)q(ortable)g(and)g(mak)o(es)g (it)g(p)q(ossible)h(to)e(discuss)i(fron)o(t-end)0 2093 y(parsing)g(issues)h (without)g(ha)o(ving)f(to)g(learn)g(ab)q(out)h(nativ)o(e)f(mac)o(hine)h (languages.\))91 2193 y(I)k(ha)o(v)o(e)f(taugh)o(t)g(this)h(course)f(t)o (wice)h(at)f(IFSMA)o(CSE.)g(The)h(\014rst)f(time,)h(I)g(hadn't)g(managed)f (to)g(in)o(v)o(en)o(t)0 2288 y(exp)q(erimen)o(ts)i(for)e(the)h(participan)o (ts)g(to)f(use)h(in)h(exploring)g(the)f(ideas.)34 b(In)20 b(fact,)g(I)g (didn't)h(think)f(an)o(y)g(suc)o(h)0 2384 y(activities)d(w)o(ere)e(p)q (ossible)j(for)d(the)h(\014rst)f(part,)g(on)h(language)g(design.)22 b(I)17 b(did)f(ha)o(v)o(e)g(ideas)g(for)f(activities)i(in)g(the)0 2479 y(second)i(part,)e(but)i(those)f(ideas)g(w)o(ere)g(mostly)g(extensions)h (to)e(the)i(already-written)f(P)o(ascal)g(compiler,)i(and)0 2575 y(required)14 b(that)f(the)g(participan)o(ts)h(already)f(understand)h (the)f(structure)g(of)g(the)g(program.)18 b(Therefore,)13 b(I)h(ended)0 2670 y(up)k(doing)f(a)g(lot)g(of)g(lecturing)h(during)g(those)f(w)o(eeks.)26 b(The)17 b(participan)o(ts,)h(who)f(had)g(felt)g(quite)h(comfortable)964 2779 y(7)p eop %%Page: 8 8 bop 0 45 a Fg(with)15 b(automata)e(theory)i(and)g(discrete)g(mathematics)g(b) q(ecause)h(of)e(the)h(activit)o(y-based)g(approac)o(h,)g(ended)g(up)0 141 y(feeling)i(that)d(the)h(topic)h(of)f(programming)f(languages)i(w)o(as)e (to)q(o)h(hard)g(for)f(them.)91 245 y(The)g(second)g(summer,)g(b)q(efore)g (an)o(y)f(discussion)j(of)d(programming)g(language)h(design,)h(I)f(ga)o(v)o (e)f(the)h(partic-)0 341 y(ipan)o(ts)f(the)g(follo)o(wing)h(assignmen)o(t:)19 b(\\W)l(rite)13 b(programs)f(for)g(eac)o(h)h(of)g(the)g(follo)o(wing)h(in)g (as)f(man)o(y)f(languages)h(as)0 436 y(p)q(ossible.)21 b(F)l(eel)15 b(free)e(to)h(consult)g(with)g(other)f(p)q(eople)i(who)f(kno)o(w)f(these)h (languages)g(b)q(etter)f(than)h(y)o(ou)f(do.)20 b(Y)l(ou)0 532 y(should)c(at)e(least)h(b)q(e)h(able)f(to)g(do)g(Logo)f(and)h(P)o(ascal;) g(other)f(p)q(ossibilities)k(are)d(Sc)o(heme,)g(ISETL,)g(and)h(BASIC.)0 627 y(Some)f(programs)f(ma)o(y)h(turn)g(out)g(to)f(b)q(e)i(imp)q(ossible)i (in)e(some)e(languages.")196 709 y(1.)20 b(Mergesort)14 b(an)h(arra)o(y)f(or) h(a)f(list)i(of)f(n)o(um)o(b)q(ers.)196 790 y(2.)20 b(Sh)o(u\017e)c(an)f (arra)o(y)f(or)g(a)h(list)h(of)f(n)o(um)o(b)q(ers.)196 872 y(3.)20 b(Exc)o(hange)15 b(the)g(v)m(alues)i(of)e(t)o(w)o(o)e(v)m(ariables.) 196 953 y(4.)20 b(T)l(ak)o(e)15 b(a)g(function)h Fd(F)21 b Fg(as)15 b(input;)h(output)f(the)g(function)h(that)f(computes)g Fd(F)6 b Fg(\()p Fd(F)g Fg(\()p Fd(x)p Fg(\)\))15 b(for)g(input)h Fd(x)p Fg(.)196 1035 y(5.)k(Compute)15 b(all)h(the)f(prime)h(n)o(um)o(b)q (ers)g(less)g(than)f(an)g(input)h Fd(N)5 b Fg(.)19 b(\(Output)d(an)f(arra)o (y)f(or)g(a)h(list.\))196 1116 y(6.)20 b(Compute)15 b(all)h(the)f(factors)f (of)h(an)g(input)i Fd(N)5 b Fg(.)91 1221 y(P)o(articipan)o(ts)11 b(w)o(ere)f(already)i(familiar)f(with)h(Logo)e(\(a)g(list-based)j(language\)) d(and)h(P)o(ascal)g(\(an)g(arra)o(y-based)0 1316 y(language\).)24 b(ISETL)18 b(is)f(a)f(functional)i(language)f(with)g(a)g(notation)f(designed) i(to)e(b)q(e)i(v)o(ery)e(close)h(to)f(standard)0 1411 y(mathematical)g (notation,)g(in)g(whic)o(h)h(the)f(main)h(data)e(aggregate)g(is)h(the)g Ff(set)p Fg(,)f(essen)o(tially)j(an)e(unordered)h(list.)0 1507 y(ISETL)d(is)f(not)f(taugh)o(t)g(in)i(the)f(computer)g(science)h(strand,)f (but)g(is)g(hea)o(vily)h(used)g(in)f(the)g(mathematics)g(strand,)0 1602 y(so)g(the)g(CS)g(participan)o(ts)g(w)o(ere)g(encouraged)g(to)f(consult) i(their)f(friends)h(in)g(the)f(other)g(group.)19 b(Sc)o(heme)13 b(had)g(not)0 1698 y(previously)k(b)q(een)g(used)f(b)o(y)f(either)h(strand,)f (but)h(it)g(w)o(as)f(installed)i(on)f(the)f(computer)h(net)o(w)o(ork)e(for)h (this)h(w)o(eek)0 1793 y(and)f(I)h(used)g(t)o(w)o(o)e(class)h(sessions)h(to)e (demonstrate)h(it)g(and)h(encourage)f(the)g(participan)o(ts)h(to)e(pla)o(y)i (with)f(it.)91 1898 y(P)o(articipan)o(ts)e(v)m(aried)i(widely)g(in)f(the)g (degree)g(to)f(whic)o(h)h(they)g(completed)g(the)g(assignmen)o(t,)f(whic)o(h) h(called)0 1993 y(for)d(six)h(programs)f(in)h(eac)o(h)g(of)f(\014v)o(e)h (languages.)19 b(But)12 b(one)f(of)h(the)f(great)g(virtues)h(of)f(the)h(exp)q (erimen)o(tal)h(approac)o(h)0 2088 y(is)19 b(that)g(it)g(isn't)g(necessary)g (for)f(a)g(learner)i(to)e(complete)i(assignmen)o(ts!)30 b(An)o(y)19 b(participan)o(t)h(who)e(made)h(an)o(y)0 2184 y(serious)d(e\013ort)e(at)h (all)i(quic)o(kly)g(sa)o(w)d(that)h(only)h(languages)g(with)g(\014rst-class)g (functions,)g(suc)o(h)f(as)h(Sc)o(heme)g(and)0 2279 y(ISETL,)j(allo)o(w)g (the)f(fourth)g(problem)h(to)f(b)q(e)h(solv)o(ed.)30 b(Most)18 b(participan)o(ts|ev)o(en)i(if)f(their)g(programs)e(nev)o(er)0 2375 y(w)o(ork)o(ed|sa)o(w)11 b(that)g(lists)i(are)e(easier)h(to)g(mergesort) f(than)g(arra)o(ys,)g(but)h(arra)o(ys)f(are)g(easier)i(to)e(sh)o(u\017e.)19 b(Filtering)0 2470 y(problems)d(suc)o(h)f(as)f(the)i(last)e(t)o(w)o(o)g(are)h (naturally)g(expressed)h(\\all)g(at)e(once")h(in)h(languages)f(with)g (higher-order)0 2566 y(functions,)h(but)f(are)g(expressed)h(as)f(iterativ)o (e)g(lo)q(ops)h(in)g(languages)f(that)f(emphasize)j(iteration.)91 2670 y(A)12 b(similar)h(activit)o(y-\014rst)f(approac)o(h)g(also)g(rescued)h (the)f(compiler)h(unit.)20 b(I)12 b(had)g(originally)i(c)o(hosen)f(to)e(w)o (ork)964 2779 y(8)p eop %%Page: 9 9 bop 0 45 a Fg(with)13 b(a)f(P)o(ascal)g(compiler)h(in)h(order)e(to)f (demonstrate)h(the)g(nature)h(of)f(lexical)i(scop)q(e.)19 b(But)13 b(the)f(v)o(ery)g(complexit)o(y)0 141 y(of)k(this)i(issue,)g(and)f(the)g (corresp)q(onding)h(recursiv)o(e)f(structure)g(of)f(the)h(compiler,)i(made)e (this)g(a)f(bad)i(starting)0 236 y(p)q(oin)o(t)d(for)e(an)h(activit)o(y)g (approac)o(h;)g(the)g(participan)o(ts)h(w)o(ould)f(nev)o(er)g(ha)o(v)o(e)g (written)g(a)g(P)o(ascal)g(compiler)h(from)e(a)0 332 y(blank)i(start.)j (Instead,)c(w)o(e)g(b)q(egan)g(the)g(w)o(eek)f(b)o(y)h(taking)g(on)g(the)g (easier)g(task)f(of)g(a)h(BASIC)h(compiler.)20 b(BASIC)0 427 y(is)e(structurally)g(simple)h(b)q(ecause)f(eac)o(h)g(instruction)g(line)h(b) q(egins)g(\(not)e(coun)o(ting)g(the)h(line)h(n)o(um)o(b)q(er\))e(with)h(a)0 523 y(k)o(eyw)o(ord)f(\(suc)o(h)g(as)g Fe(LET)g Fg(or)f Fe(PRINT)p Fg(\))h(that)f(sp)q(eci\014es)j(the)f(kind)g(of)f(instruction)h(on)f(the)h (line.)27 b(The)18 b(computer)0 618 y(lab)e(w)o(as)g(arranged)f(as)g(\014v)o (e)h(large)g(clusters)h(of)e(tables,)h(eac)o(h)g(with)h(ab)q(out)e(six)i (participan)o(ts.)22 b(I)16 b(assigned)h(eac)o(h)0 714 y(group)e(a)g (statemen)o(t)f(t)o(yp)q(e,)h(and)g(told)h(them)f(to)f(write)i(a)f(pro)q (cedure)h(that)e(w)o(ould)i(tak)o(e)e(a)h(BASIC)h(instruction)0 809 y(line)21 b(as)e(its)h(input,)h(and)f(w)o(ould)g(de\014ne)h(a)e(Logo)g (pro)q(cedure)h(to)f(carry)g(out)g(the)h(instruction.)34 b(W)l(e)19 b(deferred)0 905 y(un)o(til)e(later)f(the)h(top-lev)o(el)g(structure)f(that)f (w)o(ould)i(in)o(v)o(ok)o(e)f(their)h(pro)q(cedures)g(and)f(assem)o(ble)h (the)f(completed)0 1000 y(program.)j(\(As)14 b(it)h(turned)g(out,)f(I)i (decided)g(to)f(write)g(this)g(part)f(m)o(yself)h(b)q(ecause)h(it)f(in)o(v)o (olv)o(ed)h(a)e(few)h(anno)o(ying)0 1095 y(tec)o(hnical)i(issues)f(and)f(no)g (real)h(in)o(tellectual)h(ones.\))91 1215 y(In)c(a)g(w)o(eek)f(of)h(w)o(ork,) e(w)o(e)i(nev)o(er)g(did)g(put)g(together)f(a)h(complete)g(compiler.)20 b(But)13 b(the)g(participan)o(ts)g(all)h(had)0 1310 y(to)h(w)o(ork)g(out)g (sev)o(eral)h(issues)g(in)h(their)f(understanding)h(of)e(ho)o(w)g(to)g(write) h(one.)21 b(The)16 b(biggest)g(issue)h(w)o(as)d(their)0 1405 y(tendency)i(to)f(confuse)g(the)h(v)m(ariables)g(that)f(are)g(part)f(of)h (the)g(compiler)i(itself)f(with)f(v)m(ariables)i(that)d(b)q(elong)j(to)0 1501 y(the)h(compiled)h(program.)26 b(This)18 b(confusion)h(w)o(ork)o(ed)d(b) q(oth)i(w)o(a)o(ys;)f(they)h(w)o(ould)g(try)f(to)g(examine)h(during)h(the)0 1596 y(compilation)c(pro)q(cess)e(v)m(ariables)i(that)e(w)o(ouldn't)g(exist)h (un)o(til)g(the)g(program)e(w)o(as)h(run,)g(but)h(they)f(also)g(put)h(in)o (to)0 1692 y(the)g(compiled)i(co)q(de)f(references)f(to)g(v)m(ariables)h (within)g(the)f(compiler.)21 b(Ev)o(ery)14 b(group)f(did)j(adv)m(ance)e (their)h(w)o(ork)0 1787 y(to)g(the)g(p)q(oin)o(t)h(at)f(whic)o(h)h(this)g (confusion)g(w)o(as)e(clari\014ed.)22 b(The)16 b(issue)g(is)g(a)f(profound)h (one.)k(A)15 b(compiler)i(breaks)0 1883 y(do)o(wn)e(the)g(simplistic)j(w)o (all)d(b)q(et)o(w)o(een)h(program)e(and)h(data)g(in)h(the)f(minds)h(of)f(b)q (eginning)i(programmers.)91 2002 y(Another)c(issue)h(that)f(came)g(up)h(in)g (the)g(participan)o(ts')f(w)o(ork)g(w)o(as)f(tok)o(enization.)20 b(The)13 b(tok)o(enization)h(rules)0 2097 y(for)j(Logo)f(are)h(v)o(ery)g (similar)i(to)d(those)h(of)g(BASIC;)h(for)f(example,)h(the)f(arithmetic)h(op) q(erators)e(are)h(tok)o(ens)g(in)0 2193 y(themselv)o(es.)j(But)14 b(there)g(are)f(a)h(few)g(di\013erences.)20 b(The)14 b(most)g(imp)q(ortan)o (t)f(turned)h(out)g(to)f(b)q(e)h(that)g(the)g(comma)0 2288 y(is)h(a)g(delimiter)i(in)e(BASIC)h(but)f(not)f(in)i(Logo.)j(The)c(groups)g (w)o(orking)f(on)h(the)g Fe(INPUT)f Fg(and)h Fe(PRINT)f Fg(statemen)o(ts)0 2384 y(quic)o(kly)k(got)e(b)q(ogged)h(do)o(wn)g(in)g(trying)g(to)f(extract)g (commas)g(from)g(w)o(ords.)24 b(I)18 b(suggested)e(that)g(these)h(groups)0 2479 y(split)e(their)g(e\013orts;)e(one)h(subgroup)g(w)o(ould)g(compile)i (the)e(statemen)o(ts)f(assuming)h(that)g(an)o(y)f(comma)h(w)o(ould)g(b)q(e)0 2575 y(seen)h(as)e(a)h(separate)g(w)o(ord)f(just)h(as)g(a)g(plus)h(sign)f(w)o (ould)h(b)q(e,)g(while)g(the)f(other)g(subgroup)g(w)o(ork)o(ed)g(only)g(on)h (this)0 2670 y(tok)o(enization)h(task.)j(Later,)14 b(in)i(a)f(discussion)i (with)e(the)h(en)o(tire)f(class,)g(w)o(e)g(all)h(agreed)f(that)g(it)g(w)o (ould)h(b)q(e)f(more)964 2779 y(9)p eop %%Page: 10 10 bop 0 45 a Fg(sensible)21 b(to)d(design)i(the)e(compiler)i(in)g(a)f(w)o(a)o (y)e(that)h(made)h(tok)o(enization)g(an)g(en)o(tirely)h(separate)e(task,)h (done)0 141 y(uniformly)d(for)f(all)h(statemen)o(t)e(t)o(yp)q(es,)h(rather)f (than)i(as)e(a)h(subtask)g(of)g(compiling)i(eac)o(h)e(statemen)o(t)f(t)o(yp)q (e.)91 239 y(Although)e(w)o(e)f(nev)o(er)h(did)g(examine)h(the)e(P)o(ascal)g (compiler)i(from)e(the)g(textb)q(o)q(ok)h(in)g(an)o(y)f(detail,)i(the)f (partic-)0 335 y(ipan)o(ts')k(exp)q(erience)i(struggling)e(with)g (compile-time)i(v)o(ersus)e(run-time)g(v)m(ariables)i(w)o(as)d(enough)h (preparation)0 430 y(so)i(that)f(I)h(could)h(tell)g(them)f(ab)q(out)g(the)g (implications)i(of)d(lexical)j(scoping)f(rules)f(ev)o(en)h(though)e(they)h (didn't)0 526 y(w)o(ork)g(out)g(the)h(actual)g(pro)q(cess)h(of)e(implemen)o (ting)j(those)d(rules.)32 b(Had)19 b(w)o(e)g(had)g(more)f(time,)i(I)f(w)o (ould)g(ha)o(v)o(e)0 621 y(tried)f(to)e(in)o(tro)q(duce)j(scoping,)f(to)q(o,) e(through)h(activities.)28 b(But)17 b(the)g(lecture)i(that)d(I)i(ga)o(v)o(e)e (as)h(a)g(shortcut)g(w)o(as)0 717 y(v)m(astly)f(more)f(successful)i(than)e(a) g(similar)i(lecture)f(the)g(previous)g(summer)g(to)e(participan)o(ts)i(who)g (hadn't)f(had)0 812 y(the)g(activit)o(y)h(of)e(struggling)i(to)f(write)g(a)g (BASIC)h(compiler.)0 940 y Fh(The)i(Di\016cult)o(y)g(of)f(Understanding)i(F)l (unction)f(as)f(Ob)s(ject)91 1038 y Fg(The)e(idea)g(of)g Ff(function)i Fg(is)f(cen)o(tral)f(to)f(mathematics,)g(and)h(cen)o(tral)g(to)f(the)h (mathematics)f(curriculum)j(at)0 1134 y(IFSMA)o(CSE.)11 b(Less)h(ob)o (viously)l(,)i(it)e(has)f(turned)i(out)e(also)h(to)f(b)q(e)h(cen)o(tral)g(to) f(the)h(computer)g(science)h(curriculum.)91 1232 y(Studen)o(ts)g(notoriously) h(ha)o(v)o(e)f(trouble)h(understanding)g(functions.)20 b(F)l(or)13 b(example,)h(this)g(trouble)f(is)h(at)f(the)0 1328 y(ro)q(ot)f(of)h(their)h (di\016cult)o(y)g(in)g(freshman)f(calculus.)21 b(Mathematics)13 b(educators)g(ha)o(v)o(e)g(fo)q(cused)h(m)o(uc)o(h)f(researc)o(h)g(on)0 1423 y(illuminating)18 b(functions.)i(It)15 b(app)q(ears)g(that)f (mathematicians)h(understand)g(functions)h(in)f(at)f(least)h(t)o(w)o(o)e(w)o (a)o(ys,)0 1519 y(one)i(of)g(whic)o(h)h(is)g(m)o(uc)o(h)f(harder)g(than)g (the)h(other)e([Dubinsky)l(,)i(1991].)91 1617 y(The)h(easier)g(lev)o(el)h(of) e(understanding)i(is)g(that)e(of)g Ff(function)h(as)h(pr)n(o)n(c)n(ess)p Fg(.)23 b(This)17 b(is)g(the)g(view)h(exempli\014ed)0 1712 y(b)o(y)d(the)g(\\function)h(mac)o(hine")g(of)e(high)i(sc)o(ho)q(ol)g (algebra,)f(the)g(meat)f(grinder)i(that)f(accepts)g(n)o(um)o(b)q(ers)g (through)0 1808 y(a)g(funnel)i(at)d(the)i(top)f(and)g(cranks)g(out)g(other)g (n)o(um)o(b)q(ers)h(through)e(a)h(c)o(h)o(ute)h(at)e(the)i(b)q(ottom.)j Ff(Comp)n(osition)d(of)0 1903 y(functions)21 b Fg(can)d(b)q(e)h(understo)q(o) q(d)g(as)f(ho)q(oking)h(the)f(output)g(c)o(h)o(ute)g(of)g(one)h(mac)o(hine)g (to)e(the)h(input)i(funnel)f(of)0 1999 y(another.)25 b(In)18 b(this)f(view,)h(the)g(\\real)f(things")g(that)f(w)o(e)h(manipulate)h(are)f (the)g(n)o(um)o(b)q(ers;)h(functions)g(are)f(w)o(a)o(ys)0 2094 y(in)e(whic)o(h)h(w)o(e)e(manipulate)i(those)f(things.)20 b(This)15 b(view)g(of)g(functions)g(is)g(straigh)o(tforw)o(ardly)e(mo)q(deled)j (through)0 2190 y(pro)q(cedures)f(in)f(a)f(programming)g(language.)20 b(\(In)14 b(fact,)f(man)o(y)g(languages)h(use)g(the)g(w)o(ord)f(\\function")h (to)f(name)0 2285 y(suc)o(h)h(pro)q(cedures.\))20 b(Consider)14 b(the)g(common)g(metaphor)f(in)i(whic)o(h)f(a)g(pro)q(cedure)g(is)h(describ)q (ed)g(as)f(a)f(recip)q(e;)j(it)0 2381 y(is)h(p)q(erfectly)g(clear)g(that)f (the)g(\\real)h(things")f(that)g(w)o(e)g(eat)g(are)g(the)h(ingredien)o(ts,)g (not)f(the)h(recip)q(e)g(itself.)25 b(Y)l(ou)0 2476 y(can't)14 b(eat)g(a)g(recip)q(e,)h(nor)g(can)f(y)o(ou)g(eat)g(the)g(sequence)i(of)e (steps)g(\(turning)h(on)f(the)h(sto)o(v)o(e,)e(and)h(so)g(on\))g(that)g(the)0 2572 y(recip)q(e)j(tells)f(us)f(to)g(p)q(erform.)91 2670 y(The)21 b(second)g(lev)o(el)i(requires)e(us)g(to)f(understand)i Ff(function)f(as)g (obje)n(ct)p Fg(.)36 b(In)22 b(this)f(view,)i(functions)e(are)952 2779 y(10)p eop %%Page: 11 11 bop 0 45 a Fg(promoted)12 b(to)g(\\real)h(things")g(that)f(can)h(themselv)o (es)h(b)q(e)f(manipulated.)21 b(In)13 b(calculus,)i Ff(derivative)h Fg(is)e(a)e(function)0 141 y(whose)17 b(domain)h(and)g(range)f(are)g (functions.)27 b(If)17 b(w)o(e)g(represen)o(t)h(this)f(function)i(as)d Fd(D)q Fg(,)i(w)o(e)f(ma)o(y)f(lo)q(osely)j(write)0 236 y(that)c Fd(D)q Fg(\()p Fd(x)182 220 y Fc(2)202 236 y Fg(\))e(=)h(2)p Fd(x)h Fg(but)h(this)g(notation)f(is)h(misleading)i(b)q(ecause)e Fd(x)1167 220 y Fc(2)1203 236 y Fg(and)g(2)p Fd(x)f Fg(are)h(expressions)g (that)f(represen)o(t)0 332 y(n)o(um)o(b)q(ers.)20 b(W)l(e)15 b(really)i(mean)e(something)g(lik)o(e)748 484 y Fd(D)q Fg(\()p Fd(x)855 456 y Fb(f)843 484 y Fa(7!)e Fd(x)927 466 y Fc(2)947 484 y Fg(\))g(=)g(\()p Fd(y)1093 456 y Fb(g)1080 484 y Fa(7!)g Fg(2)p Fd(y)r Fg(\))0 637 y(\(I)h(ha)o(v)o(e)f(giv)o(en)h(the)g(function)h Fd(g)g Fg(a)e(di\013eren)o(t)h(formal)f(parameter)g(to)h(emphasize)g(that)g (this)g(form)o(ula)f(is)h(ab)q(out)g Fd(f)0 732 y Fg(and)h Fd(g)r Fg(,)g(not)f(ab)q(out)i Fd(x)f Fg(or)f Fd(y)r Fg(.\))20 b(If)c(w)o(e)e(w)o(an)o(t)h(to)f(represen)o(t)h(the)h(function)g Fd(D)g Fg(as)f(a)g(mac)o(hine,)g(it)h(can't)f(b)q(e)h(a)f(meat)0 828 y(grinder,)20 b(but)g(rather)e(a)h(\\metal)g(grinder")g(that)g(tak)o(es)f (meat)g(grinders|not)i(the)f(v)m(alues)i(output)d(b)o(y)i(meat)0 923 y(grinders,)f(but)f(the)g(mac)o(hines)g(themselv)o(es|in)i(its)e(input)h (funnel.)30 b(Although)18 b(w)o(e)g(are)f(still)j(understanding)0 1019 y(the)12 b Ff(higher-or)n(der)18 b Fg(function)13 b Fd(D)g Fg(as)f(a)g(pro)q(cess,)h(w)o(e)f(m)o(ust)f(no)o(w)h(understand)h(the)f (functions)h Fd(f)k Fg(and)c Fd(g)g Fg(as)f(ob)s(jects.)91 1117 y(In)j(Logo)f(programming)f(the)i(di\016cult)o(y)g(ab)q(out)g(function)g (as)f(ob)s(ject)f(\014rst)h(arises)h(in)g(using)g(the)f Fe(IF)g Fg(pro)q(ce-)0 1212 y(dure)i(for)e(conditional)j(execution.)k(In)16 b(the)f(instruction)0 1322 y Fe(IF)24 b(EQUALP)f(:VALUE)g(3)g([PRINT)g ("THREE])0 1434 y Fg(wh)o(y)16 b(are)h(there)f(brac)o(k)o(ets)g(around)h(the) g Fe(PRINT)e Fg(instruction)j(but)f(not)f(around)h(the)f Fe(EQUALP)g Fg(expression?)26 b(W)l(e)0 1530 y(tell)20 b(Logo)f(b)q(eginners)h(that)f (things)g(within)h(brac)o(k)o(ets)e(are)h(literal)h(text,)g(while)g(things)g (not)e(in)i(brac)o(k)o(ets)e(are)0 1625 y(requests)d(to)g(carry)f(out)h(pro)q (cedures:)0 1735 y Fe(?)24 b(PRINT)f([SUM)g(2)h(3])0 1790 y(SUM)f(2)h(3)0 1844 y(?)g(PRINT)f(SUM)g(2)h(3)0 1899 y(5)0 2011 y Fg(When)16 b(they)f(meet)g Fe(IF)p Fg(,)f(these)i(b)q(eginners)h(w)o(an)o(t)d(to)g(sa)o (y)0 2121 y Fe(IF)24 b(EQUALP)f(:VALUE)g(3)g(PRINT)h("THREE)109 b Fg(or)0 2176 y Fe(IF)24 b([EQUALP)e(:VALUE)i(3])f([PRINT)g("THREE])0 2288 y Fg(Although)c(this)f(presen)o(ts)g(itself)i(as)d(a)h(syn)o(tactic)g (question,)h(ab)q(out)g(brac)o(k)o(ets,)e(it's)h(really)h(a)f(problem)h(ab)q (out)0 2384 y(functions)d(as)g(ob)s(jects.)k Fe(IF)c Fg(is)g(a)f (higher-order)h(pro)q(cedure.)22 b(Its)16 b(\014rst)f(input)i(is)f Ff(not)k Fg(a)15 b(function,)h(but)g(rather)f(a)0 2479 y Fe(TRUE)d Fg(or)g Fe(FALSE)g Fg(v)m(alue.)20 b(But)12 b(its)h(second)g(input)h Ff(is)h Fg(a)d(function,)i(in)f(the)g(form)e(of)h(a)h(Logo)f(instruction.)20 b(The)12 b(\014rst)0 2575 y(incorrect)19 b(form)f(ab)q(o)o(v)o(e)f(w)o(ould)i (in)o(v)o(ok)o(e)g Fe(PRINT)p Fg(,)e(actually)i(prin)o(ting)g(the)g(w)o(ord)f Fe(THREE)p Fg(,)f(b)q(efore)i(in)o(v)o(oking)g Fe(IF)p Fg(.)0 2670 y(The)f(second)g(incorrect)g(form)e(w)o(ould)i(put)g(the)f(expression)i Fe(EQUALP)k(:VALUE)g(3)17 b Fg(in)i Fe(IF)p Fg('s)d(\014rst)h(input)i (funnel,)952 2779 y(11)p eop %%Page: 12 12 bop 0 45 a Fg(instead)16 b(of)f(supplying)j Fe(IF)d Fg(with)h(the)g(true)f (or)g(false)h(v)m(alue)h(that)e(results)h(from)e(in)o(v)o(oking)j Fe(EQUALP)p Fg(.)d(Sa)o(ying)i(the)0 141 y(same)c(thing)h(in)h(di\013eren)o (t)e(w)o(ords,)g(w)o(e)h(are)f(using)h Fe(EQUALP)f Fg(as)g(a)g (function-as-pro)q(cess,)i(but)f(w)o(e)f(are)g(using)i Fe(PRINT)0 236 y Fg(as)h(a)g(function-as-ob)s(ject.)91 337 y(This)22 b(di\016cult)o(y)h (arises)f(in)g(Logo)g(programming)f(b)q(ecause)h(Logo)f(treats)g Fe(IF)g Fg(as)h(a)f(pro)q(cedure)h(that)f(is)0 433 y(syn)o(tactically)16 b(lik)o(e)g(an)o(y)f(other.)k(It)c(requires)h(t)o(w)o(o)e(inputs,)h(a)g (true-false)g(v)m(alue)i(and)e(a)f(function.)21 b(But)15 b(the)g(idea)0 528 y(of)e(a)g(functional)h(ob)s(ject)f(is)h(so)f(hard)g(for)g(man)o(y)g(p)q (eople)h(to)f(learn)h(that)e(some)h(dialects)i(of)e(Logo)g(a)o(v)o(oid)g(the) g(issue)0 623 y(b)o(y)h(making)f Fe(IF)g Fg(a)h(sp)q(ecial)h(syn)o(tactic)f (construction,)f(unlik)o(e)j(ev)o(erything)e(else)g(in)h(the)e(language,)h (lo)q(oking)g(more)0 719 y(lik)o(e)i(the)g Fe(IF)e Fg(statemen)o(ts)h(of)f (other)h(languages:)0 830 y Fe(IF)24 b(EQUALP)f(:VALUE)g(3)g(THEN)h(PRINT)f ("THREE)0 946 y Fg(This)13 b(gets)f(past)f(the)i(immediate)g(h)o(urdle,)g (but)g(it)f(misses)h(the)f(c)o(hance)h(to)e(teac)o(h)h(a)g(v)m(aluable)i (lesson.)20 b(F)l(unctional)0 1041 y(ob)s(jects,)14 b(once)i(understo)q(o)q (d,)f(add)g(great)g(expressiv)o(e)h(p)q(o)o(w)o(er)e(to)h(a)g(language.)20 b(F)l(or)14 b(example,)i(w)o(e)f(can)g(write)g(in)0 1137 y(Logo)g(a)f (higher-order)i(function)g(called)h Fe(MAP)d Fg(that)h(applies)h(an)o(y)f (function)h(to)e(eac)o(h)i(of)e(the)h(elemen)o(ts)h(of)f(a)g(list:)0 1248 y Fe(?)24 b(SHOW)f(MAP)g("SQUARE)g([4)h(5)g(6)f(10])0 1302 y([16)g(25)h(36)g(100])0 1418 y Fg(\(The)17 b Fe(FOREACH)f Fg(pro)q(cedure)i(used)f(in)h(an)f(earlier)h(example)g(is)f(a)g(similar)h (higher-order)g(to)q(ol.\))25 b Fe(MAP)16 b Fg(p)q(erforms)0 1514 y(\\all)21 b(at)g(once")g(computations)f(that)g(w)o(ould)i(otherwise)f (require)g(some)g(sort)f(of)g(lo)q(oping)i(mec)o(hanism)g(with)0 1609 y(auxiliary)h(v)m(ariables.)40 b(But)22 b(wh)o(y)f(is)h(the)g(function)g (name)g Fe(SQUARE)f Fg(quoted?)39 b(Ordinarily)24 b(w)o(e)d(quote)h(data)0 1705 y(w)o(ords,)15 b(not)h(pro)q(cedures.)24 b(This)17 b(is)g(exactly)f(the) h(same)f(issue)h(that)e Fe(IF)h Fg(raised;)h(the)g(\014rst)e(input)j(to)d Fe(MAP)h Fg(is)h(the)0 1800 y Fe(SQUARE)d Fg(function)i(itself,)f(not)g(the)f (result)i(of)e(squaring)h(something.)20 b(The)15 b(particular)h(details)g(of) e(punctuation)0 1896 y(are)j(sp)q(eci\014c)i(to)e(Logo,)g(but)g(an)o(y)g (language)h(that)e(allo)o(ws)i(higher-order)g(functions)g(needs)g(some)f (notation)g(to)0 1991 y(distinguish)d(the)f(in)o(v)o(o)q(cation)g(of)f(a)g (pro)q(cedure)h(\(the)f(use)h(of)f(a)g(function)h(as)f(pro)q(cess\))h(from)e (the)i(pro)q(cedure)g(itself)0 2087 y(\(function)j(as)f(ob)s(ject\).)91 2187 y(The)c(same)g(broad)g(issue)g(comes)g(up)h(di\013eren)o(tly)g(in)f (studying)h(compilers.)20 b(Here)11 b(the)g(problem)h(has)e(nothing)0 2283 y(to)h(do)g(with)h(syn)o(tax.)18 b(It)12 b(presen)o(ts)f(itself)i(v)o (ery)e(directly:)20 b(W)l(e)11 b(are)h(w)o(orking)f(with)h(some)f(pro)q (cedures,)i(the)e(ones)h(in)0 2378 y(the)k(compiler)g(itself,)g(that)f(w)o(e) g(think)h(of)f(purely)i(as)e(pro)q(cess.)21 b(Other)15 b(pro)q(cedures,)h (the)g(ones)f(in)i(the)e(program)0 2474 y(that)j(is)i(b)q(eing)h(compiled,)g (m)o(ust)e(b)q(e)h(considered)g(as)f(ob)s(jects)f(during)j(the)e(compilation) h(pro)q(cess,)g(but)g(then)0 2569 y(m)o(ysteriously)c(represen)o(t)f(a)g(pro) q(cess)g(when)h(the)f(compiled)i(program)d(is)i(executed.)91 2670 y(Higher-order)c(functions)f(are)g(to)q(ols)g(whose)g(usefulness)h(is)g (to)q(o)e(great)g(to)h(pass)f(up,)i(and)f(y)o(et)g(our)g(exp)q(erience)952 2779 y(12)p eop %%Page: 13 13 bop 0 45 a Fg(with)13 b(the)f(IFSMA)o(CSE)g(participan)o(ts)h(sho)o(ws)f (that)f(the)i(underlying)h(ideas)f(are)f(surprisingly)i(di\016cult)g(to)e (learn.)0 141 y(W)l(e)f(kno)o(w)f(some)h(w)o(a)o(ys)e(to)h(b)q(egin;)j(for)e (example,)h(turtle)f(graphics)g(pro)s(jects)f(can)h(mak)o(e)f(the)h(issue)g (more)g(concrete)0 236 y([Zazkis)k(and)g(Leron,)h(1990].)i(This)e(is)f(an)h (ongoing)f(area)f(of)h(researc)o(h)g(among)g(the)g(IFSMA)o(CSE)g(facult)o(y)l (.)0 366 y Fh(Educational)20 b(Mythology)e(v)o(ersus)d(Exp)q(erience)91 466 y Fg(The)e(\014nal)g(topic)g(in)h(the)e(Adv)m(anced)i(T)l(opics)g(course) e(is)h(arti\014cial)h(in)o(telligence.)22 b(I)13 b(ga)o(v)o(e)f(the)g (participan)o(ts)h(a)0 561 y(program)g(called)i(Studen)o(t)f(to)f(in)o(v)o (estigate.)20 b(This)14 b(program,)f(m)o(y)g(translation)h(in)o(to)g(Logo)f (of)g(Daniel)i(Bobro)o(w's)0 657 y(original)20 b(1964)e(Lisp)i(v)o(ersion,)g (solv)o(es)g(algebra)f(w)o(ord)f(problems)i(b)o(y)f(using)h(pattern)e(matc)o (hing)h(to)g(turn)g(the)0 752 y(English)c(sen)o(tences)g(in)o(to)f (equations.)20 b(The)14 b(program,)f(t)o(ypical)i(of)f(AI)g(pro)s(jects)g (bac)o(k)g(then,)g(solv)o(es)g(an)g(impres-)0 848 y(siv)o(e)i(v)m(ariet)o(y)g (of)f(problems)i(but)f(also)f(fails)i(on)f(an)f(ev)o(en)h(wider)h(v)m(ariet)o (y)l(.)22 b(It)15 b(\\understands")h(certain)g(sen)o(tence)0 943 y(structures)i(but)g(not)f(others.)28 b(I)18 b(had)g(ask)o(ed)g(the)g (participan)o(ts)g(to)g(try)f(out)h(problems)g(of)g(their)g(o)o(wn.)28 b(If)18 b(the)0 1039 y(program)d(failed)i(to)e(solv)o(e)g(a)h(problem,)g(I)g (ask)o(ed)g(them)f(to)g(try)g(to)g(\014gure)h(out)g(ho)o(w)f(the)h(program)e (w)o(ould)i(ha)o(v)o(e)0 1134 y(to)f(b)q(e)i(mo)q(di\014ed)g(to)e(succeed.)23 b(In)17 b(retrosp)q(ect,)e(this)h(w)o(as)f(to)q(o)g(hard)h(an)g(assignmen)o (t,)g(b)q(ecause)g(Studen)o(t)h(has)e(a)0 1230 y(v)o(ery)g(complicated)h (structure)f(and)h(a)f(w)o(eek)g(w)o(as)f(to)q(o)h(short)f(a)h(time)h(to)e (allo)o(w)i(its)f(exploration.)91 1329 y(On)j(the)g(next-to-last)f(da)o(y)h (of)f(the)g(Institute,)i(a)e(few)h(of)f(the)h(participan)o(ts)g(w)o(ere)f(w)o (orking)g(on)h(Studen)o(t,)0 1425 y(others)f(w)o(ere)h(doing)g(their)g(P)o (ascal)g(homew)o(ork,)f(and)h(others)f(w)o(ere)g(ha)o(ving)h(con)o(v)o (ersations.)27 b(A)o(t)17 b(one)h(p)q(oin)o(t)g(a)0 1520 y(few)c(of)g(the)h (side)g(con)o(v)o(ersations)f(got)g(quite)h(b)q(oisterous,)f(creating)h(an)f (atmosphere)g(in)i(whic)o(h)f(it)g(w)o(as)e(hard)i(for)0 1616 y(an)o(y)o(one)h(to)f(w)o(ork.)22 b(I)16 b(got)f(angry)h(and)g(let)g(the)h (participan)o(ts)f(kno)o(w)g(it,)g(in)o(viting)h(those)f(who)g(w)o(eren't)f (w)o(orking)0 1711 y(to)g(lea)o(v)o(e)g(but)g(insisting)i(that)e(they)g(not)g (prev)o(en)o(t)g(others)f(from)h(w)o(orking.)91 1811 y(The)h(next)g(da)o(y)l (,)g(i.e.,)f(the)i(last)e(da)o(y)h(of)f(the)h(Institute,)h(P)o(aul)f(Golden)o (b)q(erg)h(in)o(vited)g(me)f(to)f(visit)i(his)g(class)0 1906 y(session)d(with)g(the)f(\014rst-y)o(ear)g(participan)o(ts.)20 b(They)14 b(had)f(had)h(a)f(discussion)i(ab)q(out)f(grades,)f(and)h(he)f(w)o (as)g(ab)q(out)0 2002 y(to)f(hand)h(out)g(a)f(p)q(osition)i(pap)q(er)f(he'd)g (written)g(o)o(v)o(ernigh)o(t)f(on)h(the)f(sub)s(ject.)19 b(\(Of)13 b(course)g(w)o(e)f(don't)g(giv)o(e)h(grades)0 2097 y(at)h(IFSMA)o(CSE,)g(and) g(the)h(participan)o(ts)g(all)g(agree)g(that)e(it)i(w)o(ould)g(ruin)g(the)g (exp)q(erience)i(for)d(them)g(if)h(w)o(e)f(did,)0 2193 y(but)19 b(man)o(y)g(feel)h(that)e(high)i(sc)o(ho)q(ol)f(studen)o(ts)g(are)g (di\013eren)o(t)g(from)f(themselv)o(es)i(and)f(need)h(grades.\))30 b(P)o(aul's)0 2288 y(pap)q(er)15 b(suggested)g(some)f(w)o(a)o(ys)g(in)h(whic) o(h)h(grades)e(can)h(b)q(e)g(giv)o(en)g(to)f(reduce)i(their)f(harmfulness)g (and,)g(in)g(some)0 2384 y(cases,)i(ev)o(en)h(allo)o(w)g(grades)f(to)f(con)o (tribute)i(to)f(the)g(learning)i(pro)q(cess.)27 b(He)17 b(though)o(t)g(that)g (I)g(w)o(ould)h(consider)0 2479 y(this)13 b(\\a)e(sellout")i(\(his)g(w)o (ords\))e(and)i(w)o(an)o(ted)e(me)i(to)e(presen)o(t)i(m)o(y)e(o)o(wn)h (views.)20 b(What)11 b(I)i(said,)g(in)g(brief,)g(w)o(as)f(that)0 2575 y(dealing)17 b(with)f(grades)f(is)h(just)g(lik)o(e)h(an)o(y)e(other)g (tension)i(b)q(et)o(w)o(een)f(reform)e(and)i(rev)o(olution,)g(and)g(that)f(I) h(think)0 2670 y(reforms)g(are)h(\014ne,)h(and)g(ev)o(en)f(necessary)l(,)h (as)e(long)i(as)f(w)o(e)g(design)h(our)f(reforms)f(while)j(k)o(eeping)f(in)g (mind)g(the)952 2779 y(13)p eop %%Page: 14 14 bop 0 45 a Fg(rev)o(olution)14 b(that)e(w)o(e)h Ff(r)n(e)n(al)r(ly)k Fg(w)o(an)o(t.)h(\(I)13 b(don't)g(exp)q(ect)h(that)f(sen)o(tence)h(to)e(b)q (e)i(con)o(vincing;)h(the)f(argumen)o(t)e(ab)q(out)0 141 y(reform)i(and)i (rev)o(olution)g(isn't)f(the)g(p)q(oin)o(t)h(I)f(w)o(an)o(t)g(to)f(mak)o(e)h (here,)g(but)g(rather)g(part)g(of)f(the)i(bac)o(kground.\))91 242 y(A)o(t)e(this)h(p)q(oin)o(t)g(one)g(of)f(the)g(participan)o(ts)h(said)g (to)f(me,)h(\\Don't)e(y)o(ou)h(think)h(that)f(if)h(y)o(ou)g(ga)o(v)o(e)e (grades)h(y)o(ou)0 337 y(w)o(ouldn't)h(ha)o(v)o(e)g(had)g(that)g(trouble)g (with)h(the)f(second-y)o(ear)h(participan)o(ts)f(y)o(esterda)o(y?")91 438 y(After)e(getting)h(o)o(v)o(er)f(m)o(y)h(\(naiv)o(e\))f(surprise)i(that)e (this)i(story)e(had)h(reac)o(hed)g(the)g(IFSMA)o(CSE)g(gossip)g(mill,)0 533 y(I)i(ga)o(v)o(e)f(t)o(w)o(o)g(replies.)23 b(The)16 b(\014rst)g(w)o(as)f (that)g(ev)o(en)h(if)h(I)f(could)h(ha)o(v)o(e)e(\\main)o(tained)i (discipline")i(b)o(y)d(force,)f(whic)o(h)0 629 y(is)20 b(what)f(she)g(w)o(as) g(suggesting,)h(the)f(cost)g(w)o(ould)h(b)q(e)g(to)q(o)e(great.)32 b(I)20 b(w)o(ouldn't)f(trade)g(six)h(w)o(eeks)f(of)g(fearless)0 724 y(exploration)d(of)g(di\016cult)h(ideas)g(for)e(one)h(da)o(y)g(of)f (decorum.)22 b(My)16 b(second)g(reply)h(w)o(as)e(a)g(question:)22 b(\\Ha)o(v)o(e)15 b(y)o(ou)0 820 y(ev)o(er)g(taugh)o(t)f(seniors?")91 920 y(\\Y)l(es.")91 1021 y(\\Do)g(y)o(ou)h(giv)o(e)h(them)f(grades?")91 1122 y(\\Y)l(es.")91 1222 y(\\Do)f(the)i(grades)e(prev)o(en)o(t)h(them)g (from)g(ha)o(ving)g(senioritis)i(on)e(the)g(next-to-last)g(da)o(y?")91 1323 y(\\Are)g(y)o(ou)g(kidding?)22 b(They)16 b(get)e(senioritis)j(in)f(No)o (v)o(em)o(b)q(er!")91 1424 y(This)21 b(participan)o(t)f Ff(knows)k Fg(that)19 b(y)o(ou)h(can't)g(main)o(tain)g(order)g(in)h(a)f(classro)q(om)g (b)o(y)g(using)h(grades)f(as)f(a)0 1519 y(w)o(eap)q(on,)13 b(from)g(her)h(o)o(wn)f(teac)o(hing)h(exp)q(erience.)21 b(She)14 b Ff(knows)j Fg(that)c(she)g(herself,)i(at)e(IFSMA)o(CSE,)g(w)o(orks)f(hard)0 1615 y(and)19 b(learns)g(rapidly)h(and)f(deeply)h(in)g(an)f(atmosphere)f (without)h(grades,)g(and)g(that)f(if)h(w)o(e)f(ga)o(v)o(e)g(grades)h(she)0 1710 y(w)o(ould)13 b(b)q(e)h(more)e(afraid)h(to)f(c)o(hallenge)i(herself.)20 b(But)13 b(she)g(also)g(\\kno)o(ws")e(that)h(studen)o(ts)h(w)o(on't)e(learn)j (an)o(ything)0 1806 y(if)20 b(y)o(ou)e(don't)h(force)g(them)g(to.)31 b(That)18 b(last)h(bit)h(of)f(kno)o(wledge)g(do)q(es)h Ff(not)j Fg(come)c(from)f(her)i(exp)q(erience;)j(she)0 1901 y(learned)16 b(it)g(from)e(gossip)h(in)h(the)g(sta\013)e(ro)q(om,)g(or)h(during)h(her)f (training,)h(or)e(from)h(the)g(newspap)q(er.)91 2002 y(In)23 b(designing)h(IFSMA)o(CSE)e(w)o(e)g(knew)h(from)e(the)i(b)q(eginning)h(that)e (the)h(tec)o(hnical)g(con)o(ten)o(t)f(and)h(the)0 2097 y(p)q(edagogic)18 b(con)o(ten)o(t)e(w)o(ere)h(equally)h(imp)q(ortan)o(t.)25 b(Just)17 b(as)f(w)o(e)h(teac)o(h)g(the)g(tec)o(hnical)h(ideas)g(not)e(b)o(y)h (lecturing,)0 2193 y(but)c(b)o(y)g(participan)o(t)h(exploration,)g(w)o(e)f (also)g(feel)h(that)e(w)o(e)h(can)g(teac)o(h)g(our)g(p)q(edagogic)h(ideas)g (b)q(est)f(b)o(y)g(example.)0 2288 y(Still,)19 b(w)o(e)f(\014nd)g(that)e (it's)i(imp)q(ortan)o(t)f(to)f(mak)o(e)h(explicit,)j(rep)q(eatedly)l(,)f (that)e(w)o(e)g(are)g(mo)q(deling)i(an)e(approac)o(h)0 2384 y(to)d(teac)o(hing)g(and)h(learning)g(that)f(will)h(w)o(ork)f(for)f(the)i (participan)o(ts)f(and)h(their)f(o)o(wn)g(studen)o(ts.)20 b(Man)o(y)13 b(of)h(them)0 2479 y(\014nd)k(our)g(metho)q(ds)f(congenial,)i(but)f(man)o(y)f (are)g(v)o(ery)g(reluctan)o(t)h(to)f(apply)h(their)g(o)o(wn)f(observ)m(ation) h(of)f(their)0 2575 y(o)o(wn)f(learning)j(to)d(the)h(situation)g(at)g(home.) 25 b(This)18 b(fear|a)e(strong)g(w)o(ord,)h(but)g(appropriate|is)h(another)e (of)0 2670 y(the)f(di\016culties)j(with)d(whic)o(h)h(w)o(e)f(are)g(still)i (struggling)e(at)g(IFSMA)o(CSE.)952 2779 y(14)p eop %%Page: 15 15 bop 0 45 a Fh(Ac)o(kno)o(wledgmen)o(ts)91 141 y Fg(The)13 b(IFSMA)o(CSE)g (facult)o(y)f(are)h(all)h(profound)f(think)o(ers)g(ab)q(out)f(b)q(oth)h (education)h(and)f(mathematics,)g(and)0 236 y(m)o(y)g(w)o(ork)f(with)i(them)f (has)g(b)q(een)h(a)f(terri\014c)h(in)o(tellectual)i(stim)o(ulation.)k(The)13 b(p)q(eople)i(whose)e(insigh)o(ts)h(are)f(most)0 332 y(visible)k(in)f(this)g (pap)q(er)g(are)f(Al)g(Cuo)q(co,)g(Ed)h(Dubinsky)l(,)g(P)o(aul)f(Golden)o(b)q (erg,)h(and)f(Uri)h(Leron.)0 455 y Fh(Bibliograph)o(y)0 541 y Fg(Ab)q(elson,)k(Harold,)e(and)h(Gerald)g(Ja)o(y)f(Sussman.)g Ff(Structur)n(e)i(and)g(Interpr)n(etation)e(of)i(Computer)g(Pr)n(o)n(gr)n (ams)p Fg(,)91 595 y(MIT)15 b(Press,)g(1985.)0 682 y(Akl,)g(Selim.)i Ff(Par)n(al)r(lel)e(Sorting)h(A)o(lgorithms)p Fg(,)e(Academic)j(Press,)d (1985.)0 768 y(Akl,)h(Selim.)i Ff(The)f(Design)f(and)i(A)o(nalysis)d(of)i (Par)n(al)r(lel)g(A)o(lgorithms)p Fg(,)e(Pren)o(tice)i(Hall,)g(1989.)0 855 y(Akl,)f(Selim.)i Ff(Par)n(al)r(lel)e(Computational)i(Ge)n(ometry)p Fg(,)e(Pren)o(tice)h(Hall,)g(1992.)0 941 y(Dubinsky)l(,)g(Ed.)e (\\Constructiv)o(e)h(Asp)q(ects)g(of)g(Re\015ectiv)o(e)h(Abstraction)f(in)h (Adv)m(anced)g(Mathematical)f(Think-)91 995 y(ing,")g(in)h(L.)f(P)l(.)g (Ste\013e)g(\(ed.\),)g Ff(Epistemolo)n(gic)n(al)g(F)m(oundations)g(of)i (Mathematic)n(al)f(Exp)n(erienc)n(e)p Fg(,)e(Springer-)91 1050 y(V)l(erlag,)h(1991.)0 1136 y(Golden)o(b)q(erg,)g(E.)g(P)o(aul.)g Ff(Sp)n(e)n(cial)g(T)m(e)n(chnolo)n(gy)g(for)h(Sp)n(e)n(cial)f(Childr)n(en)p Fg(,)f(Univ)o(ersit)o(y)i(P)o(ark)e(Press,)h(1979.)0 1223 y(Golden)o(b)q (erg,)f(E.)f(P)o(aul,)g(Susan)h(Jo)g(Russell,)h(Cyn)o(thia)e(J.)h(Carter,)e (et)h(al.)h Ff(Computers,)h(Educ)n(ation)g(and)f(Sp)n(e)n(cial)91 1277 y(Ne)n(e)n(ds)p Fg(,)f(Addison-W)l(esley)l(,)18 b(1984.)0 1364 y(Golden)o(b)q(erg,)d(E.)g(P)o(aul,)g(and)h(W)l(allace)g(F)l(eurzeig.)g Ff(Exploring)f(L)n(anguage)h(with)h(L)n(o)n(go)p Fg(,)d(MIT)h(Press,)f(1987.) 0 1450 y(Golden)o(b)q(erg,)h(E.)e(P)o(aul.)h(\\Seeing)i(Beaut)o(y)e(in)h (Mathematics:)e(Using)i(F)l(ractal)f(Geometry)f(to)h(Build)i(a)e(Spirit)h(of) 91 1505 y(Mathematical)g(Inquiry)l(,")h Ff(Journal)g(of)h(Mathematic)n(al)f (Behavior)p Fg(,)g Fh(8)p Fg(,)f(169{204,)d(1989.)0 1591 y(Harv)o(ey)l(,)19 b(Brian.)h Ff(Computer)h(Scienc)n(e)e(L)n(o)n(go)h(Style,)g(volume)h(1:)f (Interme)n(diate)g(Pr)n(o)n(gr)n(amming)p Fg(,)f(MIT)h(Press,)91 1645 y(1985.)0 1732 y(Harv)o(ey)l(,)15 b(Brian.)g Ff(Computer)i(Scienc)n(e)e (L)n(o)n(go)g(Style,)g(volume)i(3:)f(A)n(dvanc)n(e)n(d)f(T)m(opics)p Fg(,)f(MIT)h(Press,)g(1987.)0 1818 y(Harv)o(ey)l(,)f(Brian.)g(\\Sym)o(b)q (olic)i(Programming)d(vs.)h(the)h(A.P)l(.)e(Curriculum,")j Ff(The)f(Computing)g(T)m(e)n(acher)p Fg(,)e Fh(18)p Fg(,)i(5,)91 1873 y(F)l(ebruary)l(,)g(1991.)0 1959 y(Zazkis,)h(Rina,)g(and)g(Uri)g(Leron.) g(\\Implemen)o(ting)h(P)o(o)o(w)o(erful)e(Ideas|The)i(Case)f(of)f(R)o(UN",)h Ff(L)n(o)n(go)g(Exchange)p Fg(,)91 2014 y Fh(8)p Fg(,)f(8,)f(April,)j(1990.) 952 2779 y(15)p eop %%Trailer end userdict /end-hook known{end-hook}if %%EOF