%!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
D<C0C0C0C0C0C0C0E0E0C0C0C0C0C0C0C003107D9200>55 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 D<FFFC00FFFF00FFFF801C03C01C01C01C00E01C00E01C00E0
1C00E01C01E01C01C01C07C01FFF801FFF001FFFC01C03C01C00E01C00F01C00701C00701C0070
1C00701C00F01C00E01C03E0FFFFC0FFFF80FFFE00141C7F9B18>I<00F8E003FEE007FFE00F07
E01E03E03C01E03800E07000E07000E0700000E00000E00000E00000E00000E00000E00000E000
00E000007000007000E07000E03800E03C00E01E01C00F07C007FF8003FE0000F800131C7E9B18
>I<7FF800FFFE007FFF001C0F801C03C01C03C01C01E01C00E01C00E01C00F01C00701C00701C
00701C00701C00701C00701C00701C00701C00F01C00E01C00E01C01E01C01C01C03C01C0F807F
FF00FFFE007FF800141C7F9B18>I<FFFFF0FFFFF0FFFFF01C00701C00701C00701C00701C0000
1C00001C0E001C0E001C0E001FFE001FFE001FFE001C0E001C0E001C0E001C00001C00001C0038
1C00381C00381C00381C0038FFFFF8FFFFF8FFFFF8151C7F9B18>I<FFFFE0FFFFE0FFFFE01C00
E01C00E01C00E01C00E01C00001C00001C1C001C1C001C1C001FFC001FFC001FFC001C1C001C1C
001C1C001C00001C00001C00001C00001C00001C00001C0000FFC000FFC000FFC000131C7E9B18
>I<01F1C003FDC00FFFC01F0FC01C03C03803C03801C07001C07001C0700000E00000E00000E0
0000E00000E00000E00FF0E01FF0E00FF07001C07001C07003C03803C03803C01C07C01F0FC00F
FFC003FDC001F1C0141C7E9B18>I<7F07F0FF8FF87F07F01C01C01C01C01C01C01C01C01C01C0
1C01C01C01C01C01C01C01C01FFFC01FFFC01FFFC01C01C01C01C01C01C01C01C01C01C01C01C0
1C01C01C01C01C01C01C01C07F07F0FF8FF87F07F0151C7F9B18>I<7FFF00FFFF807FFF0001C0
0001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C0
0001C00001C00001C00001C00001C00001C00001C00001C0007FFF00FFFF807FFF00111C7D9B18
>I<7FE000FFE0007FE0000E00000E00000E00000E00000E00000E00000E00000E00000E00000E
00000E00000E00000E00000E00000E00000E00000E00000E00700E00700E00700E00700E00707F
FFF0FFFFF07FFFF0141C7F9B18>76 D<FC01F8FE03F8FE03F83B06E03B06E03B06E03B06E03B8E
E03B8EE0398CE0398CE039DCE039DCE039DCE038D8E038D8E038F8E03870E03870E03800E03800
E03800E03800E03800E03800E0FE03F8FE03F8FE03F8151C7F9B18>I<7E07F0FF0FF87F07F01D
81C01D81C01D81C01DC1C01CC1C01CC1C01CE1C01CE1C01CE1C01C61C01C71C01C71C01C31C01C
39C01C39C01C39C01C19C01C19C01C1DC01C0DC01C0DC01C0DC07F07C0FF87C07F03C0151C7F9B
18>I<0FF8003FFE007FFF00780F00700700F00780E00380E00380E00380E00380E00380E00380
E00380E00380E00380E00380E00380E00380E00380E00380E00380E00380F00780700700780F00
7FFF003FFE000FF800111C7D9B18>I<FFFE00FFFF80FFFFC01C03C01C01E01C00E01C00701C00
701C00701C00701C00701C00E01C01E01C03C01FFFC01FFF801FFE001C00001C00001C00001C00
001C00001C00001C00001C0000FF8000FF8000FF8000141C7F9B18>I<0FF8003FFE007FFF0078
0F00700700F00780E00380E00380E00380E00380E00380E00380E00380E00380E00380E00380E0
0380E00380E00380E00380E1E380E1E380F0E78070F700787F007FFF003FFE000FFC00001C0000
1E00000E00000F0000070000070011227D9B18>I<7FF800FFFE007FFF001C0F801C03801C03C0
1C01C01C01C01C01C01C03C01C03801C0F801FFF001FFE001FFE001C0F001C07001C03801C0380
1C03801C03801C03801C039C1C039C1C039C7F01F8FF81F87F00F0161C7F9B18>I<03F3801FFF
803FFF807C0F80700780E00380E00380E00380E000007000007800003F00001FF00007FE0000FF
00000F800003C00001C00000E00000E06000E0E000E0E001E0F001C0F80780FFFF80FFFE00E7F8
00131C7E9B18>I<7FFFF8FFFFF8FFFFF8E07038E07038E07038E0703800700000700000700000
700000700000700000700000700000700000700000700000700000700000700000700000700000
700000700007FF0007FF0007FF00151C7F9B18>I<FF83FEFF83FEFF83FE1C00701C00701C0070
1C00701C00701C00701C00701C00701C00701C00701C00701C00701C00701C00701C00701C0070
1C00701C00701C00700E00E00F01E00783C003FF8001FF00007C00171C809B18>I<FF07F8FF07
F8FF07F81C01C01C01C01C01C01C01C00E03800E03800E03800E03800F07800707000707000707
00070700038E00038E00038E00038E00018C0001DC0001DC0001DC0000D80000F80000F8000070
00151C7F9B18>I<FE03F8FE03F8FE03F87000707000707000703800E03800E03800E03800E038
00E038F8E038F8E039DCE039DCE019DCC019DCC019DCC0198CC01D8DC01D8DC01D8DC01D8DC00D
8D800D05800F07800F07800E0380151C7F9B18>I<FF07F8FF07F8FF07F81C01C01E03C00E0380
0F0780070700070700038E00038E0001DC0001DC0001DC0000F80000F800007000007000007000
00700000700000700000700000700000700001FC0003FE0001FC00151C7F9B18>89
D<FFF8FFF8FFF8E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000
E000E000E000E000E000E000E000E000E000E000E000E000E000E000FFF8FFF8FFF80D24779F18
>91 D<FFF8FFF8FFF8003800380038003800380038003800380038003800380038003800380038
003800380038003800380038003800380038003800380038003800380038FFF8FFF8FFF80D247F
9F18>93 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 D<FFC0FFC00A027F8A0F>I<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 D<FFFFE0000F80380007801E
0007801F0007800F0007800F8007800F8007800F8007800F8007800F8007800F0007801F000780
1E0007803C0007FFF00007803C0007801E0007800F0007800F8007800780078007C0078007C007
8007C0078007C0078007C00780078007800F8007800F0007801F000F803C00FFFFF0001A1F7E9E
20>I<000FC040007030C001C009C0038005C0070003C00E0001C01E0000C01C0000C03C0000C0
7C0000407C00004078000040F8000000F8000000F8000000F8000000F8000000F8000000F80000
00F8000000F8000000780000007C0000407C0000403C0000401C0000401E0000800E0000800700
01000380020001C0040000703800000FC0001A217D9F21>I<FFFFE0000F803C0007801E000780
070007800380078003C0078001E0078001E0078001F0078000F0078000F0078000F8078000F807
8000F8078000F8078000F8078000F8078000F8078000F8078000F8078000F0078000F0078000F0
078001E0078001E0078003C0078003800780070007800E000F803C00FFFFE0001D1F7E9E23>I<
FFFFFF000F800F0007800300078003000780010007800180078000800780008007800080078080
800780800007808000078080000781800007FF8000078180000780800007808000078080000780
8000078000200780002007800020078000400780004007800040078000C0078000C0078001800F
800F80FFFFFF801B1F7E9E1F>I<FFFFFF000F800F000780030007800300078001000780018007
800080078000800780008007800080078080000780800007808000078080000781800007FF8000
078180000780800007808000078080000780800007800000078000000780000007800000078000
000780000007800000078000000FC00000FFFE0000191F7E9E1E>I<000FE0200078186000E004
E0038002E0070001E00F0000E01E0000601E0000603C0000603C0000207C00002078000020F800
0000F8000000F8000000F8000000F8000000F8000000F8000000F8007FFCF80003E0780001E07C
0001E03C0001E03C0001E01E0001E01E0001E00F0001E0070001E0038002E000E0046000781820
000FE0001E217D9F24>I<FFF8FFF80F800F8007800F0007800F0007800F0007800F0007800F00
07800F0007800F0007800F0007800F0007800F0007800F0007800F0007FFFF0007800F0007800F
0007800F0007800F0007800F0007800F0007800F0007800F0007800F0007800F0007800F000780
0F0007800F0007800F000F800F80FFF8FFF81D1F7E9E22>I<FFFC0FC007800780078007800780
078007800780078007800780078007800780078007800780078007800780078007800780078007
80078007800FC0FFFC0E1F7F9E10>I<0FFFC0007C00003C00003C00003C00003C00003C00003C
00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C
00003C00003C00203C00F83C00F83C00F83C00F0380040780040700030E0000F800012207E9E17
>I<FFFC0FFC0FC003E00780018007800100078002000780040007800800078010000780200007
80400007808000078100000783000007878000078F80000793C0000791E00007A1E00007C0F000
0780F0000780780007803C0007803C0007801E0007801E0007800F000780078007800780078007
C00FC007E0FFFC3FFC1E1F7E9E23>I<FFFE000FC0000780000780000780000780000780000780
000780000780000780000780000780000780000780000780000780000780000780000780000780
0207800207800207800207800607800407800407800C07801C0F807CFFFFFC171F7E9E1C>I<FF
80001FF80F80001F800780001F0005C0002F0005C0002F0005C0002F0004E0004F0004E0004F00
0470008F000470008F000470008F000438010F000438010F000438010F00041C020F00041C020F
00041C020F00040E040F00040E040F00040E040F000407080F000407080F000407080F00040390
0F000403900F000401E00F000401E00F000401E00F000E00C00F001F00C01F80FFE0C1FFF8251F
7E9E2A>I<FF803FF807C007C007C0038005E0010005E0010004F001000478010004780100043C
0100043C0100041E0100040F0100040F010004078100040781000403C1000401E1000401E10004
00F1000400F1000400790004003D0004003D0004001F0004001F0004000F000400070004000700
0E0003001F000300FFE001001D1F7E9E22>I<001F800000F0F00001C0380007801E000F000F00
0E0007001E0007803C0003C03C0003C07C0003E0780001E0780001E0F80001F0F80001F0F80001
F0F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0780001E07C0003E07C0003E03C00
03C03C0003C01E0007800E0007000F000F0007801E0001C0380000F0F000001F80001C217D9F23
>I<FFFFE0000F80780007801C0007801E0007800F0007800F8007800F8007800F8007800F8007
800F8007800F8007800F0007801E0007801C000780780007FFE000078000000780000007800000
078000000780000007800000078000000780000007800000078000000780000007800000078000
000FC00000FFFC0000191F7E9E1F>I<001F800000F0F00001C0380007801E000F000F000E0007
001E0007803C0003C03C0003C07C0003E07C0003E0780001E0F80001F0F80001F0F80001F0F800
01F0F80001F0F80001F0F80001F0F80001F0F80001F0780001E0780001E07C0003E03C0003C03C
0F03C01E1087800E2047000F204F0007A03E0001E0380000F0F010001FB0100000301000003830
0000387000003FF000001FE000001FE000000FC0000007801C297D9F23>I<FFFF80000F80F000
0780780007803C0007801E0007801E0007801F0007801F0007801F0007801F0007801E0007801E
0007803C00078078000780F00007FF80000781C0000780E0000780F00007807000078078000780
78000780780007807C0007807C0007807C0007807C0407807E0407803E040FC01E08FFFC0F1000
0003E01E207E9E21>I<07E0800C1980100780300380600180600180E00180E00080E00080E000
80F00000F000007800007F00003FF0001FFC000FFE0003FF00001F800007800003C00003C00001
C08001C08001C08001C08001C0C00180C00380E00300F00600CE0C0081F80012217D9F19>I<7F
FFFFE0780F01E0600F0060400F0020400F0020C00F0030800F0010800F0010800F0010800F0010
000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F00
00000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000001F
800007FFFE001C1F7E9E21>I<FFFC3FF80FC007C0078003800780010007800100078001000780
010007800100078001000780010007800100078001000780010007800100078001000780010007
800100078001000780010007800100078001000780010007800100078001000380020003800200
01C0020001C0040000E008000070180000382000000FC0001D207E9E22>I<FFF003FE1F8000F8
0F0000600F800060078000400780004003C0008003C0008003C0008001E0010001E0010001F001
0000F0020000F0020000F806000078040000780400003C0800003C0800003C0800001E1000001E
1000001F3000000F2000000F20000007C0000007C0000007C00000038000000380000003800000
0100001F207F9E22>I<FFF07FF81FF01F800FC007C00F00078003800F00078001000F0007C001
00078007C00200078007C00200078007C0020003C009E0040003C009E0040003C009E0040003E0
10F00C0001E010F0080001E010F0080001F02078080000F02078100000F02078100000F0403C10
000078403C20000078403C20000078C03E2000003C801E4000003C801E4000003C801E4000001F
000F8000001F000F8000001F000F8000001E00078000000E00070000000E00070000000C000300
000004000200002C207F9E2F>I<FFF003FF1F8000F80F8000600780004007C0004003E0008001
E0008001F0010000F0030000F80200007C0400003C0400003E0800001E0800001F1000000FB000
0007A0000007C0000003C0000003C0000003C0000003C0000003C0000003C0000003C0000003C0
000003C0000003C0000003C0000007C000007FFE00201F7F9E22>89 D<7FFFF87C00F87000F060
01E04001E0C003C0C003C0800780800F80800F00001E00001E00003C00003C0000780000F80000
F00001E00001E00003C00403C0040780040F80040F000C1E000C1E00083C00183C0018780038F8
01F8FFFFF8161F7D9E1C>I<FEFEC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0
C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0FEFE072D7CA10D>I<0804100820102010402040208040
80408040B85CFC7EFC7E7C3E381C0F0E7B9F17>I<FEFE06060606060606060606060606060606
06060606060606060606060606060606060606060606060606FEFE072D7FA10D>I<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
>I<FF83F81E01E01C00C00E00800E00800E008007010007010003820003820003820001C40001
C40001EC0000E80000E80000700000700000700000200015147F9318>I<FF9FE1FC3C0780701C
0300601C0380200E0380400E0380400E03C0400707C0800704C0800704E0800388610003887100
03C8730001D0320001D03A0000F03C0000E01C0000E01C0000601800004008001E147F9321>I<
7FC3FC0F01E00701C007018003810001C20000E40000EC00007800003800003C00007C00004E00
0087000107000303800201C00601E01E01E0FF07FE1714809318>I<FF83F81E01E01C00C00E00
800E00800E008007010007010003820003820003820001C40001C40001EC0000E80000E8000070
00007000007000002000002000004000004000004000F08000F08000F100006200003C0000151D
7F9318>I<3FFF380E200E201C40384078407000E001E001C00380078007010E011E011C033802
7006700EFFFE10147F9314>I<FFFFFC1601808C17>I<FFFFFFFFFFF02C01808C2D>I
E /Fh 45 122 df<000FF01FC000007FF8FFF00000F81FE0780001E03F80F80003E07F80F80007
C07F00F80007C07F00F80007C03F00700007C01F00000007C01F00000007C01F00000007C01F03
FC00FFFFFFFFFC00FFFFFFFFFC0007C01F007C0007C01F007C0007C01F007C0007C01F007C0007
C01F007C0007C01F007C0007C01F007C0007C01F007C0007C01F007C0007C01F007C0007C01F00
7C0007C01F007C0007C01F007C0007C01F007C0007C01F007C0007C01F007C003FF8FFE3FF803F
F8FFE3FF802920809F2C>14 D<FFF0FFF0FFF0FFF00C047F8B11>45 D<387CFEFEFE7C3807077C
860F>I<00E00001E0000FE000FFE000F3E00003E00003E00003E00003E00003E00003E00003E0
0003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E0
0003E00003E000FFFF80FFFF80111D7C9C1A>49 D<01FC0007FF000F07801E03C01C01E03C01E0
3C01E03E01E03F01E03FC3C01FE3801FFF000FFE0007FF8007FFC01FFFE03C3FF0780FF07803F8
F001F8F000F8F00078F00078F000707800707C00E03E03C00FFF8003FC00151D7E9C1A>56
D<387CFEFEFE7C38000000000000387CFEFEFE7C3807147C930F>58 D<0000E000000000E00000
0001F000000001F000000001F000000003F800000003F800000006FC00000006FC0000000EFE00
00000C7E0000000C7E000000183F000000183F000000303F800000301F800000701FC00000600F
C00000600FC00000C007E00000FFFFE00001FFFFF000018003F000018003F000030001F8000300
01F800060001FC00060000FC000E0000FE00FFE00FFFE0FFE00FFFE0231F7E9E28>65
D<FFFFFE00FFFFFFC007C007E007C003F007C001F807C001FC07C001FC07C001FC07C001FC07C0
01FC07C001F807C003F807C007F007C00FE007FFFF8007FFFFC007C003F007C001F807C001FC07
C000FC07C000FE07C000FE07C000FE07C000FE07C000FE07C000FC07C001FC07C003F807C007F0
FFFFFFE0FFFFFF001F1F7E9E25>I<0007FC02003FFF0E00FE03DE03F000FE07E0003E0FC0001E
1F80001E3F00000E3F00000E7F0000067E0000067E000006FE000000FE000000FE000000FE0000
00FE000000FE000000FE0000007E0000007E0000067F0000063F0000063F00000C1F80000C0FC0
001807E0003803F0007000FE01C0003FFF800007FC001F1F7D9E26>I<FFFFFE0000FFFFFFC000
07E007F00007E001F80007E000FC0007E0007E0007E0003F0007E0003F0007E0001F8007E0001F
8007E0001F8007E0001FC007E0001FC007E0001FC007E0001FC007E0001FC007E0001FC007E000
1FC007E0001FC007E0001FC007E0001F8007E0001F8007E0001F8007E0003F0007E0003F0007E0
007E0007E000FC0007E001F80007E007F000FFFFFFC000FFFFFE0000221F7E9E28>I<FFFFFFE0
FFFFFFE007E007E007E001E007E000E007E0006007E0007007E0003007E0003007E0603007E060
3007E0600007E0E00007E1E00007FFE00007FFE00007E1E00007E0E00007E0600007E0600C07E0
600C07E0000C07E0001807E0001807E0001807E0003807E0007807E000F807E003F0FFFFFFF0FF
FFFFF01E1F7E9E22>I<FFFFFFE0FFFFFFE007E007E007E001E007E000E007E0006007E0007007
E0003007E0003007E0603007E0603007E0600007E0E00007E1E00007FFE00007FFE00007E1E000
07E0E00007E0600007E0600007E0600007E0000007E0000007E0000007E0000007E0000007E000
0007E0000007E00000FFFF8000FFFF80001C1F7E9E21>I<FFFFFFFF07E007E007E007E007E007
E007E007E007E007E007E007E007E007E007E007E007E007E007E007E007E007E007E007E007E0
07E007E0FFFFFFFF101F7E9E14>73 D<FFFF8000FFFF800007E0000007E0000007E0000007E000
0007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0
000007E0000007E0000007E0000007E000C007E000C007E000C007E001C007E001C007E001C007
E0038007E0038007E00F8007E01F80FFFFFF80FFFFFF801A1F7E9E1F>76
D<FFE000003FF8FFF000007FF807F000007F0006F80000DF0006F80000DF0006F80000DF00067C
00019F00067C00019F00063E00031F00063E00031F00061F00061F00061F00061F00060F800C1F
00060F800C1F000607C0181F000607C0181F000607C0181F000603E0301F000603E0301F000601
F0601F000601F0601F000600F8C01F000600F8C01F0006007D801F0006007D801F0006003F001F
0006003F001F0006003F001F0006001E001F00FFF01E03FFF8FFF00C03FFF82D1F7E9E32>I<FF
E000FFF0FFF000FFF007F000060007F800060006FC000600067E000600063F000600063F800600
061F800600060FC006000607E006000603F006000601F806000601FC06000600FC060006007E06
0006003F060006001F860006001FC60006000FE600060007E600060003F600060001FE00060000
FE00060000FE000600007E000600003E000600001E000600000E00FFF0000600FFF0000600241F
7E9E29>I<001FF80000FFFF0001F81F8007E007E00FC003F01F8001F81F0000F83F0000FC7F00
00FE7E00007E7E00007EFE00007FFE00007FFE00007FFE00007FFE00007FFE00007FFE00007FFE
00007FFE00007F7E00007E7F0000FE7F0000FE3F0000FC3F8001FC1F8001F80FC003F007E007E0
01F81F8000FFFF00001FF800201F7D9E27>I<FFFFFE00FFFFFF8007E00FE007E003F007E001F8
07E001F807E001FC07E001FC07E001FC07E001FC07E001FC07E001F807E001F807E003F007E00F
E007FFFF8007FFFE0007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0
000007E0000007E0000007E0000007E00000FFFF0000FFFF00001E1F7E9E24>I<03FC080FFF38
1E03F83800F8700078700038F00038F00018F00018F80000FC00007FC0007FFE003FFF801FFFE0
0FFFF007FFF000FFF80007F80000FC00007C00003CC0003CC0003CC0003CE00038E00078F80070
FE01E0E7FFC081FF00161F7D9E1D>83 D<7FFFFFFC7FFFFFFC7C07E07C7007E01C6007E00C6007
E00CE007E00EC007E006C007E006C007E006C007E0060007E0000007E0000007E0000007E00000
07E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E000
0007E0000007E0000007E00003FFFFC003FFFFC01F1E7E9D24>I<FFFF01FFE0FFFF01FFE007E0
000C0007E0000C0007E0000C0007E0000C0007E0000C0007E0000C0007E0000C0007E0000C0007
E0000C0007E0000C0007E0000C0007E0000C0007E0000C0007E0000C0007E0000C0007E0000C00
07E0000C0007E0000C0007E0000C0007E0000C0007E0000C0007E0000C0003E000180001F00018
0001F000300000F8006000007E03C000001FFF80000003FC0000231F7E9E28>I<07FC001FFF00
3F0F803F07C03F03E03F03E00C03E00003E0007FE007FBE01F03E03C03E07C03E0F803E0F803E0
F803E0FC05E07E0DE03FF8FE0FE07E17147F9319>97 D<FF0000FF00001F00001F00001F00001F
00001F00001F00001F00001F00001F00001F00001F1FC01F7FF01FE0F81F807C1F007E1F003E1F
003E1F003F1F003F1F003F1F003F1F003F1F003F1F003E1F003E1F007C1F807C1EC1F81C7FE018
1F8018207E9F1D>I<01FE0007FF801F0FC03E0FC03E0FC07C0FC07C0300FC0000FC0000FC0000
FC0000FC0000FC00007C00007E00003E00603F00C01F81C007FF0001FC0013147E9317>I<0007
F80007F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F801F8F80FFE
F81F83F83E01F87E00F87C00F87C00F8FC00F8FC00F8FC00F8FC00F8FC00F8FC00F87C00F87C00
F87E00F83E01F81F07F80FFEFF03F8FF18207E9F1D>I<01FE0007FF800F83C01E01E03E00F07C
00F07C00F8FC00F8FFFFF8FFFFF8FC0000FC0000FC00007C00007C00003E00181E00180F807007
FFE000FF8015147F9318>I<001F8000FFC001F3E003E7E003C7E007C7E007C3C007C00007C000
07C00007C00007C000FFFC00FFFC0007C00007C00007C00007C00007C00007C00007C00007C000
07C00007C00007C00007C00007C00007C00007C00007C0003FFC003FFC0013207F9F10>I<01FC
3C07FFFE0F079E1E03DE3E03E03E03E03E03E03E03E03E03E01E03C00F07800FFF0009FC001800
001800001C00001FFF800FFFF007FFF81FFFFC3C007C70003EF0001EF0001EF0001E78003C7800
3C3F01F80FFFE001FF00171E7F931A>I<FF0000FF00001F00001F00001F00001F00001F00001F
00001F00001F00001F00001F00001F0FC01F3FE01F61F01FC0F81F80F81F00F81F00F81F00F81F
00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F8FFE3FFFFE3FF18207D9F
1D>I<1C003E007F007F007F003E001C00000000000000000000000000FF00FF001F001F001F00
1F001F001F001F001F001F001F001F001F001F001F001F001F00FFE0FFE00B217EA00E>I<0038
007C00FE00FE00FE007C003800000000000000000000000001FE01FE003E003E003E003E003E00
3E003E003E003E003E003E003E003E003E003E003E003E003E003E003E303E783EFC3CFC7C7878
3FF01FC00F2A83A010>I<FF0000FF00001F00001F00001F00001F00001F00001F00001F00001F
00001F00001F00001F01FE1F01FE1F00F01F00C01F03801F07001F0C001F18001F7C001FFC001F
9E001F0F001E0F801E07C01E03C01E01E01E01F01E00F8FFC3FFFFC3FF18207E9F1C>I<FF00FF
001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F00
1F001F001F001F001F001F001F001F001F00FFE0FFE00B207E9F0E>I<FE0FE03F80FE1FF07FC0
1E70F9C3E01E407D01F01E807E01F01F807E01F01F007C01F01F007C01F01F007C01F01F007C01
F01F007C01F01F007C01F01F007C01F01F007C01F01F007C01F01F007C01F01F007C01F01F007C
01F0FFE3FF8FFEFFE3FF8FFE27147D932C>I<FE0FC0FE3FE01E61F01EC0F81E80F81F00F81F00
F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F8FFE3FFFFE3
FF18147D931D>I<01FF0007FFC01F83F03E00F83E00F87C007C7C007CFC007EFC007EFC007EFC
007EFC007EFC007E7C007C7C007C3E00F83E00F81F83F007FFC001FF0017147F931A>I<FF1FC0
FF7FF01FE1F81F80FC1F007E1F007E1F003E1F003F1F003F1F003F1F003F1F003F1F003F1F003E
1F007E1F007C1F80FC1FC1F81F7FE01F1F801F00001F00001F00001F00001F00001F00001F0000
FFE000FFE000181D7E931D>I<FE3E00FE7F801ECFC01E8FC01E8FC01F8FC01F03001F00001F00
001F00001F00001F00001F00001F00001F00001F00001F00001F0000FFF000FFF00012147E9316
>114 D<0FE63FFE701E600EE006E006F800FFC07FF83FFC1FFE03FE001FC007C007E007F006F8
1EFFFCC7F010147E9315>I<01800180018003800380038007800F803F80FFFCFFFC0F800F800F
800F800F800F800F800F800F800F800F860F860F860F860F8607CC03F801F00F1D7F9C14>I<FF
07F8FF07F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F
00F81F00F81F01F81F01F80F06F807FCFF03F8FF18147D931D>I<FFE07F80FFE07F801F001C00
0F8018000F80180007C0300007C0300003E0600003E0600001F0C00001F0C00001F9C00000F980
0000FF8000007F0000007F0000003E0000003E0000001C0000001C000019147F931C>I<FFE7FE
1FE0FFE7FE1FE01F00F003001F00F803000F80F806000F80F8060007C1BC0C0007C1BC0C0007C1
BE0C0003E31E180003E31E180001F60F300001F60F300001F60FB00000FC07E00000FC07E00000
7803C000007803C000007803C000003001800023147F9326>I<FFE1FF00FFE1FF000F80700007
C0E00007E0C00003E1800001F3800000FF0000007E0000003E0000003F0000007F8000006F8000
00C7C0000183E0000381F0000701F8000E00FC00FF81FF80FF81FF8019147F931C>I<FFE07F80
FFE07F801F001C000F8018000F80180007C0300007C0300003E0600003E0600001F0C00001F0C0
0001F9C00000F9800000FF8000007F0000007F0000003E0000003E0000001C0000001C00000018
00000018000078300000FC300000FC600000C0E00000E1C000007F8000001E000000191D7F931C
>I 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