%!PS-Adobe-2.0 %%Title: computer 4 %%Creator: PageMaker 4.01 %%CreationDate: 6-5-1992, 9:9:16 %%For: Station PS %%BoundingBox: 0 0 612 792 %%Pages: 23 0 %%DocumentPrinterRequired: "" "" %%DocumentFonts: (atend) %%DocumentSuppliedFonts: (atend) %%DocumentNeededFonts: (atend) %%DocumentNeededProcSets: %%DocumentSuppliedProcSets: AldusDict2 209 55 %%DocumentPaperSizes: Letter %%EndComments %%BeginFile: PatchFile userdict /AldusDict known {(A previous version PageMaker header is loaded.) = flush} if %%EndFile %%BeginProcSet: AldusDict2 209 55 % 209 55 AldusVersion/AldRevision: This record must be first!! % Copyright (C) 1987 Aldus Corporation. All rights reserved. /AldusDict2 325 dict def AldusDict2 begin /AldusVersion 209 def /AldusRev 55 def /bdef { bind def } bind def systemdict /currentpacking known {/AD_OldPacking currentpacking def true setpacking } if /AD_PrevMatrix matrix def /AD_SomethingOnPage false def /AD_OutlineWidth 30 def /AD_ShadOffset 0.06 def /AD_OLShadOffset 0.06 def /AD_OLSmearFact 0.03 def /AD_BoldSmearFact 0.03 def /AD_ObliqueAngle -0.21 def /AD_TrueSetscreen /setscreen load def /AD_NestedMirror false def /AD_TextCutout false def /BEGJOB { /AD_Invert exch def dup AD_NestedMirror xor /AD_NestedMirror exch def /AD_MirrorFlag exch def /AD_WideFlag exch def /paperwid exch def /paperht exch def /AD_Resolution 1440 def /AD_PointsToUCS AD_Resolution 72 div def AD_PrevMatrix currentmatrix pop /AD_PrevScreen [currentscreen] def /AD_PrevTransfer currenttransfer def /AD_StdScreen true def /STD_SCREEN { AD_StdScreen not { AD_PrevScreen cvx exec setscreen /AD_PrevTransfer load settransfer /AD_StdScreen true assign }if } def true _SetCoordSys version (23.) anchorsearch { pop pop /truesetgray /setgray load def /setgray { mark AD_Invert {.0 .0 .06 .1 .28 .48 .56 .68 .82 .9 .98 1.0 } {1.0 1.0 .98 .9 .82 .68 .56 .48 .28 .1 .06 .0 } ifelse counttomark dup 3 add -1 roll exch 2 sub mul dup floor cvi dup 3 1 roll sub exch dup 3 add index exch 2 add index dup 4 1 roll sub mul add counttomark 1 add 1 roll cleartomark truesetgray } def } { pop } ifelse /screenAdjust 1 0 dtransform exch atan def /mirrorScreen AD_NestedMirror {/neg load} {{}} ifelse def /setscreen {exch screenAdjust add mirrorScreen exch AD_TrueSetscreen} def } def /_SetCoordSys { /AD_OldSys exch def AD_WideFlag { AD_OldSys { 90 rotate 1 AD_PointsToUCS div dup neg scale } { 1 AD_PointsToUCS div dup neg scale paperht paperwid neg translate 90 rotate } ifelse } { 1 AD_PointsToUCS div dup neg scale 0 paperht neg translate } ifelse AD_MirrorFlag { paperwid 0 translate -1 1 scale } if /AD_DeviceScale 1 1 transform pop 0 0 transform pop sub abs def } bdef /SETRES { /AD_Resolution exch def /AD_PointsToUCS AD_Resolution 72 div def AD_PrevMatrix setmatrix false _SetCoordSys _DefinePatterns } bdef /SETOVERPRINT { setoverprint } bdef /SETTEXTCUTOUT { /AD_TextCutout exch def } bdef /BEGPAGE { /AD_SomethingOnPage false def } bdef /ENDPAGE { AD_SomethingOnPage { save showpage restore } if } def /MUST_PRINT_PAGE { /AD_SomethingOnPage true def } bdef /ENDJOB { AD_PrevMatrix setmatrix } bdef /S_PSCRIPT { /AD_SomethingOnPage true def } bdef /S_TEXTSEGBEG { /here save def /TX_RunDrawn false def newpath } bdef /S_TEXTSEGEND { TX_RunDrawn { here restore /AD_SomethingOnPage true def } { here restore } ifelse } bdef /S_WORKING { /AD_WorkingMemory exch def } bdef /S_LOADFONT { AldusDict2 /AD_TopOfFonts known exch { { AD_TopOfFonts restore } if } { not { save /AD_TopOfFonts exch def } if } ifelse } bdef /SURSTR { AD_SomethingOnPage SUsv restore } bdef /SUSAVE { AldusDict2 /AD_TopOfFonts known vmstatus exch sub exch pop AD_WorkingMemory lt { dup { AD_TopOfFonts restore } if } if not { save /AD_TopOfFonts exch def } if save /SUsv exch def /AD_SomethingOnPage exch def } bdef /_ftName 66 string def /_AutoRecode { /recode exch def _ftName cvs dup length 7 gt { dup 0 7 getinterval (|______) eq { dup length 7 exch 7 sub getinterval recode { FTRECODE } { FTRENAME } ifelse } { pop } ifelse } { pop } ifelse } bdef /SYM_SAV { save /SYMsv exch def } bdef /SYM_RSTR { AD_SomethingOnPage SYMsv restore /AD_SomethingOnPage exch def } bdef /AD_save_xform null def /SET_TX_XFORM { /m_x exch def /r_angle exch def /ref_y exch def /ref_x exch def /AD_save_xform save def ref_x ref_y translate m_x { -1 1 scale } if r_angle neg rotate ref_x neg ref_y neg translate } bind def /CLEAR_TX_XFORM { AD_SomethingOnPage AD_save_xform restore /AD_SomethingOnPage exch def } bind def /SHADOWFLAG 16#1 def /OUTLINEFLAG 16#2 def /BOLDSMEAR 16#4 def /OUTLINESMEAR 16#8 def /ReENCODED 16#10 def /BOLDPSBUMP 16#20 def /ITALICOBLIQUE 16#40 def /SET { count 5 eq not{6 array astore}if /AD_textcolor exch def /AD_fontbits exch def /AD_20EMS exch def 1 index FontDirectory exch known not { 1 index ReENCODED AD_fontbits _iand _AutoRecode } if BOLDPSBUMP AD_fontbits _iand { 1 add } if dup _ActivateFont ITALICOBLIQUE AD_fontbits _iand { _ActivateObliqueFont } if /AD_width_factor_internal AD_width_factor def AD_width_factor 1 ne { currentfont [AD_width_factor 0 0 1 0 0] makefont setfont } if /AD_EmNotMatch AD_20EMS 20 div (M) _ADStringWidth pop sub abs 1 gt def false SETTEXTCUTOUT } bdef /S_SETUPRUN /SET load def /OUT { /here save def /runwidth exch def /nspaces exch def /nchars exch def /textrun exch def /letterspace exch def /wordspace exch def /y1 exch def /x1 exch def nchars 0 gt { AD_textcolor dup _Gray? {setgray} {aload pop {PREGISCOLOR}{PCOLOR}ifelse } ifelse /letterspace AD_EmNotMatch { runwidth textrun _ADStringWidth pop nchars dup 1 gt {1 sub} if letterspace mul add nspaces wordspace mul add sub nchars dup 1 gt {1 sub} if div } { 0 } ifelse letterspace add def SHADOWFLAG AD_fontbits _iand { save OUTLINEFLAG AD_fontbits _iand { _OLShadowOffset } { AD_textcolor _Gray?{_ShadowScreen}if AD_textcolor _ShadowColor _ShadowOffset } ifelse OUTLINEFLAG AD_fontbits _iand OUTLINESMEAR AD_fontbits _iand not and { _ActivateSolidFont _SetTextWidth } if AD_TextCutout {1 setgray} if _ShowRun BOLDSMEAR AD_fontbits _iand { _BoldSmearOffset _ShowRun } if restore } if OUTLINEFLAG AD_fontbits _iand OUTLINESMEAR AD_fontbits _iand and { _OLSmearRun } { OUTLINEFLAG AD_fontbits _iand { save _ActivateSolidFont _SetTextWidth AD_textcolor _Gray? AD_textcolor _White? or { AD_textcolor _White? {0} {_TextFillColor} ifelse setgray } { 1 setgray }ifelse _ShowRun restore } if _ShowRun BOLDSMEAR AD_fontbits _iand { _BoldSmearOffset _ShowRun } if } ifelse } if here restore /AD_SomethingOnPage true def } bdef /S_OUTPUTRUN /OUT load def /_ADStringWidth { gsave closepath clip stringwidth grestore } bdef /_OLSmearRun { gsave _OLSmearOffset translate _ShowRun grestore gsave _OLSmearOffset exch neg exch translate _ShowRun grestore gsave _OLSmearOffset neg translate _ShowRun grestore gsave _OLSmearOffset neg exch neg exch translate _ShowRun grestore gsave AD_textcolor _Gray? AD_textcolor _White? or { AD_textcolor _White? {0} { _TextFillColor} ifelse setgray } { 1 setgray }ifelse _ShowRun grestore } bdef /_TextFillColor { AD_TextCutout {1} {1 AD_textcolor sub} ifelse } bdef /_ShowRun { x1 y1 moveto wordspace 0 8#040 letterspace 0 textrun awidthshow } bdef /AD_width_factor_internal 1 def /_SetTextWidth { AD_width_factor_internal 1 ne { currentfont [AD_width_factor_internal 0 0 1 0 0] makefont setfont } if } bdef /AD_save_textwidth null def /SET_TEXT_WIDTH { /AD_width_factor_internal exch def /AD_save_textwidth save def _SetTextWidth } bdef /RESTORE_TEXT_WIDTH { AD_SomethingOnPage AD_save_textwidth restore /AD_SomethingOnPage exch def /AD_width_factor_internal 1 def } bdef /AD_width_factor 1 def /SET_TX_WIDTH { /AD_width_factor exch def } bdef /CLEAR_TX_WIDTH { /AD_width_factor 1 def } bdef /S_UNDERLINE { /here save def count 7 eq not{6 array astore}if /color exch def /pointsize exch def /width exch def /deltay exch def /baseline exch def /rightx exch def /leftx exch def currentfont /FontInfo known { currentfont /FontInfo get /UnderlinePosition known { /deltay currentfont /FontInfo get /UnderlinePosition get currentfont /FontMatrix get 3 get mul pointsize AD_fontscale AD_PointsToUCS div div mul def } if currentfont /FontInfo get /UnderlineThickness known { /width currentfont /FontInfo get /UnderlineThickness get currentfont /FontMatrix get 3 get abs mul pointsize AD_fontscale AD_PointsToUCS div div mul def } if } if /underliney 0 baseline deltay add transform round exch round exch itransform exch pop def color dup _Gray? {setgray}{aload pop {PREGISCOLOR}{PCOLOR}ifelse }ifelse width setlinewidth SHADOWFLAG AD_fontbits _iand { save OUTLINEFLAG AD_fontbits _iand { _OLShadowOffset } { color _Gray?{_ShadowScreen}if color _ShadowColor _ShadowOffset } ifelse leftx underliney rightx underliney _ShowUnderline restore } if leftx underliney rightx underliney _ShowUnderline OUTLINEFLAG AD_fontbits _iand OUTLINESMEAR AD_fontbits _iand not and { save color _Gray?{1 color sub setgray} {0 0 0 0 setcmykcolor }ifelse /AD_OutlineWidth AD_OutlineWidth 1000 div AD_fontscale mul def width 3 AD_OutlineWidth mul ge { width 2 AD_OutlineWidth mul sub } { width 3 div } ifelse setlinewidth leftx AD_OutlineWidth add underliney rightx AD_OutlineWidth sub underliney _ShowUnderline restore } if here restore /AD_SomethingOnPage true def } bdef /_ShowUnderline { newpath moveto lineto stroke } bdef /S_STRIKETHRU { /here save def count 4 eq not{6 array astore}if /color exch def /y exch def /rightx exch def /leftx exch def /y 0 y transform round exch round exch itransform exch pop def color _Gray? {color setgray}{color aload pop {PREGISCOLOR}{PCOLOR}ifelse }ifelse _StrikeThruWidth setlinewidth newpath leftx y moveto rightx y lineto stroke here restore /AD_SomethingOnPage true def } bdef /DV_DRAW_TEXT { /here save def /text exch def /y exch def /x exch def Black setgray (Helvetica-Bold) FTRECODE /|______Helvetica-Bold 9 dup _ActivateFont x y moveto text show here restore /AD_SomethingOnPage true def } bdef /DV_DRAW_BOX { /here save def /draftflag exch def /shadowflag exch def /y2 exch def /x2 exch def /y1 exch def /x1 exch def AD_PointsToUCS 2 div setlinewidth newpath x1 y1 moveto x1 y2 lineto x2 y2 lineto x2 y1 lineto closepath shadowflag { gsave STD_SCREEN 0.5 setgray fill grestore} { gsave 1.0 setgray fill grestore 0.0 setgray stroke } ifelse draftflag { x1 y1 moveto x2 y2 lineto stroke x2 y1 moveto x1 y2 lineto stroke } if here restore /AD_SomethingOnPage true def } bdef /DV_DRAW_LINE { /here save def /lw exch def /y2 exch def /x2 exch def /y1 exch def /x1 exch def x1 y1 transform round exch round exch itransform /y1 exch def /x1 exch def x2 y2 transform round exch round exch itransform /y2 exch def /x2 exch def 0 lw transform round exch round exch itransform /lw exch def pop lw setlinewidth 0 setseparationgray newpath x1 y1 moveto x2 y2 lineto stroke here restore /AD_SomethingOnPage true def } def /DV_DRAW_CIRCLE { /here save def /lw exch def /r exch def /y exch def /x exch def x y transform round exch round exch itransform /y exch def /x exch def 0 r transform round exch round exch itransform /r exch def pop 0 lw transform round exch round exch itransform /lw exch def pop lw setlinewidth Black setgray newpath x y r 0 360 arc stroke here restore /AD_SomethingOnPage true def } bdef /_ActivateFont { /AD_fontscale exch AD_PointsToUCS mul def /AD_fontscaleX exch AD_PointsToUCS mul def /AD_fontname exch def AD_fontname findfont [ AD_fontscaleX 0 0 AD_fontscale neg 0 0 ] makefont setfont } bdef /_ActivateObliqueFont { AD_fontname findfont [ AD_fontscaleX 0 0 AD_fontscale neg 0 0 ] [ 1 0 AD_ObliqueAngle 1 0 0 ] matrix concatmatrix makefont setfont } bdef /_ActivateSolidFont { AD_solidfont AD_fontscaleX AD_PointsToUCS div AD_fontscale AD_PointsToUCS div _ActivateFont } bdef /_ShadowOffset { AD_ShadOffset AD_fontscaleX mul AD_ShadOffset AD_fontscale mul translate } bdef /_OLShadowOffset { AD_OLShadOffset AD_fontscaleX mul AD_OLShadOffset AD_fontscale mul translate } bdef /_ShadowScreen { 100 AD_PrevScreen 1 get AD_PrevScreen 2 get setscreen } bdef /_ShadowColor { dup _Gray? exch dup _White? 3 -1 roll or { dup _White? {pop 1 }if 0.6 mul 0.8 exch sub setgray} {_ShadeColor }ifelse } bdef /_ShadeColor { /AldusTint .2 def aload pop {PREGISCOLOR}{PCOLOR}ifelse /AldusTint 1 def } bdef /_Gray? { dup type 0 type eq exch type 0.0 type eq or } bdef /_White? { dup type [] type eq {aload pop pop pop add add add 0 eq {true}{false }ifelse }{pop false }ifelse } bdef /PCOLOR { findcmykcustomcolor AD_NonSepPat {1 currentgray sub setcustomcolor} {AldusTint setcustomcolor}ifelse } def /ndf { 1 index where {pop pop pop}{dup xcheck {bind }if def }ifelse } bdef /setoverprint { AldusDict2 begin /AD_Overprint exch def end }ndf /currentoverprint { AldusDict2 /AD_Overprint get }ndf /setcmykcoloroverprint { 4{dup -1 eq{pop 0}if 4 1 roll}repeat setcmykcolor }ndf /findcmykcustomcolor { 5 /packedarray where {pop packedarray}{array astore readonly }ifelse }ndf /setcustomcolor { exch aload pop pop 4 {4 index mul 4 1 roll } repeat setcmykcolor pop }ndf /setcmykcolor { 1 exch sub _Ccmyk _Ccmyk _Ccmyk pop setrgbcolor }ndf /customcolorimage { pop image }ndf /separationimage { image }ndf /setseparationgray { setgray }ndf /_Ccmyk { dup 5 -1 roll sub 0 _Max exch }bdef /_Max { 2 copy lt {exch }if pop } bdef /_OLSmearOffset { AD_OLSmearFact AD_fontscaleX mul AD_OLSmearFact AD_fontscale mul } bdef /_BoldSmearOffset { AD_BoldSmearFact AD_fontscaleX mul AD_BoldSmearFact AD_fontscale mul translate } bdef /_StrikeThruWidth { AD_fontscale 16 div } bdef /_iand { and 0 ne } bdef /FTRENAME { dup (|______) exch ftMakeName cvn /NewName local FontDirectory NewName known {pop} {cvn findfont dup maxlength dict false copyDict dup /FontName known {dup /FontName NewName put} if NewName exch definefont pop } ifelse } bdef /FTRECODE { dup (|______) exch ftMakeName cvn /NewName local FontDirectory NewName known {pop} {cvn findfont dup maxlength dict false copyDict dup /FontName known {dup /FontName NewName put} if dup /Encoding MacEncoding put NewName exch definefont pop } ifelse } bdef /AD_encode_vector_size 256 def /AD_encode_vector null def /AD_doing_recoding false def /BEG_RECODE { dup (|______) exch ftMakeName cvn /NewName local FontDirectory NewName known { pop /AD_doing_recoding false def /AD_encode_vector null def } {cvn findfont dup maxlength dict false copyDict dup /FontName known {dup /FontName NewName put} if /AD_encode_vector AD_encode_vector_size array def dup begin Encoding AD_encode_vector copy pop end dup /Encoding AD_encode_vector put NewName exch definefont pop /AD_doing_recoding true def AD_encode_vector dup } ifelse } bdef /ENCODE_CHAR { AD_doing_recoding { put dup } { pop pop } ifelse } bdef /END_RECODE { AD_doing_recoding { pop pop } if /AD_doing_recoding false def /AD_encode_vector null def } bdef /FTOUTLINE { ReENCODED FTOLINE } bdef /FTOLINE { /AD_fontbits exch def cvn /OlineName local dup /AD_solidfont exch def AD_solidfont FontDirectory exch known not { AD_solidfont ReENCODED AD_fontbits _iand _AutoRecode } if FontDirectory OlineName known {pop} {cvn findfont dup maxlength 2 add dict true copyDict dup /FontName known {dup /FontName OlineName put} if dup /PaintType 2 put dup /StrokeWidth AD_OutlineWidth put OlineName exch definefont pop } ifelse } bdef /AD_nameString1 66 string def /ftMakeName { 1 index length /PrefixLen local dup length PrefixLen add AD_nameString1 exch 0 exch getinterval dup PrefixLen 4 -1 roll putinterval dup 0 4 -1 roll putinterval } bdef /copyDict { /NoUnique local begin { 1 index /FID ne NoUnique {2 index /UniqueID ne and} if { def } { pop pop } ifelse } forall currentdict end } bdef /MacEncoding 256 array def MacEncoding 0 /Times-Roman findfont /Encoding get 0 128 getinterval putinterval MacEncoding 16#27 /quotesingle put MacEncoding 16#60 /grave put /Adieresis /Aring /Ccedilla /Eacute /Ntilde /Odieresis /Udieresis /aacute /agrave /acircumflex /adieresis /atilde /aring /ccedilla /eacute /egrave /ecircumflex /edieresis /iacute /igrave /icircumflex /idieresis /ntilde /oacute /ograve /ocircumflex /odieresis /otilde /uacute /ugrave /ucircumflex /udieresis /dagger /degree /cent /sterling /section /bullet /paragraph /germandbls /registersans /copyrightsans /trademarksans /acute /dieresis /notequal /AE /Oslash /infinity /plusminus /lessequal /greaterequal /yen /mu /partialdiff /summation /product /pi /integral /ordfeminine /ordmasculine /Omega /ae /oslash /questiondown /exclamdown /logicalnot /radical /florin /approxequal /Delta /guillemotleft /guillemotright /ellipsis /space /Agrave /Atilde /Otilde /OE /oe /endash /emdash /quotedblleft /quotedblright /quoteleft /quoteright /divide /lozenge /ydieresis /Ydieresis /fraction /currency /guilsinglleft /guilsinglright /fi /fl /daggerdbl /periodcentered /quotesinglbase /quotedblbase /perthousand /Acircumflex /Ecircumflex /Aacute /Edieresis /Egrave /Iacute /Icircumflex /Idieresis /Igrave /Oacute /Ocircumflex /apple /Ograve /Uacute /Ucircumflex /Ugrave /dotlessi /circumflex /tilde /macron /breve /dotaccent /ring /cedilla /hungarumlaut /ogonek /caron MacEncoding 128 128 getinterval astore pop /getAnInt{2 getinterval dup 0 get 16#100 mul exch 1 get add cvi}def /CharBitStr 30 string def /BuildCharDict 16 dict def /AFONT { gsave /FName local /BMFSize local 1 add /LastChar local /FirstChar local /DefChar LastChar FirstChar sub 2 mul def 20 dict dup begin 10 1 roll /LocTableLen local /OWTableLen local /BMRowLen local /PixelHeight local /FontWidth local /MaxWidth local /MaxKern local /Descent local /Ascent local /Bits BMRowLen PixelHeight mul string currentfile exch readhexstring pop def /LocTable LocTableLen string currentfile exch readhexstring pop def /OWTable OWTableLen string currentfile exch readhexstring pop def /FontType 3 def /FontMatrix matrix def /FontBBox[MaxKern Descent neg MaxWidth MaxKern add Ascent]def /Encoding 256 array def Encoding 0 MacEncoding 0 256 getinterval putinterval /Mummble 257 array def 0 1 256{Mummble exch DefChar put}for FirstChar 1 LastChar{Mummble exch dup FirstChar sub 2 mul put}for /BuildChar { BuildCharDict begin /1Char local /FDict local FDict /Mummble get 1Char get /2Char local FDict /OWTable get 2Char getAnInt 16#FFFF eq {/2Char DefChar assign}if FDict /LocTable get 2Char getAnInt /BitLoc local FDict /LocTable get 2Char 2 add getAnInt BitLoc sub /BitWidth local BitLoc 8 mod /ShiftVal local 16#FF 8 ShiftVal sub dup neg /RemShift local bitshift 16#FF and /BMask local 16#FF 8 BitLoc BitWidth add 8 mod sub dup 8 ge{pop 0}if BitWidth 0 eq{pop 8}if bitshift /AMask local BitWidth ShiftVal add 7 add 8 idiv dup 0 eq{pop 1}if /ByteWidth local BitLoc 8 idiv /WhichRow local FDict /OWTable get 2Char get cvi /Offset local FDict /OWTable get 2Char 1 add get cvi /Charwidth local Charwidth 0 BMFSize divPoint FDict /MaxKern get FDict /Descent get neg BMFSize divPoint BitWidth Offset add FDict /MaxKern get add FDict /Ascent get BMFSize divPoint setcachedevice gsave ByteWidth 8 mul FDict /PixelHeight get true [FDict /PixelHeight get FDict /Descent get sub 1 add 0 0 FDict /PixelHeight get FDict /Descent get sub 1 add neg Offset neg 0.5 add FDict /PixelHeight get FDict /Descent get sub 0.5 add] { FDict /Bits get WhichRow ByteWidth getinterval CharBitStr copy /ThisRow local 16#100 ByteWidth 1 sub 1 neg 0 { /iV local ThisRow iV get 1 index 16#100 eq{AMask and}if dup BMask and RemShift bitshift 3 1 roll ShiftVal bitshift add 16#FF and cvi ThisRow iV 3 -1 roll put }for pop ThisRow /WhichRow WhichRow FDict /BMRowLen get add assign } imagemask grestore end }def end FontDirectory FName cvn known {pop} {FName cvn exch definefont pop} ifelse grestore }def /AldusTint 1 def /AD_Overprint false def /AD_NonSepPat false def /const /def load def /var /def load def /local[/exch load /def load]cvx def /assign /def load def /incr{dup cvx exec 1 add assign}bdef /postIncr{dup cvx exec exch incr}bdef /SpaceChar 16#20 const /cvPA{2 array astore cvx}bdef /point{cvPA def}bdef /locPoint{3 1 roll point}bdef /pointXpoint{3 -1 roll mul 3 1 roll mul exch}bdef /pointDpoint{3 -1 roll exch div 3 1 roll div exch}bdef /setPoint{load astore pop}bdef /dupPoint{2 copy}bdef /addPoint{exch 4 -1 roll add 3 1 roll add}bdef /subPoint{exch 3 1 roll sub 3 1 roll sub exch}bdef /mulPoint{dup pointXpoint}bdef /divPoint{dup pointDpoint}bdef /exchPoint{4 2 roll}bdef /overPoint{3 index 3 index}bdef /anyStatD systemdict /statusdict known const /thisProduct anyStatD {statusdict /product known{statusdict /product get}{()}ifelse} {()}ifelse const /PerCentChg 1.0 -1.0 point /boxPath{/y2 local /x2 local /y1 local /x1 local x1 y1 moveto x2 y1 lineto x2 y2 lineto x1 y2 lineto closepath}bdef /dump{4{pop}repeat}bdef /rBoxPath{/r local /y2 local /x2 local /y1 local /x1 local x1 r add y1 moveto x2 y1 x2 y2 r arcto dump x2 y2 x1 y2 r arcto dump x1 y2 x1 y1 r arcto dump x1 y1 x2 y1 r arcto dump closepath}bdef /SaveMatrix matrix var /ButtCap 0 const /SquareCap 2 const /MiterJoin 0 const /BevelJoin 2 const /Black 0 const /White 1 const /Wide 0 const /Narrow 1 const /PictPostScript false var /isHairline false var /PBEGIN{ dup not {save /PSave exch def} if /isLBO exch def /PBotRight locPoint /PTopLeft locPoint isLBO not {newpath PTopLeft PBotRight boxPath clip} if newpath isLBO {ButtCap}{SquareCap} ifelse setlinecap MiterJoin setlinejoin 3 setmiterlimit AD_PointsToUCS setlinewidth /deviceRound { dup AD_DeviceScale mul round AD_DeviceScale div dup 0 eq { pop } { exch pop } ifelse } def /HairWidth AD_PointsToUCS 4 div AD_DeviceScale mul deviceRound dup 1.5 lt { pop 0 } if const Black setgray /LineScale 1 var /LineWidth AD_PointsToUCS var /LineHeight AD_PointsToUCS var /DoingWedge false var /DoingArc false var AldusDict2 /PatternShade known not { /psb {} bdef /pse {} bdef /PatternShade Black var /DeclaredPattern <00> var /PCurPat <01> var } if }bdef /PEND{ newpath isLBO not {PSave restore} if /AD_SomethingOnPage true def }bdef /SetPattern { dup /PatternShade exch def setgray } bdef /bitison{ /ybit local /xbit local PCurPat ybit PatWidth mul xbit 8 idiv add get 1 7 xbit 8 mod AD_NestedMirror {exch pop}{sub} ifelse bitshift and 0 ne}bdef /PSHADE{ STD_SCREEN 100 div dup /PatternShade exch def /AD_NonSepPat true def setgray <01> /PCurPat local } def /BK { /AD_NonSepPat true def Black setgray } bdef /WT { /AD_NonSepPat true def White setgray } bdef /PBLACK /BK load def /PWHITE /WT load def /PREGISCOLOR { pop AD_NonSepPat { pop currentgray}{AldusTint mul 1 exch sub}ifelse setseparationgray pop pop pop } bdef /PUSETHISPATTERN { dup PCurPat eq {pop}{ PPATTERN } ifelse PatternShade /AD_NonSepPat true def setgray /VerifyUsedPattern false def } bdef /PUSEPATTERN { VerifyUsedPattern {DeclaredPattern PCurPat ne {DeclaredPattern PPATTERN} if } if PatternShade setgray /VerifyUsedPattern false def } bdef /PDECLAREPATTERN { /DeclaredPattern exch def /VerifyUsedPattern true def /AD_NonSepPat true def } bdef /PatWidth 1 const /PatSide 8 const /PFreq 300 32 div const /PPATTERN{/PCurPat local /AD_NonSepPat true def /VerifyUsedPattern false def 0 /Onbits local 0 /Offbits local AD_Invert {{1 exch sub} settransfer} {{} settransfer} ifelse PFreq PerCentChg pop dup 0.96 eq {pop}{div}ifelse 0 { 1 1 addPoint 2 divPoint PatSide mulPoint cvi exch cvi exch bitison AD_Invert xor {/Onbits incr 1} {/Offbits incr 0}ifelse } setscreen Offbits dup Onbits add div AD_Invert {1 exch sub} if SetPattern /AD_StdScreen false assign}def /vertLines{pop dup mul -2 mul 1 add}bdef /sPat { AD_Invert {{1 exch sub} settransfer} {{} settransfer} ifelse setscreen setgray }def /PALDUSSHADE { <11> /PCurPat local /AD_NonSepPat true def /AD_StdScreen false assign Wide eq { 0.774 20 45 {vertLines} sPat } { 0.643 30 45 {vertLines} sPat } ifelse } bdef /PHAIRWIDTH { HairWidth setlinewidth /isHairline true def } bdef /LW { LineScale mul deviceRound /LineHeight exch def LineScale mul deviceRound dup /LineWidth exch def setlinewidth /isHairline false def }bdef /PLNWIDTH /LW load def /PLNSCALE{div /LineScale exch def} bdef /roundCoord { 0.5 add round 0.5 sub } bdef /roundPoint { transform round exch round exch itransform } bdef /adjCoord { dup 1 AD_DeviceScale div gt { deviceRound 2 div } { pop .5 AD_DeviceScale div } ifelse } bdef /pULAdj{ roundPoint currentlinewidth adjCoord LineHeight adjCoord addPoint }bdef /pLRAdj{ roundPoint currentlinewidth adjCoord LineHeight adjCoord subPoint }bdef /QD_LINE { /qd_save save def /y2 exch def /x2 exch def /y1 exch def /x1 exch def x1 x2 gt { x1 y1 x2 y2 /y1 exch def /x1 exch def /y2 exch def /x2 exch def } if newpath y1 y2 gt { x1 y1 moveto x2 y2 lineto x2 LineWidth add dup y2 lineto y2 LineHeight add lineto x1 LineWidth add y1 LineHeight add lineto x1 y1 LineHeight add lineto x1 y1 lineto } { x1 y1 moveto x1 LineWidth add y1 lineto x2 LineWidth add dup y2 lineto y2 LineHeight add lineto x2 y2 LineHeight add lineto x1 y1 LineHeight add lineto x1 y1 lineto } ifelse closepath eofill qd_save restore } bdef /PLINETO { PictPostScript { moveto lineto } { /y2 exch def /x2 exch def /y1 exch def /x1 exch def currentlinecap ButtCap setlinecap newpath x1 x2 eq y1 y2 eq and { LineWidth 1 le LineHeight 1 le and { x1 y1 moveto } { x1 y1 x1 LineWidth add y1 LineHeight add boxPath fill} ifelse } { y1 y2 eq { LineWidth x1 x2 lt { x2 add /x2 exch def } { x1 add /x1 exch def } ifelse LineHeight setlinewidth x1 y1 LineHeight 2 div add roundPoint moveto x2 y2 LineHeight 2 div add roundPoint lineto mayStroke } { x1 x2 eq { LineHeight y1 y2 lt { y2 add /y2 exch def } { y1 add /y1 exch def } ifelse x1 LineWidth 2 div add y1 roundPoint moveto x2 LineWidth 2 div add y2 roundPoint lineto mayStroke } { x1 y1 pULAdj moveto x2 y2 pULAdj lineto mayStroke } ifelse } ifelse } ifelse setlinecap } ifelse }bdef /HairRect { save /here exch def /y2 exch def /x2 exch def /y1 exch def /x1 exch def PHAIRWIDTH newpath x1 x2 sub abs y1 y2 sub abs lt { x1 x2 add 2 div dup y1 roundPoint moveto y2 roundPoint lineto stroke} { y1 y2 add 2 div dup x1 exch roundPoint moveto x2 exch roundPoint lineto stroke} ifelse here restore } bdef /PHAIRLINE { count 4 gt { newpath PHAIRWIDTH addPoint 2 divPoint roundPoint moveto addPoint 2 divPoint roundPoint lineto pop pop stroke } { HairRect } ifelse } bdef /PHANGLINE { roundPoint /yb exch def /xr exch def roundPoint /yt exch def /xl exch def deviceRound /delta exch def { {yt delta sub /yt exch def} {yb delta add /yb exch def} ifelse } { {xl delta sub /xl exch def} {xr delta add /xr exch def} ifelse } ifelse newpath 1 AD_DeviceScale div 2 div dup dupPoint xl yt addPoint exchPoint xr yb exchPoint subPoint boxPath fill } bdef /PCURVETO { curveto } bdef /PMOVETO { moveto } bdef /PRECT{newpath pLRAdj exchPoint pULAdj exchPoint boxPath}bdef /PRRECT { pLRAdj /Botts locPoint pULAdj /Tops locPoint currentlinewidth dup subPoint /Diams locPoint newpath SaveMatrix currentmatrix pop Botts Tops subPoint /Sides locPoint Sides pop abs Diams pop ge{Diams}{Sides}ifelse pop Sides exch pop abs Diams exch pop ge{Diams}{Sides}ifelse exch pop /Diams locPoint Diams 2 div /YRad local 0 gt {Diams exch pop 0 eq {1} {Diams div} ifelse } {1}ifelse 1 /PRRscale locPoint Tops translate PRRscale scale 0 0 Sides PRRscale pointDpoint Diams 0 gt exch 0 gt and{YRad rBoxPath}{boxPath}ifelse SaveMatrix setmatrix}bdef /POVAL{newpath SaveMatrix currentmatrix pop 0 359 false pArc closepath SaveMatrix setmatrix}bdef /PARC{ newpath SaveMatrix currentmatrix pop /DoingArc true assign false pArc SaveMatrix setmatrix }bdef /PWEDGE{newpath SaveMatrix currentmatrix pop /DoingWedge true assign true pArc closepath SaveMatrix setmatrix }bdef /modAdj{ dup 360 gt{360 sub}if dup 0 lt{360 add}if}bdef /pArc{/Fill local /ArcAng local /BegAng local pLRAdj /PLR locPoint pULAdj /PUL locPoint 360 BegAng ArcAng add sub 90 add modAdj /StartAng local StartAng ArcAng add /EndAng local PLR PUL subPoint 2 divPoint /Rad locPoint PUL Rad addPoint translate Rad neg scale Fill{0 0 moveto}if 0 0 1 StartAng EndAng dupPoint eq {pop pop 0 359 arc closepath} {ArcAng 0 lt {arcn}{arc}ifelse } ifelse }bdef /PBEGPOLY{ newpath pULAdj moveto }bdef /PBEGSMOOTHPOLY { newpath } bdef /PPOLYPOINT { pULAdj lineto } bdef /PENDPOLY{ /Closed local Closed{closepath}if }bdef /PENDSMOOTHPOLY { PENDPOLY } bdef /PBEGRGN{mark}bdef /PREGION{PRECT cleartomark}bdef /PTXBEG {/PTSave1 save const} bdef /PROTATE { currentdict /PRotateSave known not {save /PRotateSave exch def} if 3 1 roll dupPoint neg exch neg exch 5 2 roll translate rotate translate } bdef /PHFLIP { currentdict /PRotateSave known not {save /PRotateSave exch def} if dupPoint neg exch neg exch 4 2 roll translate -1 1 scale translate } bdef /PVFLIP { currentdict /PRotateSave known not {save /PRotateSave exch def} if dupPoint neg exch neg exch 4 2 roll translate 1 -1 scale translate } bdef /PROTATE_END { PRotateSave restore } bdef /PSCALETEXT { AD_PointsToUCS mul div /Xscale exch def AD_PointsToUCS mul div /Yscale exch def currentfont [ Xscale 0 0 Yscale 0 0 ] makefont setfont /AD_fontscaleX AD_fontscaleX Xscale mul def /AD_fontscale AD_fontscale Yscale mul def } bdef /PSTBEG { userdict /md known not { userdict begin /md 0 def end } if PBLACK /PictPostScript true def } bdef /PSTEND { /PictPostScript false def } bdef /mayStroke{ currentlinewidth 0 gt isHairline or { gsave /s_matrix null def /stroke_xform false def DoingWedge {MiterJoin setlinejoin} if currentlinewidth 1 AD_DeviceScale div sub setlinewidth LineWidth LineHeight ne { /s_matrix matrix currentmatrix def 1 LineHeight LineWidth div scale /stroke_xform true def } if stroke stroke_xform {s_matrix setmatrix} if grestore } if /DoingWedge false assign } bdef /RESET_PAT_SEP { /AD_NonSepPat false def } bdef /PFRAME{mayStroke RESET_PAT_SEP}bdef /PPAINT { mayStroke gsave eofill grestore RESET_PAT_SEP }bdef /PERASE { mayStroke gsave eofill grestore RESET_PAT_SEP }bdef /PFILL { mayStroke gsave eofill grestore RESET_PAT_SEP }bdef /PTINT { 100 exch sub 100 div /AldusTint exch def } bdef /PRESETTINT { AldusTint 1 eq not {/AldusTint 1 def }if } bdef /PHORZSHADE { 0 eq {/widehorz}{/narrowhorz }ifelse findfont _OpaquePatternfill } bdef /PVERTSHADE { 0 eq {/widevert}{/narrowvert }ifelse findfont _OpaquePatternfill } bdef /PHATCHSHADE { 0 eq {/widehatch}{/narrowhatch }ifelse findfont _OpaquePatternfill } bdef /PDIAGSHADE { 0 eq {/widediag}{/narrowdiag }ifelse findfont _OpaquePatternfill } bdef /_SetCoords { /y2 local /x2 local /y1 local /x1 local } bdef /_DefinePattern { 7 dict begin /FontDict 9 dict def FontDict begin /cache exch def /key exch def /proc exch cvx def /mtx exch matrix invertmatrix def /height exch def /width exch def /ctm matrix currentmatrix def /ptm matrix identmatrix def /str (12345678901234567890123456789012) def end /FontBBox [ 0 0 FontDict /width get FontDict /height get ] def /FontMatrix FontDict /mtx get def /Encoding StandardEncoding def /FontType 3 def /BuildChar { pop begin FontDict begin width 0 cache { 0 0 width height setcachedevice }{ setcharwidth } ifelse 0 0 moveto width 0 lineto width height lineto 0 height lineto closepath clip newpath gsave proc grestore end end } def FontDict /key get currentdict definefont end } bind def /_Patternpath { dup type /dicttype eq { begin FontDict /ctm get setmatrix }{ exch begin FontDict /ctm get setmatrix concat } ifelse currentdict setfont FontDict begin FontMatrix concat width 0 dtransform round width div exch round width div exch 0 height dtransform round height div exch round height div exch 0 0 transform round exch round exch ptm astore setmatrix pathbbox height div ceiling height mul 4 1 roll width div ceiling width mul 4 1 roll height div floor height mul 4 1 roll width div floor width mul 4 1 roll 2 index sub height div ceiling cvi exch 3 index sub width div ceiling cvi exch 4 2 roll moveto FontMatrix ptm invertmatrix pop { gsave ptm concat dup str length idiv { str show } repeat dup str length mod str exch 0 exch getinterval show grestore 0 height rmoveto } repeat pop end end } bind def /_Patternfill { gsave clip _Patternpath grestore newpath } bind def /_OpaquePatternfill { gsave 0 0 0 0 setcmykcolor fill grestore _Patternfill } bind def /_DefinePatterns { /AD_PatternLW .009375 AD_Resolution mul def /narrowdiagunit .046666 AD_Resolution mul def narrowdiagunit narrowdiagunit [1 0 0 1 0 0] { SquareCap setlinecap 0 narrowdiagunit 2 div moveto narrowdiagunit 2 div 0 lineto narrowdiagunit 2 div narrowdiagunit moveto narrowdiagunit narrowdiagunit 2 div lineto AD_PatternLW setlinewidth stroke } bind /narrowdiag true _DefinePattern pop /widediagunit .073333 AD_Resolution mul def widediagunit widediagunit [1 0 0 1 0 0] { SquareCap setlinecap 0 widediagunit 2 div moveto widediagunit 2 div 0 lineto widediagunit 2 div widediagunit moveto widediagunit widediagunit 2 div lineto AD_PatternLW setlinewidth stroke } bind /widediag true _DefinePattern pop /narrowhorzunit .053333 AD_Resolution mul def narrowhorzunit narrowhorzunit [1 0 0 1 0 0] { SquareCap setlinecap 0 narrowhorzunit 2 div moveto narrowhorzunit narrowhorzunit 2 div lineto AD_PatternLW setlinewidth stroke } bind /narrowhorz true _DefinePattern pop /widehorzunit .106666 AD_Resolution mul def widehorzunit widehorzunit [1 0 0 1 0 0] { SquareCap setlinecap 0 widehorzunit 2 div moveto widehorzunit widehorzunit 2 div lineto AD_PatternLW setlinewidth stroke } bind /widehorz true _DefinePattern pop /narrowvertunit .053333 AD_Resolution mul def narrowvertunit narrowvertunit [1 0 0 1 0 0] { SquareCap setlinecap narrowvertunit 2 div 0 moveto narrowvertunit 2 div narrowvertunit lineto AD_PatternLW setlinewidth stroke } bind /narrowvert true _DefinePattern pop /widevertunit .106666 AD_Resolution mul def widevertunit widevertunit [1 0 0 1 0 0] { SquareCap setlinecap widevertunit 2 div 0 moveto widevertunit 2 div widevertunit lineto AD_PatternLW setlinewidth stroke } bind /widevert true _DefinePattern pop /narrowhatchunit .053333 AD_Resolution mul def narrowhatchunit narrowhatchunit [1 0 0 1 0 0] { SquareCap setlinecap narrowhatchunit 2 div 0 moveto narrowhatchunit 2 div narrowhatchunit lineto 0 narrowhatchunit 2 div moveto narrowhatchunit narrowhatchunit 2 div lineto AD_PatternLW setlinewidth stroke } bind /narrowhatch true _DefinePattern pop /widehatchunit .106666 AD_Resolution mul def widehatchunit widehatchunit [1 0 0 1 0 0] { SquareCap setlinecap widehatchunit 2 div 0 moveto widehatchunit 2 div widehatchunit lineto 0 widehatchunit 2 div moveto widehatchunit widehatchunit 2 div lineto AD_PatternLW setlinewidth stroke } bind /widehatch true _DefinePattern pop } version (23.) anchorsearch {pop pop def}{pop bdef} ifelse systemdict /currentpacking known {AD_OldPacking setpacking} if /AldusDone AldusVersion def end %%EndProcSet %%EndProlog AldusDict2 begin %%BeginSetup letter mark { mark 1.0 1.0 .92 .76 .64 .54 .44 .36 .28 .2 .1 .0 counttomark dup 3 add -1 roll exch 2 sub mul dup floor cvi dup 3 1 roll sub exch dup 3 add index exch 2 add index dup 4 1 roll sub mul add counttomark 1 add 1 roll cleartomark } bind %%Feature: NormalizedTransfer settransfer erasepage cleartomark /#copies 1 def (Station PS; document: computer 4) statusdict /jobname 3 -1 roll put statusdict /waittimeout 300 put 13970 10795 false false false BEGJOB 1270 SETRES 45000 S_WORKING save /SUsv exch def %%EndSetup %%Page: 116 1 BEGPAGE AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse true S_LOADFONT %%IncludeFont: Palatino-Italic (Palatino-Italic) FTRECODE SUSAVE /|______Palatino-Italic 100 100 mul 1000 div 3320 16 0.00 0.00 0.00 1.00 (Black) false SET 2557 2134 0.0000 -0.0787 (116) 3 0 264 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Italic 80 100 mul 1000 div 2660 16 0.00 0.00 0.00 1.00 (Black) false SET 6396 2134 6.9510 3.5273 (COMPUTING THE FUTURE) 20 2 1876 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Italic 100 100 mul 1000 div 3320 16 0.00 0.00 0.00 1.00 (Black) false SET 5283 11853 0.0000 -0.0787 (116) 3 0 264 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse true S_LOADFONT %%IncludeFont: Palatino-Roman (Palatino-Roman) FTRECODE SUSAVE /|______Palatino-Roman 180 100 mul 1000 div 6000 16 0.00 0.00 0.00 1.00 (Black) false SET 5318 2634 0.0000 0.0000 (4) 1 0 159 OUT 3967 3692 15.9585 7.9367 (Education in CS&E) 17 2 2860 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Roman 100 100 mul 1000 div 3340 16 0.00 0.00 0.00 1.00 (Black) false SET 2857 6773 36.1551 4.4092 (As mentioned in Chapter 1, the strong connection of CS&E to) 59 10 5397 OUT 2539 6985 38.7628 4.4092 (computing practice, both in terms of new computing technologies) 63 8 5715 OUT 2539 7197 14.7256 4.4092 (\(the province of the computer industry\) and the application of com-) 67 10 5715 OUT 2539 7408 23.0885 4.4092 (puting to problems outside the computer industry, results in a cer-) 67 10 5715 OUT 2539 7620 17.3283 4.4092 (tain tension between researchers and product developers. This ten-) 67 9 5715 OUT 2539 7832 0.0000 -1.2563 (sion has its counterpart in different conceptions of what a CS&E education) 74 11 5715 OUT 2539 8043 9.0361 4.4092 (should involve.) 15 1 1283 OUT 2857 8255 3.6920 4.4092 (Academics tend to believe that CS&E education should provide a) 62 9 5397 OUT 2539 8467 13.2190 4.4092 (basis for later careers by emphasizing fundamental principles, effec-) 69 8 5715 OUT 2539 8678 13.8719 4.4092 (tive knowledge, and skills. A CS&E education cannot provide com-) 65 10 5715 OUT 2539 8890 37.8913 4.4092 (prehensive exposure to all computing problems that might be en-) 63 9 5715 OUT 2539 9102 16.5617 4.4092 (countered later on, but rather should provide a good foundation on) 66 10 5715 OUT 2539 9313 14.4149 4.4092 (which to build. With a good understanding of the basic intellectual) 68 11 5715 OUT 2539 9525 8.7808 1.0584 (paradigms of CS&E, graduates can more fully exploit computing wher-) 67 9 5715 OUT 2539 9737 0.0000 1.0583 (ever) 4 0 342 OUT 2881 9737 36.7524 4.4092 ( they are employed. From this perspective, the role of CS&E) 60 11 5373 OUT 2539 9948 13.6618 4.4092 (education is to open doors for later exploration by students, but not) 69 11 5715 OUT 2539 10160 8.9011 4.4092 (to lead them through those doors.) 33 5 2829 OUT 2857 10372 17.8352 4.4092 (While cognizant of and even sympathetic to this view of educa-) 62 10 5397 OUT 2539 10583 4.8755 4.4092 (tion, individuals from outside academia have a different perspective.) 69 8 5715 OUT 2539 10795 38.0511 4.4092 (Individuals from the computer industry want employees who can) 61 8 5715 OUT 2539 11007 10.2788 4.4092 (apply the fundamentals of CS&E to the creation of marketable prod-) 66 10 5715 OUT 2539 11218 22.2360 4.4092 (ucts. Thus the computer industry recruits heavily in the CS&E de-) 66 11 5715 OUT 2539 11430 1.7491 4.4092 (partments of major universities, is generally satisfied with graduatesÕ) 71 8 5715 OUT ENDPAGE %%Page: 117 2 BEGPAGE AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Italic 80 100 mul 1000 div 2660 16 0.00 0.00 0.00 1.00 (Black) false SET 2540 2134 6.9372 3.5273 (EDUCATION IN CS&E) 17 2 1520 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Italic 100 100 mul 1000 div 3320 16 0.00 0.00 0.00 1.00 (Black) false SET 7991 2134 0.0000 -0.0787 (117) 3 0 264 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Roman 100 100 mul 1000 div 3340 16 0.00 0.00 0.00 1.00 (Black) false SET 2540 2540 26.4511 4.4092 (technical knowledge, but notes their lack \(especially among under-) 66 8 5715 OUT 2540 2752 11.2266 4.4092 (graduates\) of good communications and teamwork skills and the re-) 65 9 5715 OUT 2540 2963 8.8301 4.4092 (luctance of Ph.D.s to work on product development.) 50 7 4357 OUT 2857 3175 29.1689 4.4092 (Commercial users of computing are further removed from aca-) 59 8 5397 OUT 2540 3387 0.0000 4.4057 (demic CS&E. They are interested in the most effective use of current-) 70 12 5715 OUT 2540 3598 0.0000 4.3115 (ly available technology, and they have to maintain compatibility with) 69 9 5715 OUT 2540 3810 32.9902 4.4092 (substantial previous investments; consequently, research is usually) 67 6 5715 OUT 2540 4022 18.1434 4.4092 (of less immediate interest to them. Their needs for employees tend) 67 11 5715 OUT 2540 4233 22.0954 4.4092 (to emphasize the operational and practical. Thus they may believe) 66 10 5715 OUT 2540 4445 8.8451 4.4092 (that CS&E education is somewhat marginal to their needs.) 56 8 4862 OUT 2857 4657 27.0848 4.4092 (These sentiments are consistent with testimony received by the) 62 8 5397 OUT 2540 4868 0.1212 4.4092 (committee from representatives of large commercial users of comput-) 67 8 5715 OUT 2540 5080 0.0000 4.4096 (ers.) 4 0 291 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Roman 70 100 mul 1000 div 2340 16 0.00 0.00 0.00 1.00 (Black) false SET 2831 5021 0.0000 3.0863 (1) 1 0 65 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Roman 100 100 mul 1000 div 3340 16 0.00 0.00 0.00 1.00 (Black) false SET 2926 5080 31.4995 4.4092 ( Engineering firms outside the computer industry stated that) 61 9 5329 OUT 2540 5292 13.9760 4.4092 (they often preferred other engineering majors over CS&E majors for) 66 9 5715 OUT 2540 5503 14.6411 4.4092 (computing jobs, because of their grounding in engineering as a way) 66 10 5715 OUT 2540 5715 1.1651 4.4092 (of thought. Several service-sector firms told the committee that, after) 72 10 5715 OUT 2540 5927 15.7253 4.4092 (on-the-job training, majors in other disciplines \(including music\) of-) 70 8 5715 OUT 2540 6138 9.1941 4.4092 (ten performed as well as or better than computer science majors and) 67 11 5715 OUT 2540 6350 0.0000 3.4243 (had broader perspectives as well. These firms appeared to treat CS&E) 69 11 5715 OUT 2540 6562 17.6814 4.4092 (bachelorÕs degrees as terminal at best, expecting on-the-job learning) 69 8 5715 OUT 2540 6773 8.8596 4.4092 (to be more relevant to their needs than further formal education.) 65 10 5401 OUT 2857 6985 18.5526 4.4092 (Although much can and should be done to stimulate discussion) 60 9 5397 OUT 2540 7197 4.6772 4.4092 (between industry and academia regarding the appropriate content of) 66 8 5715 OUT 2540 7408 34.7565 4.4092 (CS&E education, the differences in perspective will never be fully) 66 9 5715 OUT 2540 7620 43.0692 4.4092 (reconciled. The committee does believe that fundamental knowl-) 63 8 5715 OUT 2540 7832 2.1069 4.4092 (edge, basic concepts of broad applicability, and general techniques of) 70 9 5715 OUT 2540 8043 6.4630 4.4092 (analysis and synthesis are best taught in the university environment,) 69 9 5715 OUT 2540 8255 24.5704 4.4092 (while knowledge of more specific relevance to particular industrial) 67 8 5715 OUT 2540 8467 20.1499 4.4092 (or commercial settings is best taught Òin house,Ó although the lines) 68 10 5715 OUT 2540 8678 8.8280 4.4092 (between these categories are often unclear.) 43 5 3561 OUT 2857 8890 10.1305 4.4092 (An appreciation for the perspective of both academia and indus-) 63 9 5397 OUT 2540 9102 1.8933 4.4092 (try sets the context for the remainder of this chapter. On balance, the) 72 13 5715 OUT 2540 9313 38.8923 4.4092 (committee believes that for a field as young as CS&E and that is) 64 12 5715 OUT 2540 9525 26.2974 4.4092 (advancing so rapidly, education in CS&E has many strengths. For) 64 10 5715 OUT 2540 9737 17.7960 4.4092 (example, in many universities, CS&E attracts more than its share of) 67 10 5715 OUT 2540 9948 5.6863 4.4092 (the best students \(as measured by SAT scores, GRE scores, and grad-) 67 11 5715 OUT 2540 10160 26.6165 4.4092 (uate fellowships awarded by the university\).) 44 5 3814 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Roman 70 100 mul 1000 div 2340 16 0.00 0.00 0.00 1.00 (Black) false SET 6354 10101 0.0000 3.0857 (2) 1 0 65 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Roman 100 100 mul 1000 div 3340 16 0.00 0.00 0.00 1.00 (Black) false SET 6450 10160 26.6165 4.4093 ( Graduate education) 20 3 1805 OUT 2540 10372 29.5323 4.4092 (in CS&E, which is older and more established than undergraduate) 63 9 5715 OUT 2540 10583 33.5827 4.4092 (education in CS&E, is held in high regard by the universities and) 65 11 5715 OUT 2540 10795 0.0000 3.5569 (industrial research laboratories responsible for hiring many of CS&EÕs) 70 8 5715 OUT 2540 11007 1.3441 4.4092 (graduates. And the significant advances in computing over the years) 68 10 5715 OUT 2540 11218 5.7851 4.4092 (can be attributed in part to the educational system that produced the) 69 11 5715 OUT 2540 11430 8.9316 4.4092 (people making those advances.) 29 3 2589 OUT ENDPAGE %%Page: 118 3 BEGPAGE AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Italic 100 100 mul 1000 div 3320 16 0.00 0.00 0.00 1.00 (Black) false SET 2557 2134 0.0000 -0.0787 (118) 3 0 264 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Italic 80 100 mul 1000 div 2660 16 0.00 0.00 0.00 1.00 (Black) false SET 6396 2134 6.9510 3.5273 (COMPUTING THE FUTURE) 20 2 1876 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Roman 100 100 mul 1000 div 3340 16 0.00 0.00 0.00 1.00 (Black) false SET 2857 2540 33.0076 4.4092 (At the same time, CS&E education exhibits much greater vari-) 60 9 5397 OUT 2539 2752 26.5981 4.4092 (ability in tone, emphasis, and quality than does education in other) 67 10 5715 OUT 2539 2963 26.8434 4.4092 (more mature scientific disciplines, such as physics or chemistry, in) 68 9 5715 OUT 2539 3175 1.9270 4.4092 (which core curricula \(especially at the undergraduate level\) have had) 69 9 5715 OUT 2539 3387 42.9016 4.4092 (much more time to evolve. This variability and other aspects of) 64 11 5715 OUT 2539 3598 0.0000 0.6760 (CS&E education at all postsecondary levels are discussed in this chapter.) 73 10 5715 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse true S_LOADFONT %%IncludeFont: Palatino-Bold (Palatino-Bold) FTRECODE SUSAVE /|______Palatino-Bold 100 100 mul 1000 div 3520 16 0.00 0.00 0.00 1.00 (Black) false SET 3469 4127 8.7976 4.4092 (UNDERGRADUATE EDUCATION IN CS&E) 31 3 3857 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Bold 100 100 mul 1000 div 3520 16 0.00 0.00 0.00 1.00 (Black) false SET 3547 4551 8.9199 4.4092 (Undergraduate Education for CS&E Majors) 39 4 3701 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Roman 100 100 mul 1000 div 3340 16 0.00 0.00 0.00 1.00 (Black) false SET 2857 4868 1.4059 4.4092 (The variations in CS&E education are greatest at the undergradu-) 64 9 5397 OUT 2539 5080 6.2304 4.4092 (ate level. Some undergraduate programs concentrate on the intellec-) 68 9 5715 OUT 2539 5292 1.5523 4.4092 (tual framework needed to cope with rapid change and pay less atten-) 67 11 5715 OUT 2539 5503 2.9221 4.4092 (tion to practical skills. Some programs concentrate on practical skills) 72 10 5715 OUT 2539 5715 22.9637 4.4092 (but include enough fundamentals that the student is well prepared) 65 9 5715 OUT 2539 5927 13.2633 4.4092 (for the future. Still others have not changed their curricula for over) 71 12 5715 OUT 2539 6138 0.1670 4.4092 (ten years and consequently produce students who are already behind) 66 9 5715 OUT 2539 6350 8.7688 4.4092 (the times when they graduate.) 29 4 2527 OUT 2857 6562 0.0000 1.0964 (These differences are particularly apparent for introductory courses.) 69 7 5397 OUT 2539 6773 9.1549 4.4092 (While introductory courses for most scientific and engineering disci-) 69 8 5715 OUT 2539 6985 23.1126 4.4092 (plines exhibit a relatively high degree of uniformity in content and) 68 10 5715 OUT 2539 7197 0.0000 0.9954 (approach, university-level introductory courses in CS&E exhibit striking) 72 7 5715 OUT 2539 7408 26.9237 4.4092 (variation. Some emphasize newer concepts in functional program-) 64 8 5715 OUT 2539 7620 24.2181 4.4092 (ming, logic programming, or object-oriented programming. Others) 64 7 5715 OUT 2539 7832 6.5985 4.4092 (teach no theory and are focused more on teaching programming lan-) 65 10 5715 OUT 2539 8043 12.1224 4.4092 (guages than on programming itself, and still others emphasize theo-) 67 9 5715 OUT 2539 8255 8.7645 4.4092 (ries of program correctness and programming methodology.) 56 6 5027 OUT 2857 8467 4.8712 4.4092 (Some diversity at the introductory level is appropriate and desir-) 66 9 5397 OUT 2539 8678 1.4245 4.4092 (able, as long as the diversity results from informed choice on the part) 71 12 5715 OUT 2539 8890 42.5192 4.4092 (of faculty. But to the extent that this diversity reflects a lack of) 69 13 5715 OUT 2539 9102 13.5855 4.4092 (current knowledge about the field, it is undesirable. CS&E is a rap-) 69 12 5715 OUT 2539 9313 42.2933 4.4092 (idly advancing field, and it is important for those who teach the) 65 11 5715 OUT 2539 9525 29.0052 4.4092 (subject to maintain currency in it. Thus it is worth looking at the) 68 13 5715 OUT 2539 9737 6.2579 4.4092 (faculty who teach CS&E throughout the nation. Notably, of the 1000) 67 11 5715 OUT 2539 9948 41.7957 4.4092 (or so U.S. institutions that have a CS&E undergraduate program,) 63 9 5715 OUT 2539 10160 36.2176 4.4092 (only 15 percent are Ph.D.-granting institutions for CS&E. By and) 65 10 5715 OUT 2539 10372 12.2430 4.4092 (large, Ph.D.-granting institutions are where the bulk of academic re-) 69 9 5715 OUT 2539 10583 1.2400 4.4092 (search is performed, and thus it is reasonable to expect that faculty at) 72 12 5715 OUT 2539 10795 39.7975 4.4092 (these institutions generally have a more current understanding of) 65 8 5715 OUT 2539 11007 7.4474 4.4092 (new research than do faculty at institutions that do not grant Ph.D.s.) 70 11 5715 OUT 2539 11218 0.0000 4.3608 (Of course, graduates from many liberal arts colleges can receive quite) 70 10 5715 OUT 2539 11430 8.1238 4.4092 (good educations in computer science. But on the whole, the dispari-) 68 11 5715 OUT ENDPAGE %%Page: 119 4 BEGPAGE AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Italic 80 100 mul 1000 div 2660 16 0.00 0.00 0.00 1.00 (Black) false SET 2540 2134 6.9372 3.5273 (EDUCATION IN CS&E) 17 2 1520 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Italic 100 100 mul 1000 div 3320 16 0.00 0.00 0.00 1.00 (Black) false SET 7991 2134 0.0000 -0.0787 (119) 3 0 264 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Roman 100 100 mul 1000 div 3340 16 0.00 0.00 0.00 1.00 (Black) false SET 2540 2540 16.9126 4.4092 (ty in undergraduate CS&E education available at Ph.D.-granting vs.) 66 8 5715 OUT 2540 2752 26.8495 4.4092 (non-Ph.D.-granting institutions in CS&E is accentuated by two fac-) 66 8 5715 OUT 2540 2963 0.0000 4.3887 (tors.) 5 0 360 OUT 2857 3175 14.5839 4.4092 (The first factor is that, contrary to the norm in other disciplines,) 68 11 5397 OUT 2540 3387 0.0000 4.0237 (well over half of the CS&E faculty in non-Ph.D.-granting departments) 68 9 5715 OUT 2540 3598 4.6179 4.4092 (do not have doctorates in CS&E \(see Table 8.12 in Chapter 8\).) 61 11 5086 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Roman 70 100 mul 1000 div 2340 16 0.00 0.00 0.00 1.00 (Black) false SET 7626 3539 0.0000 3.0882 (3) 1 0 65 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Roman 100 100 mul 1000 div 3340 16 0.00 0.00 0.00 1.00 (Black) false SET 7722 3598 4.6177 4.4091 ( Since) 7 2 533 OUT 2540 3810 4.3287 4.4092 (a major function of the Ph.D. degree program is to socialize graduate) 69 11 5715 OUT 2540 4022 25.0737 4.4092 (students into the culture of the discipline, faculty who teach CS&E) 67 10 5715 OUT 2540 4233 27.8183 4.4092 (without an advanced degree in CS&E may be handicapped in pre-) 61 10 5715 OUT 2540 4445 8.8160 4.4092 (senting the disciplineÕs mind-set and key concepts.) 51 6 4231 OUT 2857 4657 28.6112 4.4092 (Moreover, newly graduated Ph.D.s who go to non-Ph.D.-grant-) 59 7 5397 OUT 2540 4868 7.4943 4.4092 (ing institutions bring along their own recent work, which at least for) 70 11 5715 OUT 2540 5080 0.4656 4.4092 (a while boosts the currency of the receiving institution. A non-Ph.D.-) 71 11 5715 OUT 2540 5292 12.4075 4.4092 (granting institution that hires no Ph.D.s in CS&E will find it consid-) 70 11 5715 OUT 2540 5503 20.0681 4.4092 (erably more difficult to maintain an up-to-date curriculum, since to) 68 9 5715 OUT 2540 5715 28.7120 4.4092 (keep current it will be forced to rely on journals and publications,) 68 11 5715 OUT 2540 5927 12.8987 4.4092 (which, as noted in Chapter 1, are less effective than people in trans-) 70 12 5715 OUT 2540 6138 8.6478 4.4092 (ferring technology.) 19 1 1576 OUT 2857 6350 23.8529 4.4092 (Aggravating problems of faculty currency is the relatively slow) 63 8 5397 OUT 2540 6562 25.7030 4.4092 (rate at which it is possible to change the content of undergraduate) 67 11 5715 OUT 2540 6773 39.4158 4.4092 (courses. While new ideas generated by research institutions may) 64 9 5715 OUT 2540 6985 1.6134 4.4092 (influence undergraduate education at those institutions within a year) 69 8 5715 OUT 2540 7197 8.6240 4.4092 (or two, those ideas may take much longer to propagate beyond local) 66 11 5715 OUT 2540 7408 0.0000 4.4094 (boundaries.) 11 0 971 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Roman 70 100 mul 1000 div 2340 16 0.00 0.00 0.00 1.00 (Black) false SET 3511 7349 0.0000 3.0853 (4) 1 0 65 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Roman 100 100 mul 1000 div 3340 16 0.00 0.00 0.00 1.00 (Black) false SET 3607 7408 1.1427 4.4092 ( Thus the problem of faculty currency in undergraduate) 55 9 4648 OUT 2540 7620 1.2556 4.4092 (education is more acute in CS&E than in older disciplines like mathe-) 69 11 5715 OUT 2540 7832 5.6041 4.4092 (matics or physics, which have had a sound and stable foundation for) 67 11 5715 OUT 2540 8043 0.0000 4.3608 (decades.) 8 0 700 OUT 2857 8255 40.3408 4.4092 (The second factor, noted also in the section ÒSynergy Enables) 61 9 5397 OUT 2540 8467 13.1035 4.4092 (InnovationsÓ in Chapter 5, is that parts of CS&E are strongly driven) 68 11 5715 OUT 2540 8678 38.6172 4.4092 (by the pace of technology. Some CS&E research \(e.g., in parallel) 65 11 5715 OUT 2540 8890 22.1484 4.4092 (programming and in graphics\) depends on the availability of state-) 66 9 5715 OUT 2540 9102 6.2256 4.4092 (of-the-art equipment, which is expensive and thus much less accessi-) 68 9 5715 OUT 2540 9313 20.6872 4.4092 (ble to non-Ph.D.-granting institutions. Although this situation may) 68 8 5715 OUT 2540 9525 3.8751 4.4092 (change when high-speed networks become available to link universi-) 66 8 5715 OUT 2540 9737 24.3830 4.4092 (ties and colleges, the widespread availability of such links is many) 68 10 5715 OUT 2540 9948 33.2910 4.4092 (years in the future. As a result, even those CS&E faculty at non-) 66 13 5715 OUT 2540 10160 6.5574 4.4092 (Ph.D.-granting institutions who wish to keep current may find it dif-) 69 10 5715 OUT 2540 10372 0.5105 4.4092 (ficult to do so, since the equipment-acquisition budgets of these insti-) 72 10 5715 OUT 2540 10583 6.8249 4.4092 (tutions are likely to be more limited than those of the Ph.D.-granting) 70 11 5715 OUT 2540 10795 0.0000 4.6805 (institutions.) 13 0 989 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Roman 70 100 mul 1000 div 2340 16 0.00 0.00 0.00 1.00 (Black) false SET 3529 10736 0.0000 0.0000 (5) 1 0 62 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Roman 100 100 mul 1000 div 3340 16 0.00 0.00 0.00 1.00 (Black) false SET 2857 11007 6.8177 4.4092 (A similar consideration holds for CS&E education; resource-poor) 63 7 5397 OUT 2540 11218 19.4413 4.4092 (departments find it difficult to maintain a current educational com-) 68 9 5715 OUT 2540 11430 20.2241 4.4092 (puter infrastructure. For entirely financial reasons, a CS&E depart-) 69 9 5715 OUT ENDPAGE %%Page: 120 5 BEGPAGE AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Italic 100 100 mul 1000 div 3320 16 0.00 0.00 0.00 1.00 (Black) false SET 2557 2134 0.0000 -0.0787 (120) 3 0 264 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Italic 80 100 mul 1000 div 2660 16 0.00 0.00 0.00 1.00 (Black) false SET 6396 2134 6.9510 3.5273 (COMPUTING THE FUTURE) 20 2 1876 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Roman 100 100 mul 1000 div 3340 16 0.00 0.00 0.00 1.00 (Black) false SET 2539 2540 21.9447 4.4092 (ment may slight important concepts that are missing from the soft-) 66 10 5715 OUT 2539 2752 3.4807 4.4092 (ware of its computing environment. For example, the basic notion of) 68 11 5715 OUT 2539 2963 2.2172 4.4092 (recursion appeared in Algol and Lisp in the 1960s but did not find its) 70 13 5715 OUT 2539 3175 12.7292 4.4092 (way into Fortran or Basic for over 15 years, and departments basing) 67 11 5715 OUT 2539 3387 14.4056 4.4092 (their curricula on these older languages often did not cover this im-) 69 11 5715 OUT 2539 3598 37.7133 4.4092 (portant concept. As a more modern example, few undergraduate) 61 9 5715 OUT 2539 3810 0.0000 4.0629 (programs teach parallel programming, because parallel programming) 65 6 5715 OUT 2539 4022 30.4384 4.4092 (is difficult to teach without access to parallel computers. In some) 68 11 5715 OUT 2539 4233 14.0008 4.4092 (cases, even when suitable software is available, the cost \(in terms of) 70 11 5715 OUT 2539 4445 4.9460 4.4092 (money and time\) to acquire it and adapt courses to it may be prohib-) 68 13 5715 OUT 2539 4657 1.1190 4.4092 (itive. Functional programming and object-oriented programming are) 66 7 5715 OUT 2539 4868 11.0440 4.4092 (examples of major new concepts that may not be taught for this rea-) 67 12 5715 OUT 2539 5080 0.0000 5.2211 (son.) 4 0 339 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Roman 70 100 mul 1000 div 2340 16 0.00 0.00 0.00 1.00 (Black) false SET 2878 5021 0.0000 0.0000 (6) 1 0 62 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Roman 100 100 mul 1000 div 3340 16 0.00 0.00 0.00 1.00 (Black) false SET 2857 5292 6.4682 4.4092 (Variations in quality and outlook in undergraduate CS&E educa-) 62 8 5397 OUT 2539 5503 26.0553 4.4092 (tion have enormous impact on the strength of academic CS&E and) 62 10 5715 OUT 2539 5715 42.3891 4.4092 (also on computing practice. Holders of CS&E bachelorÕs degrees) 63 9 5715 OUT 2539 5927 19.3390 4.4092 (move on to graduate school, to jobs that center on computing prac-) 66 11 5715 OUT 2539 6138 22.8791 4.4092 (tice per se \(programming, software engineering, and so on\), and to) 66 10 5715 OUT 2539 6350 27.1924 4.4092 (fields such as business, law, and economics. The principles, view-) 67 10 5715 OUT 2539 6562 7.4104 4.4092 (point, skills, and techniques that are taught to undergraduate majors) 69 9 5715 OUT 2539 6773 10.1145 4.4092 (\(especially in the non-Ph.D.-granting institutions\) have an enormous) 68 7 5715 OUT 2539 6985 35.9849 4.4092 (impact on how they later practice computing,) 44 6 3960 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Roman 70 100 mul 1000 div 2340 16 0.00 0.00 0.00 1.00 (Black) false SET 6499 6926 0.0000 3.0879 (7) 1 0 65 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Roman 100 100 mul 1000 div 3340 16 0.00 0.00 0.00 1.00 (Black) false SET 6594 6985 35.9849 4.4092 ( affecting program-) 19 2 1660 OUT 2539 7197 8.7807 4.4092 (ming, software engineering, and the transfer of academic research in) 68 9 5715 OUT 2539 7408 8.7297 4.4092 (CS&E to industry.) 17 2 1505 OUT 2857 7620 26.3022 4.4092 (With this perspective in mind, the committee identified several) 63 8 5397 OUT 2539 7832 2.3680 4.4092 (areas of concern in undergraduate CS&E programs as they are gener-) 66 10 5715 OUT 2539 8043 9.0501 4.4092 (ally constituted.) 17 1 1331 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Italic 100 100 mul 1000 div 3320 16 0.00 0.00 0.00 1.00 (Black) false SET 2539 8572 8.7755 4.4092 (Rigor and Clarity) 17 2 1352 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Roman 100 100 mul 1000 div 3340 16 0.00 0.00 0.00 1.00 (Black) false SET 2857 8890 19.6672 4.4092 (According to testimony received from industrial representatives) 63 6 5397 OUT 2539 9102 6.3413 4.4092 (by the committee, new hires in programming and software engineer-) 65 9 5715 OUT 2539 9313 10.1903 4.4092 (ing seldom approach their tasks with sufficient rigor, whatever their) 69 9 5715 OUT 2539 9525 19.5536 4.4092 (baccalaureate degree. They fail to be precise, do not consider thor-) 69 11 5715 OUT 2539 9737 38.8513 4.4092 (oughly all aspects of a problem \(e.g., what should be done when) 63 11 5715 OUT 2539 9948 6.1820 4.4092 (unexpected data are received\), are unable to see a problem from sev-) 68 11 5715 OUT 2539 10160 3.8124 4.4092 (eral viewpoints, and do not know when and how to abstract. Why is) 66 13 5715 OUT 2539 10372 33.8518 4.4092 (this? Partly, the committee believes, because of a lack of rigor in) 68 12 5715 OUT 2539 10583 8.8885 4.4092 (early parts of the CS&E curriculum.) 35 5 2982 OUT 2857 10795 13.6676 4.4092 (It is important to distinguish between rigor and formalism. The) 64 10 5397 OUT 2539 11007 2.6903 4.4092 (intent of rigor is precision and thoroughness. Using formalisms such) 69 10 5715 OUT 2539 11218 6.3753 4.4092 (as mathematics and formal logic may help achieve rigor, but one can) 67 11 5715 OUT 2539 11430 38.0186 4.4092 (be rigorous without using formalisms. Mathematics is a rigorous) 64 9 5715 OUT ENDPAGE %%Page: 121 6 BEGPAGE AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Italic 80 100 mul 1000 div 2660 16 0.00 0.00 0.00 1.00 (Black) false SET 2540 2134 6.9372 3.5273 (EDUCATION IN CS&E) 17 2 1520 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Italic 100 100 mul 1000 div 3320 16 0.00 0.00 0.00 1.00 (Black) false SET 7991 2134 0.0000 -0.0787 (121) 3 0 264 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Roman 100 100 mul 1000 div 3340 16 0.00 0.00 0.00 1.00 (Black) false SET 2540 2540 11.6550 4.4092 (discipline, but it is not always formal. For example, many theorems) 68 11 5715 OUT 2540 2752 15.9338 4.4092 (and proofs are given in English instead of in a formal notation, and) 68 12 5715 OUT 2540 2963 3.2124 4.4092 (intermediate steps are omitted if it is felt that the reader can fill them) 74 13 5715 OUT 2540 3175 41.8795 4.4092 (in. CS&E has perhaps even stronger requirements for rigor than) 63 10 5715 OUT 2540 3387 2.9852 4.4092 (does mathematics, stemming from the wealth of detail and complexi-) 66 9 5715 OUT 2540 3598 30.8157 4.4092 (ties that arise in algorithm design and software or hardware engi-) 66 10 5715 OUT 2540 3810 17.1828 4.4092 (neering. Students must especially understand that rigor and clarity) 68 9 5715 OUT 2540 4022 0.0000 -0.3198 (are essential for the specification, design, and implementation of software) 75 9 5715 OUT 2540 4233 0.0000 4.3858 (components.) 11 0 1042 OUT 2857 4445 7.3944 4.4092 (The committee was unanimous in its view that many undergrad-) 60 9 5397 OUT 2540 4657 8.2451 4.4092 (uates do not learn to approach software problems in a disciplined or) 68 11 5715 OUT 2540 4868 31.3037 4.4092 (systematic manner \(e.g., they jump into coding before they under-) 65 9 5715 OUT 2540 5080 41.3202 4.4092 (stand a problem adequately, or they patch their programs locally) 64 9 5715 OUT 2540 5292 11.0323 4.4092 (without understanding how those patches affect the global structure) 67 8 5715 OUT 2540 5503 16.0953 4.4092 (or function of the program\). This view is reinforced by evidence of) 68 12 5715 OUT 2540 5715 3.0654 4.4092 (enormous variation in the productivity of programmers.) 54 6 4657 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Roman 70 100 mul 1000 div 2340 16 0.00 0.00 0.00 1.00 (Black) false SET 7197 5656 0.0000 3.0853 (8) 1 0 65 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Roman 100 100 mul 1000 div 3340 16 0.00 0.00 0.00 1.00 (Black) false SET 7293 5715 3.0653 4.4094 ( One of the) 12 4 962 OUT 2540 5927 8.8540 4.4092 (reasons for this variation may be an immature educational process.) 66 9 5593 OUT 2857 6138 30.0718 4.4092 (Rigor and clarity in specification and design are especially im-) 64 9 5397 OUT 2540 6350 11.6570 4.4092 (portant, since a specification is an implicit contract between the cus-) 71 10 5715 OUT 2540 6562 0.0000 4.4084 (tomer \(who takes the specification as the contract to be filled\) and the) 72 12 5715 OUT 2540 6773 37.7566 4.4092 (software engineer \(who uses it to design and implement the soft-) 64 10 5715 OUT 2540 6985 25.7750 4.4092 (ware\). Having a rigorous and clear specification at any given mo-) 66 11 5715 OUT 2540 7197 27.1888 4.4092 (ment allows both sides to evaluate much more easily how suitable) 64 10 5715 OUT 2540 7408 27.5758 4.4092 (the specification is, how much it will cost to implement, and what) 66 11 5715 OUT 2540 7620 5.0319 4.4092 (any requested change in the specification would cost. This last point) 70 11 5715 OUT 2540 7832 29.7951 4.4092 (is particularly important because requests for changes in specifica-) 68 8 5715 OUT 2540 8043 14.7057 4.4092 (tions are made quite often during the design, development, and im-) 66 10 5715 OUT 2540 8255 14.2019 4.4092 (plementation processes. Rigor and clarity are also necessary during) 68 9 5715 OUT 2540 8467 5.5202 4.4092 (the implementation phases of software engineering, and their impor-) 67 8 5715 OUT 2540 8678 8.7875 4.4092 (tance increases for larger and more complex projects.) 53 7 4425 OUT 2857 8890 10.2414 4.4092 (The qualities of rigor and clarity must be learned early and rein-) 66 11 5397 OUT 2540 9102 34.9641 4.4092 (forced throughout the curriculum; they cannot easily be taught as) 65 9 5715 OUT 2540 9313 28.3645 4.4092 (mere add-ons in later courses. Even an introductory CS&E course) 64 10 5715 OUT 2540 9525 16.1038 4.4092 (can communicate the need for rigor and clarity, as described in Box) 67 11 5715 OUT 2540 9737 0.0000 4.4103 (4.1.) 4 0 278 OUT 2857 9948 17.7306 4.4092 (Taught in isolation, more theory will not lead to rigor or clarity) 66 11 5397 OUT 2540 10160 3.4540 4.4092 (and may be viewed by students as nothing more than academic exer-) 65 11 5715 OUT 2540 10372 15.9631 4.4092 (cises to fill the curriculum. However, programming and the under-) 66 10 5715 OUT 2540 10583 9.0110 4.4092 (standing of programs taught as an ad hoc exercise, without underly-) 67 10 5715 OUT 2540 10795 24.7792 4.4092 (ing foundations and principles, is just as bad. Instead, throughout) 68 10 5715 OUT 2540 11007 18.4402 4.4092 (the undergraduate CS&E curriculum, practice and theory should be) 64 8 5715 OUT 2540 11218 38.0298 4.4092 (integrated, without an artificial distinction made between the two) 66 8 5715 OUT 2540 11430 8.7869 1.0584 (and in a way that achieves the necessary mind-set of rigor and clarity.) 71 12 5621 OUT ENDPAGE %%Page: 122 7 BEGPAGE AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Italic 100 100 mul 1000 div 3320 16 0.00 0.00 0.00 1.00 (Black) false SET 2557 2134 0.0000 -0.0787 (122) 3 0 264 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Italic 80 100 mul 1000 div 2660 16 0.00 0.00 0.00 1.00 (Black) false SET 6396 2134 6.9510 3.5273 (COMPUTING THE FUTURE) 20 2 1876 OUT 0. 0. 10795. 13970. true PBEGIN 0. 0. LW 90. PTINT 2548. 2408. 8245. 5424. PRECT 0.00 0.00 0.00 1.00 (Black) PCOLOR PPAINT PRESETTINT 9. 9. LW 2539. 2399. 8254. 5433. PRECT 0.00 0.00 0.00 1.00 (Black) PCOLOR PFRAME PRESETTINT PEND AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse true S_LOADFONT %%IncludeFont: Optima (Optima) FTRECODE SUSAVE /|______Optima 90 100 mul 1000 div 2820 16 0.00 0.00 0.00 1.00 (Black) false SET 3197 2793 8.8310 4.4101 (BOX 4.1 RIGOR IN THE FIRST PROGRAMMING COURSE) 47 9 4401 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Optima 90 100 mul 1000 div 2820 16 0.00 0.00 0.00 1.00 (Black) false SET 3016 3182 36.7309 4.4101 (Even a first programming course can communicate the need for) 60 9 4921 OUT 2857 3376 1.9574 4.4101 (rigor and clarity. For example, students can be taught the importance) 70 11 5080 OUT 2857 3570 20.5557 4.4101 (of crafting clear and precise specifications for all program segments) 69 9 5080 OUT 2857 3764 9.9328 4.4101 (in a way that deals suitably with error conditions and boundary con-) 68 11 5080 OUT 2857 3958 14.7528 4.4101 (ditions. The learning process should include the task of making im-) 68 11 5080 OUT 2857 4152 1.8998 4.4101 (precise specifications precise. Also instructive is the requirement that) 73 9 5080 OUT 2857 4346 39.5836 4.4101 (students provide in variable declarations English-language descrip-) 67 6 5080 OUT 2857 4540 21.4945 4.4101 (tions of variables that show their relation to other variablesÑessen-) 69 9 5080 OUT 2857 4734 33.2260 4.4101 (tially assertions that hold in strategic places of the program. Few) 68 11 5080 OUT 2857 4928 3.4154 4.4101 (introductory texts on programming teach or demonstrate such a rigor-) 68 9 5080 OUT 2857 5122 8.5471 4.4101 (ous approach.) 13 1 1032 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Italic 100 100 mul 1000 div 3320 16 0.00 0.00 0.00 1.00 (Black) false SET 2539 6244 8.8229 4.4092 (Mathematics and Formalism) 25 2 2164 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Roman 100 100 mul 1000 div 3340 16 0.00 0.00 0.00 1.00 (Black) false SET 2857 6562 0.0000 2.7861 (Learning mathematics serves two purposes. First, it imparts math-) 66 9 5397 OUT 2539 6773 24.5284 4.4092 (ematical maturity, which is one way of developing an appreciation) 65 9 5715 OUT 2539 6985 4.6654 4.4092 (for rigor. Second, mathematics is central to many subfields of CS&E.) 69 11 5715 OUT 2539 7197 10.8698 4.4092 (Discrete mathematics underlies correctness of programs and compil-) 66 7 5715 OUT 2539 7408 8.8269 4.4092 (er construction as well as chip design, and certain branches of math-) 69 11 5715 OUT 2539 7620 33.4222 4.4092 (ematics such as logic and algebra are foundational to some of the) 65 11 5715 OUT 2539 7832 9.0395 4.4092 (more theoretical aspects of CS&E. Thus lack of sufficient mathemat-) 68 10 5715 OUT 2539 8043 8.7756 4.4092 (ics will limit the horizons of CS&E students.) 45 7 3690 OUT 2857 8255 19.9192 4.4092 (Moreover, as discrete mathematics \(e.g., logic, set theory, graph) 65 8 5397 OUT 2539 8467 0.0000 2.7703 (theory\) has found its way into the CS&E curriculum, continuous math-) 68 10 5715 OUT 2539 8678 0.0000 0.2397 (ematics \(e.g., calculus, differential equations, statistics\) has been slighted.) 79 8 5715 OUT 2539 8890 25.5555 4.4092 (This is unfortunate, because continuous mathematics is essential in) 67 8 5715 OUT 2539 9102 3.5576 4.4092 (important subfields in CS&E such as performance analysis, computa-) 66 8 5715 OUT 2539 9313 14.4732 4.4092 (tional geometry, numerical analysis, and robotics. Further, continu-) 69 8 5715 OUT 2539 9525 17.3397 4.4092 (ous mathematics is the language of many scientific and engineering) 66 9 5715 OUT 2539 9737 12.1595 4.4092 (fields, and an adequate understanding of continuous mathematics is) 66 8 5715 OUT 2539 9948 4.1652 4.4092 (needed to approach computing applications in such areas with confi-) 67 9 5715 OUT 2539 10160 0.0000 4.4435 (dence.) 6 0 524 OUT 2857 10372 0.0298 4.4092 (Mathematics also underpins the use of formalism, some degree of) 63 9 5397 OUT 2539 10583 14.7461 4.4092 (which should be an essential aspect of an undergraduate CS&E cur-) 65 10 5715 OUT 2539 10795 6.4262 4.4092 (riculum. However, formalism should not be taught for its own sake,) 67 11 5715 OUT 2539 11007 9.8965 4.4092 (but rather as a tool that stimulates understanding and provides help) 68 10 5715 OUT 2539 11218 34.8198 4.4092 (in solving problems. For example, very basic formal logic can be) 65 11 5715 OUT 2539 11430 9.5559 4.4092 (used as a tool in writing clear and rigorous specifications, in reason-) 71 11 5715 OUT ENDPAGE %%Page: 123 8 BEGPAGE AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Italic 80 100 mul 1000 div 2660 16 0.00 0.00 0.00 1.00 (Black) false SET 2540 2134 6.9372 3.5273 (EDUCATION IN CS&E) 17 2 1520 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Italic 100 100 mul 1000 div 3320 16 0.00 0.00 0.00 1.00 (Black) false SET 7991 2134 0.0000 -0.0787 (123) 3 0 264 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Roman 100 100 mul 1000 div 3340 16 0.00 0.00 0.00 1.00 (Black) false SET 2540 2540 39.3095 4.4092 (ing about problems, and in switching circuit theory. Formal lan-) 65 10 5715 OUT 2540 2752 29.1561 4.4092 (guages can be used in designing not only programming languages) 62 9 5715 OUT 2540 2963 3.2332 4.4092 (but also application-specific languages. Automata theory can help to) 69 9 5715 OUT 2540 3175 12.1224 4.4092 (explain aspects of language implementation as well as concepts nec-) 67 9 5715 OUT 2540 3387 8.3569 4.4092 (essary for the analysis of the execution time of programs. The study) 69 12 5715 OUT 2540 3598 25.6005 4.4092 (of formal methods in programming can change how one views the) 61 10 5715 OUT 2540 3810 4.3747 4.4092 (programming process and makes one better equipped to be rigorous,) 65 9 5715 OUT 2540 4022 1.6995 4.4092 (thorough, and clear in later work, whether or not formal methods are) 68 11 5715 OUT 2540 4233 8.8298 4.4092 (actually used in the development of software systems.) 53 7 4516 OUT 2857 4445 15.3881 4.4092 (It has been said that the best mathematics has just the right bal-) 66 12 5397 OUT 2540 4657 1.4942 4.4092 (ance between formalism and common sense. The same holds in com-) 64 11 5715 OUT 2540 4868 17.3713 4.4092 (puter science. However, without suitable education and training in) 67 9 5715 OUT 2540 5080 8.2820 4.4092 (formalism, this balance cannot be achieved, and a formal component) 66 9 5715 OUT 2540 5292 8.8822 4.4092 (of undergraduate CS&E education is therefore necessary.) 55 6 4750 OUT 2857 5503 42.1035 4.4092 (Current attitudes are something of an impediment to a better) 60 9 5397 OUT 2540 5715 17.9904 4.4092 (integration of mathematics into CS&E. CS&E students often dislike) 66 9 5715 OUT 2540 5927 1.4395 4.4092 (mathematicsÑsome seem to have chosen CS&E as a less formal alter-) 65 10 5715 OUT 2540 6138 0.0000 3.4300 (native to mathematics or hard science, simply because they find math-) 69 10 5715 OUT 2540 6350 25.2502 4.4092 (ematics intimidating. The challenge for CS&E educators is to inte-) 67 10 5715 OUT 2540 6562 35.0496 4.4092 (grate mathematics into the CS&E curriculum in a way that builds) 63 10 5715 OUT 2540 6773 15.8961 4.4092 (and reinforces respect for mathematics as it contributes to the disci-) 70 10 5715 OUT 2540 6985 0.0000 4.4804 (pline.) 6 0 462 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Italic 100 100 mul 1000 div 3320 16 0.00 0.00 0.00 1.00 (Black) false SET 2540 7514 0.0000 4.3992 (Breadth) 7 0 585 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Roman 100 100 mul 1000 div 3340 16 0.00 0.00 0.00 1.00 (Black) false SET 2857 7832 24.1061 4.4092 (As argued in Chapter 2, a broader definition of CS&E is neces-) 62 11 5397 OUT 2540 8043 24.2911 4.4092 (sary if the field is to continue to prosper intellectually in the years) 71 12 5715 OUT 2540 8255 13.0429 4.4092 (ahead. Computer scientists and engineers need to understand areas) 66 9 5715 OUT 2540 8467 15.9017 4.4092 (outside CS&E to enlarge their own perspective and so that they can) 66 11 5715 OUT 2540 8678 0.0000 4.1053 (work with others more effectively. Furthermore, a student with some) 68 10 5715 OUT 2540 8890 28.7696 4.4092 (substantive competence in an applications area will be much more) 64 9 5715 OUT 2540 9102 16.9304 4.4092 (capable of designing software and hardware suitable for use in that) 67 10 5715 OUT 2540 9313 0.0000 4.4727 (area.) 5 0 392 OUT 2857 9525 43.2162 4.4092 (Students should also have broadly integrated views of theory) 60 8 5397 OUT 2540 9737 6.1430 4.4092 (and practice \(so that students do not become narrowly entrenched in) 67 10 5715 OUT 2540 9948 28.7725 4.4092 (either\) and of hardware and software \(since todayÕs computer sys-) 65 9 5715 OUT 2540 10160 25.8524 4.4092 (tems are designed as a mixture of software and hardware, and the) 64 11 5715 OUT 2540 10372 12.1939 4.4092 (successful computer or software engineer must have an understand-) 65 8 5715 OUT 2540 10583 8.6906 4.4092 (ing of both\).) 13 2 1022 OUT 2857 10795 41.7036 4.4092 (Finally, the various existing views of programming should be) 60 8 5397 OUT 2540 11007 28.9079 4.4092 (integrated. The venerable programming style characterized by the) 65 8 5715 OUT 2540 11218 0.0000 3.5461 (procedural approach of languages such as Fortran and Algol has since) 68 10 5715 OUT 2540 11430 24.7998 4.4092 (been joined by others: \(1\) logic programming and declarative pro-) 66 10 5715 OUT ENDPAGE %%Page: 124 9 BEGPAGE AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Italic 100 100 mul 1000 div 3320 16 0.00 0.00 0.00 1.00 (Black) false SET 2557 2134 0.0000 -0.0787 (124) 3 0 264 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Italic 80 100 mul 1000 div 2660 16 0.00 0.00 0.00 1.00 (Black) false SET 6396 2134 6.9510 3.5273 (COMPUTING THE FUTURE) 20 2 1876 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Roman 100 100 mul 1000 div 3340 16 0.00 0.00 0.00 1.00 (Black) false SET 2539 2540 19.3847 4.4092 (gramming, in which the intent is to let the specification be the pro-) 69 12 5715 OUT 2539 2752 10.6976 4.4092 (gram; \(2\) functional programming, which simplifies reasoning about) 66 7 5715 OUT 2539 2963 26.0196 4.4092 (programs; \(3\) object-oriented programming, which generalizes data) 65 6 5715 OUT 2539 3175 33.7171 4.4092 (modeling by encapsulating data and the functions that operate on) 64 9 5715 OUT 2539 3387 14.9004 4.4092 (the data; \(4\) concurrency, which copes with the real world of multi-) 68 11 5715 OUT 2539 3598 33.3984 4.4092 (ple simultaneous activities; and \(5\) parallelism, which gains speed) 67 8 5715 OUT 2539 3810 18.9018 4.4092 (and capacity by bringing multiple computing elements to bear on a) 65 10 5715 OUT 2539 4022 9.0684 4.4092 (single problem.) 15 1 1282 OUT 2857 4233 5.5812 4.4092 (All of these styles are important, not so much as alternative tech-) 67 11 5397 OUT 2539 4445 7.1364 4.4092 (niques but as aspects of the general problem of programming. Some) 66 11 5715 OUT 2539 4657 27.4965 4.4092 (of them, so often regarded as distinct, have been successfully inte-) 68 10 5715 OUT 2539 4868 29.6914 4.4092 (grated into common frameworks, for example in the programming) 61 8 5715 OUT 2539 5080 2.6757 4.4092 (languages Scheme and ML. These different programming paradigms) 63 8 5715 OUT 2539 5292 12.8410 4.4092 (should be integrated into the undergraduate curriculum. Successful) 67 8 5715 OUT 2539 5503 39.2288 4.4092 (integration of these paradigms into the undergraduate curriculum) 64 7 5715 OUT 2539 5715 13.9576 4.4092 (will allow the student to view them not as competing methods with) 65 11 5715 OUT 2539 5927 32.5502 4.4092 (little in common, but as a continuum of complementary tools that) 64 10 5715 OUT 2539 6138 8.6799 4.4092 (build on each other.) 20 3 1663 OUT 2857 6350 3.6901 4.4092 (Broadening in all these ways puts pressure on the undergraduate) 63 9 5397 OUT 2539 6562 4.8041 4.4092 (curriculum; there is simply no room for all the broadening as long as) 69 12 5715 OUT 2539 6773 6.1671 4.4092 (the rest of the curriculum stays the same. Part of the problem is that) 71 14 5715 OUT 2539 6985 35.4269 4.4092 (the curriculum does not build on itself enough; too many courses) 64 10 5715 OUT 2539 7197 24.8787 4.4092 (have few prerequisites and are devoted to studying artifacts rather) 67 9 5715 OUT 2539 7408 10.2407 4.4093 (than establishing foundations and teaching enduring principles.) 63 6 5335 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Roman 70 100 mul 1000 div 2340 16 0.00 0.00 0.00 1.00 (Black) false SET 7874 7349 0.0000 3.0874 (9) 1 0 65 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Roman 100 100 mul 1000 div 3340 16 0.00 0.00 0.00 1.00 (Black) false SET 7970 7408 10.2407 4.4098 ( In) 4 2 284 OUT 2539 7620 33.5519 4.4092 (particular, undergraduate CS&E curricula typically include a large) 66 7 5715 OUT 2539 7832 36.3891 4.4092 (number of ÒsystemsÓ coursesÑcompilers, operating systems, data-) 63 6 5715 OUT 2539 8043 27.6910 4.4092 (base systems, data communication, graphics, and so on. The chal-) 65 10 5715 OUT 2539 8255 20.0765 4.4092 (lenge will be to teach both the science and the engineering in more) 67 12 5715 OUT 2539 8467 0.0000 3.6396 (comprehensive courses unfettered by this taxonomy. Students should) 67 8 5715 OUT 2539 8678 6.6286 4.4092 (come to understand these artifacts as applications of unifying princi-) 70 9 5715 OUT 2539 8890 13.1580 4.4092 (ples. For example, central concerns in compilers may be considered) 67 10 5715 OUT 2539 9102 14.2148 4.4092 (as laboratory examples under the headings of state machines and of) 66 10 5715 OUT 2539 9313 0.7087 4.4092 (various programming constructs. Graphics ties in to advanced calcu-) 68 9 5715 OUT 2539 9525 30.5389 4.4092 (lus. Operating systems and data communication illustrate concur-) 65 8 5715 OUT 2539 9737 8.9223 4.4092 (rency and queuing theory.) 25 3 2197 OUT 2857 9948 23.9809 4.4092 (However, despite these comments, it should be recognized that) 61 8 5397 OUT 2539 10160 24.0416 4.4092 (achieving breadth is at least as much an issue of culture, mind-set,) 68 11 5715 OUT 2539 10372 13.4114 4.4092 (and expectations as one of specific courses to fulfill some additional) 70 10 5715 OUT 2539 10583 33.9312 4.4092 (breadth requirements. If indeed the idea of a broader agenda for) 65 11 5715 OUT 2539 10795 0.0000 0.5895 (CS&E is fully embraced by CS&E faculty, formerly ÒpureÓ CS&E courses) 68 10 5715 OUT 2539 11007 2.7393 4.4092 (will make use of examples drawn from other fields, stressing connec-) 68 10 5715 OUT 2539 11218 8.7985 4.4092 (tions between CS&E and the outside world.) 41 6 3634 OUT ENDPAGE %%Page: 125 10 BEGPAGE AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Italic 80 100 mul 1000 div 2660 16 0.00 0.00 0.00 1.00 (Black) false SET 2540 2134 6.9372 3.5273 (EDUCATION IN CS&E) 17 2 1520 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Italic 100 100 mul 1000 div 3320 16 0.00 0.00 0.00 1.00 (Black) false SET 7991 2134 0.0000 -0.0787 (125) 3 0 264 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Italic 100 100 mul 1000 div 3320 16 0.00 0.00 0.00 1.00 (Black) false SET 2540 2540 8.7678 4.4092 (The Limits of a Four-Year Program) 33 5 2698 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Roman 100 100 mul 1000 div 3340 16 0.00 0.00 0.00 1.00 (Black) false SET 2857 2857 29.3273 4.4092 (Acknowledging the pressures on the undergraduate CS&E cur-) 58 7 5397 OUT 2540 3069 0.2446 4.4092 (riculum led the committee to conclude that the undergraduate curric-) 68 9 5715 OUT 2540 3281 32.9907 4.4092 (ulum cannot meet all demands. For example, it can provide only) 63 11 5715 OUT 2540 3492 39.4369 4.4092 (partial preparation for software engineering positions in industry,) 67 7 5715 OUT 2540 3704 1.5824 4.4092 (because there is simply not enough time to teach all that is necessary.) 71 12 5715 OUT 2540 3916 30.2619 4.4092 (The committee believes that paying more attention to rigor and to) 65 10 5715 OUT 2540 4127 2.0370 4.4092 (foundations in the early part of the curriculum and paying less atten-) 70 11 5715 OUT 2540 4339 36.9814 4.4092 (tion to artifacts can make the educational program more efficient,) 66 9 5715 OUT 2540 4551 6.5306 4.4092 (leaving, perhaps, some room for broadening \(see Chapter 2\). Never-) 67 10 5715 OUT 2540 4762 12.0172 4.4092 (theless, there is little time to devote to issues that arise in the devel-) 74 13 5715 OUT 2540 4974 6.2035 4.4092 (opment of large software systems, such as teamwork, system testing,) 67 9 5715 OUT 2540 5186 41.5458 4.4092 (software maintenance, and version control. Also, more advanced) 63 8 5715 OUT 2540 5397 0.0000 3.8387 (topics relating to other disciplines \(e.g., mathematics, humanities, arts) 73 8 5715 OUT 2540 5609 11.9722 4.4092 (and sciences, engineering\) cannot be incorporated because of lack of) 68 9 5715 OUT 2540 5821 8.7595 4.4092 (room in the curriculum and insufficient background.) 51 6 4390 OUT 2857 6032 16.6743 4.4092 (There is a place in industry for the person with a bachelorÕs de-) 65 12 5397 OUT 2540 6244 0.0000 -0.1042 (gree in CS&E, especially in organizations that provide their own training,) 74 10 5715 OUT 2540 6456 14.7977 4.4092 (but it is important that industry not expect too much from someone) 66 11 5715 OUT 2540 6667 12.1898 4.4092 (with such a degree. Recognizing the basic limitations of a four-year) 69 11 5715 OUT 2540 6879 10.5043 4.4092 (curriculum, it is time to put more emphasis on a masterÕs or master-) 68 12 5715 OUT 2540 7091 8.8029 4.4092 (of-engineering degree as a professional degree, as discussed below.) 67 8 5608 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Bold 100 100 mul 1000 div 3520 16 0.00 0.00 0.00 1.00 (Black) false SET 3970 7620 8.9481 4.4092 (Undergraduate Service Education) 31 2 2854 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Roman 100 100 mul 1000 div 3340 16 0.00 0.00 0.00 1.00 (Black) false SET 2857 7937 15.4577 4.4091 (Computing ) 10 1 1002 OUT 3859 7937 15.4572 1.0584 (has become so pervasive throughout society that a ba-) 53 8 4395 OUT 2540 8149 21.2876 1.0584 (sic understanding of computing is becoming essential for all educated) 69 9 5715 OUT 2540 8361 14.2751 1.0584 (citizens. All people should understand the ramifications of computing) 70 9 5715 OUT 2540 8572 18.7675 4.4092 (in society and should have a basic \(if simple\) technical understand-) 68 10 5715 OUT 2540 8784 3.6991 4.4092 (ing of computers and computing, in much the same way that citizens) 66 11 5715 OUT 2540 8996 27.9322 4.4092 (should both be literate and have basic numeracy skills. Computer) 65 10 5715 OUT 2540 9207 41.7088 4.4092 (scientists and engineers, as the vanguard of this information age,) 66 9 5715 OUT 2540 9419 4.2700 4.4092 (have a responsibility to explain its implications to the general public.) 72 10 5715 OUT 2857 9631 11.5248 4.4092 (In addition, computing has become as important as mathematics) 61 8 5397 OUT 2540 9842 2.1572 4.4092 (to science and engineering. Specialists in other science and engineer-) 71 10 5715 OUT 2540 10054 18.4425 4.4092 (ing fields are beginning to understand that CS&E is more than For-) 66 11 5715 OUT 2540 10266 42.7498 4.4092 (tran programming and to recognize that an understanding of the) 62 9 5715 OUT 2540 10477 14.8898 4.4092 (computer scientistÕs or engineerÕs approach to algorithms and infor-) 68 8 5715 OUT 2540 10689 6.8541 4.4092 (mation may be useful in their own areas \(see Boxes 4.2 and 4.3; com-) 68 13 5715 OUT 2540 10901 0.0000 -0.5702 (parable though not identical boxes could also be constructed for chemists,) 74 10 5715 OUT 2540 11112 3.5577 4.4092 (biologists, earth scientists, and others\). As a result, several computa-) 73 10 5715 OUT 2540 11324 8.7961 4.4092 (tional science and engineering programs have been developed.) 60 7 5228 OUT ENDPAGE %%Page: 126 11 BEGPAGE AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Italic 100 100 mul 1000 div 3320 16 0.00 0.00 0.00 1.00 (Black) false SET 2557 2134 0.0000 -0.0787 (126) 3 0 264 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Italic 80 100 mul 1000 div 2660 16 0.00 0.00 0.00 1.00 (Black) false SET 6396 2134 6.9510 3.5273 (COMPUTING THE FUTURE) 20 2 1876 OUT 0. 0. 10795. 13970. true PBEGIN 0. 0. LW 90. PTINT 2548. 2408. 8245. 11527. PRECT 0.00 0.00 0.00 1.00 (Black) PCOLOR PPAINT PRESETTINT 9. 9. LW 2539. 2399. 8254. 11536. PRECT 0.00 0.00 0.00 1.00 (Black) PCOLOR PFRAME PRESETTINT PEND AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Optima 90 100 mul 1000 div 2820 16 0.00 0.00 0.00 1.00 (Black) false SET 3296 2793 8.7843 4.4101 (BOX 4.2 A 1982 VIEW OF WHY PHYSICISTS SHOULD) 46 10 4202 OUT 4065 2987 8.7718 4.4101 (LEARN SOME COMPUTER SCIENCE) 27 3 2663 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Optima 90 100 mul 1000 div 2820 16 0.00 0.00 0.00 1.00 (Black) false SET 3016 3376 14.9196 4.4101 (Computing has become an integral part of the practice of physics,) 65 10 4921 OUT 2857 3570 0.0000 -1.5155 (from experimental control to plotting graphs, from simulations to typesetting) 77 9 5080 OUT 2857 3764 25.0709 4.4101 (papers. Physicists well versed in the methods of computer science) 66 10 5080 OUT 2857 3958 15.6127 4.4101 (can use computers to advance science more effectively. Computing) 65 9 5080 OUT 2857 4152 8.8612 4.4101 (know-how can help the physicist in:) 35 5 2673 OUT 3016 4452 0.0000 0.0000 (¥) 1 0 96 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse true S_LOADFONT %%IncludeFont: Optima-Oblique (Optima-Oblique) FTRECODE SUSAVE /|______Optima-Oblique 90 100 mul 1000 div 2820 16 0.00 0.00 0.00 1.00 (Black) false SET 3174 4452 25.3020 4.4102 (Experimental control:) 21 1 1582 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Optima 90 100 mul 1000 div 2820 16 0.00 0.00 0.00 1.00 (Black) false SET 4756 4452 25.3020 4.4101 ( Running an experiment with various de-) 40 7 3180 OUT 2857 4646 3.7911 4.4101 (tectors and instruments operating simultaneously is similar to keeping) 70 8 5080 OUT 2857 4840 8.7952 4.4101 (a time-sharing operating system running.) 40 4 2985 OUT 3016 5034 0.0000 0.0000 (¥) 1 0 96 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Optima-Oblique 90 100 mul 1000 div 2820 16 0.00 0.00 0.00 1.00 (Black) false SET 3174 5034 34.5697 4.4100 (Data Reduction:) 15 1 1212 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Optima 90 100 mul 1000 div 2820 16 0.00 0.00 0.00 1.00 (Black) false SET 4386 5034 34.5709 4.4102 ( Interactive statistical packages and computer) 47 6 3550 OUT 2857 5228 8.5840 2.5062 (graphics enable a scientist to understand the implications of an experi-) 72 10 5080 OUT 2857 5422 0.0000 2.5062 (ment) 4 0 354 OUT 3211 5422 8.8145 4.4101 ( much sooner than line printer graphics on a batch computer.) 60 10 4547 OUT 3016 5616 0.0000 0.0000 (¥) 1 0 96 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Optima-Oblique 90 100 mul 1000 div 2820 16 0.00 0.00 0.00 1.00 (Black) false SET 3174 5616 1.0419 4.4102 (Discrete simulations:) 21 1 1522 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Optima 90 100 mul 1000 div 2820 16 0.00 0.00 0.00 1.00 (Black) false SET 4696 5616 1.0419 4.4101 ( Many physical problems involve more than) 42 7 3240 OUT 2857 5810 42.7100 4.4101 (solutions to differential equations. Group theory, non-rectangular) 67 7 5080 OUT 2857 6004 0.0000 2.9273 (lattices, and other components of modern problems can be approached) 67 9 5080 OUT 2857 6198 4.7986 4.4101 (more easily using ideas from graph theory and other computing fields) 68 10 5080 OUT 2857 6392 8.8610 4.4101 (far removed from the typical FORTRAN program.) 45 6 3616 OUT 3016 6586 0.0000 0.0000 (¥) 1 0 96 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Optima-Oblique 90 100 mul 1000 div 2820 16 0.00 0.00 0.00 1.00 (Black) false SET 3174 6586 9.3475 4.4101 (Numerical simulations:) 22 1 1694 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Optima 90 100 mul 1000 div 2820 16 0.00 0.00 0.00 1.00 (Black) false SET 4868 6586 9.3475 4.4101 ( Many numerical problems are now con-) 38 7 3069 OUT 2857 6780 24.9541 4.4101 (sidered solved, in the sense that commercial software packages are) 66 9 5080 OUT 2857 6974 8.8796 4.4101 (available that give accurate solutions efficiently.) 51 5 3546 OUT 3016 7168 0.0000 0.0000 (¥) 1 0 96 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Optima-Oblique 90 100 mul 1000 div 2820 16 0.00 0.00 0.00 1.00 (Black) false SET 3174 7168 0.0000 -0.5425 (Symbolic manipulation:) 22 1 1620 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Optima 90 100 mul 1000 div 2820 16 0.00 0.00 0.00 1.00 (Black) false SET 4794 7168 0.0000 -0.5425 ( Using computers to solve algebraic problems) 45 7 3143 OUT 2857 7362 36.4243 4.4101 (is more a computing task than a mathematical one, and using an) 62 11 5080 OUT 2857 7556 20.6892 4.4101 (algebraic manipulation system requires a thorough understanding of) 66 7 5080 OUT 2857 7750 8.8150 4.4101 (the programming art, as well as one of mathematics.) 51 8 3863 OUT 3016 8050 38.7265 4.4101 (A physicist need not be an expert computer scientist, but well-) 63 10 4921 OUT 2857 8244 5.0866 4.4101 (informed use of computers can be more effective than the ad hoc use) 67 12 5080 OUT 2857 8438 11.1934 4.4101 (that pervades the physics community. Knowing what computers can) 64 9 5080 OUT 2857 8632 25.0299 4.4101 (do and how they do it enables physicists to constructively criticize) 68 10 5080 OUT 2857 8826 19.5013 4.4101 (research based on computer methods. Physicists need both healthy) 65 9 5080 OUT 2857 9020 3.2164 4.4101 (skepticism about the possibly erroneous output of computer programs) 67 8 5080 OUT 2857 9214 17.1334 4.4101 (and an appreciation that computers can solve problems that are un-) 66 10 5080 OUT 2857 9408 8.7755 4.4101 (manageable by other means.) 26 3 2103 OUT 3016 9602 2.8332 4.4101 (In addition, with computers controlling and interpreting so much in) 67 9 4921 OUT 2857 9796 7.0280 4.4101 (modern experiments, there are important issues in the design of large) 69 10 5080 OUT 2857 9990 15.8793 4.4101 (experiments that depend on understanding of a computerÕs capabili-) 66 8 5080 OUT 2857 10184 19.8132 4.4101 (ties for proper solution. Without some experience in real-time pro-) 68 10 5080 OUT 2857 10378 3.9030 4.4101 (gramming, an experimentalist might be surprised that the on-line pro-) 69 9 5080 OUT 2857 10572 23.1660 4.4101 (cessing power is insufficient to keep up with the data flowing from) 67 11 5080 OUT 2857 10766 14.9445 4.4101 (the apparatus; for example, the processor may be too busy servicing) 67 10 5080 OUT 2857 10960 23.7007 4.4101 (I/O interrupts keeping the experiment running to perform first-order) 68 8 5080 OUT 2857 11154 8.6685 4.4101 (event rejection.) 16 1 1133 OUT 0. 0. 10795. 13970. true PBEGIN 0. 0. LW 2310. 11492. 8669. 11668. PRECT 0.00 0.00 0.00 0.00 (Paper) PREGISCOLOR PPAINT PRESETTINT PEND AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Optima-Oblique 90 100 mul 1000 div 2820 16 0.00 0.00 0.00 1.00 (Black) false SET 6218 11408 8.9197 4.4101 (continued on next page) 22 3 1734 OUT ENDPAGE %%Page: 127 12 BEGPAGE AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Italic 80 100 mul 1000 div 2660 16 0.00 0.00 0.00 1.00 (Black) false SET 2540 2134 6.9372 3.5273 (EDUCATION IN CS&E) 17 2 1520 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Italic 100 100 mul 1000 div 3320 16 0.00 0.00 0.00 1.00 (Black) false SET 7991 2134 0.0000 -0.0787 (127) 3 0 264 OUT 0. 0. 10795. 13970. true PBEGIN 0. 0. LW 90. PTINT 2549. 2408. 8246. 9075. PRECT 0.00 0.00 0.00 1.00 (Black) PCOLOR PPAINT PRESETTINT 9. 9. LW 2540. 2399. 8255. 9084. PRECT 0.00 0.00 0.00 1.00 (Black) PCOLOR PFRAME PRESETTINT PEND AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Optima 90 100 mul 1000 div 2820 16 0.00 0.00 0.00 1.00 (Black) false SET 3016 2970 24.1538 4.4101 (Good algorithms can mean the difference between an unsolvable) 61 8 4921 OUT 2857 3164 12.2547 4.4101 (problem and an tractable one. In percolation problems, the obvious) 67 10 5080 OUT 2857 3358 11.4571 4.4102 (algorithms execute in a time proportional to ) 45 7 3322 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Optima-Oblique 90 100 mul 1000 div 2820 16 0.00 0.00 0.00 1.00 (Black) false SET 6179 3358 0.0000 4.4122 (n) 1 0 93 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Optima 63 100 mul 1000 div 1980 16 0.00 0.00 0.00 1.00 (Black) false SET 6271 3305 0.0000 3.0880 (2) 1 0 65 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Optima 90 100 mul 1000 div 2820 16 0.00 0.00 0.00 1.00 (Black) false SET 6336 3358 11.4576 4.4099 (, where ) 8 2 614 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Optima-Oblique 90 100 mul 1000 div 2820 16 0.00 0.00 0.00 1.00 (Black) false SET 6950 3358 0.0000 4.4122 (n) 1 0 93 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Optima 90 100 mul 1000 div 2820 16 0.00 0.00 0.00 1.00 (Black) false SET 7043 3358 11.4572 4.4101 ( is the num-) 12 3 894 OUT 2857 3552 38.8816 4.4101 (ber of occupied sites in a cluster. Algorithms based on sets and) 65 12 5080 OUT 2857 3746 16.5753 4.4101 (graphs solve the same problem in time proportional to ) 54 9 4136 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Optima-Oblique 90 100 mul 1000 div 2820 16 0.00 0.00 0.00 1.00 (Black) false SET 6993 3746 0.0000 4.4091 (n) 1 0 93 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Optima 90 100 mul 1000 div 2820 16 0.00 0.00 0.00 1.00 (Black) false SET 7086 3746 16.5745 4.4099 ( log ) 5 2 355 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Optima-Oblique 90 100 mul 1000 div 2820 16 0.00 0.00 0.00 1.00 (Black) false SET 7441 3746 0.0000 4.4091 (n) 1 0 93 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Optima 90 100 mul 1000 div 2820 16 0.00 0.00 0.00 1.00 (Black) false SET 7533 3746 16.5745 4.4101 (. On) 5 2 404 OUT 2857 3940 21.5611 4.4101 (problems involving a million sites, a 50-year calculation can be re-) 68 10 5080 OUT 2857 4134 8.6419 4.4101 (duced to hours.) 15 2 1147 OUT 3016 4328 20.0129 4.4101 (Finally, though many physicists believe that FORTRAN is the lan-) 64 9 4921 OUT 2857 4522 33.4594 4.4101 (guage of choice for many problems, it has many limitations when) 63 10 5080 OUT 2857 4716 44.1058 4.4109 (compared to modern programming languages that make programs) 59 7 5080 OUT 2857 4910 0.0000 4.2697 (easier to write, understand, and debug. For example, FORTRAN lacks) 67 10 5080 OUT 2857 5104 22.4519 4.4101 (facilities for structuring data. An ideal gas particle is characterized) 72 10 5080 OUT 2857 5298 0.6954 4.4101 (by a position 3-vector, a velocity 3-vector, and a mass. In FORTRAN,) 69 12 5080 OUT 2857 5492 23.3323 4.4101 (these variables would be stored in separate arrays, and a particular) 68 10 5080 OUT 2857 5686 3.6101 4.4101 (particle identified by an index into the arrays. In a modern language,) 71 12 5080 OUT 2857 5880 34.0102 4.4101 (the variables of each particle can be grouped together in a single) 66 11 5080 OUT 2857 6074 8.7905 4.4101 (structure and treated as a unit. For example:) 46 8 3312 OUT 3016 6268 8.8593 4.4101 (structure Particle) 18 1 1230 OUT 3016 6462 8.8836 4.4101 ( {) 2 1 110 OUT 3175 6462 8.7779 4.4101 (float pos[3];) 15 3 997 OUT 3175 6656 8.8166 4.4101 (float vel[3];) 15 3 961 OUT 3175 6850 8.8047 4.4101 (float mass;) 13 3 891 OUT 3175 7044 8.8319 4.4101 (character particle_description[10] } ;) 39 4 2743 OUT 2857 7433 11.3898 4.4101 (The Particle structure contains all the information about a particle in) 71 10 5080 OUT 2857 7627 12.7438 4.4101 (a single place, and the different components of the data have names) 67 11 5080 OUT 2857 7821 8.6813 4.4101 (with mnemonic significance.) 27 2 2108 OUT 2857 8209 19.5470 4.4101 (SOURCE: Adapted from Robert Pike, ) 35 6 2874 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Optima-Oblique 90 100 mul 1000 div 2820 16 0.00 0.00 0.00 1.00 (Black) false SET 5731 8209 19.5466 4.4101 (Physics vs Computer Science,) 28 3 2206 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Optima 90 100 mul 1000 div 2820 16 0.00 0.00 0.00 1.00 (Black) false SET 2857 8403 0.0000 0.8401 (AT&T Technical Memorandum, MH-11271-RCP-unix, October 11, 1982.) 63 6 5080 OUT 2857 8597 3.4552 4.4101 (Presented at Workshop on Software in High Energy Physics CERN 82-) 65 10 5080 OUT 2857 8791 0.0000 4.3408 (12.) 3 0 229 OUT 0. 0. 10795. 13970. true PBEGIN 0. 0. LW 2416. 2346. 8625. 2452. PRECT 0.00 0.00 0.00 0.00 (Paper) PREGISCOLOR PPAINT PRESETTINT PEND AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Optima-Oblique 90 100 mul 1000 div 2820 16 0.00 0.00 0.00 1.00 (Black) false SET 2854 2632 9.0280 4.4101 (Box 4.2 continued) 17 2 1350 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Roman 100 100 mul 1000 div 3340 16 0.00 0.00 0.00 1.00 (Black) false SET 2857 9895 12.6555 4.4092 (CS&E education has a major service role to play. But for a vari-) 65 13 5397 OUT 2540 10107 10.3773 4.4092 (ety of reasons, CS&E has been unable to fully meet its obligations in) 69 12 5715 OUT 2540 10319 26.6089 4.4092 (this role. The most significant reason has been the enormous load) 66 11 5715 OUT 2540 10530 17.9914 4.4092 (placed on CS&E departments to teach their own majors. For exam-) 64 11 5715 OUT 2540 10742 15.0554 4.4092 (ple, in the mid-1980s, at some institutions the average CS&E faculty) 68 10 5715 OUT 2540 10954 8.1278 4.4092 (member was teaching twice as many credit hours as his or her coun-) 66 12 5715 OUT 2540 11165 18.9963 4.4092 (terpart in engineering disciplines, and the ratio of degrees awarded) 68 9 5715 OUT 2540 11377 21.6579 4.4092 (per faculty member in CS&E is still more than twice that of all sci-) 68 13 5715 OUT ENDPAGE %%Page: 128 13 BEGPAGE AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Italic 100 100 mul 1000 div 3320 16 0.00 0.00 0.00 1.00 (Black) false SET 2557 2134 0.0000 -0.0787 (128) 3 0 264 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Italic 80 100 mul 1000 div 2660 16 0.00 0.00 0.00 1.00 (Black) false SET 6396 2134 6.9510 3.5273 (COMPUTING THE FUTURE) 20 2 1876 OUT 0. 0. 10795. 13970. true PBEGIN 0. 0. LW 90. PTINT 2548. 2408. 8245. 11527. PRECT 0.00 0.00 0.00 1.00 (Black) PCOLOR PPAINT PRESETTINT 9. 9. LW 2539. 2399. 8254. 11536. PRECT 0.00 0.00 0.00 1.00 (Black) PCOLOR PFRAME PRESETTINT PEND AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Optima 90 100 mul 1000 div 2820 16 0.00 0.00 0.00 1.00 (Black) false SET 3279 2917 8.7804 4.4101 (BOX 4.3 A 1982 VIEW OF SOME COMPUTER SCIENCE) 46 10 4238 OUT 4337 3111 8.8551 4.4101 (FOR PHYSICISTS TO KNOW) 22 3 2121 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse true S_LOADFONT %%IncludeFont: Optima-BoldOblique (Optima-BoldOblique) FTRECODE SUSAVE /|______Optima-BoldOblique 90 100 mul 1000 div 2820 16 0.00 0.00 0.00 1.00 (Black) false SET 2857 3499 7.6402 4.4102 (Machine models.) 15 1 1256 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Optima 90 100 mul 1000 div 2820 16 0.00 0.00 0.00 1.00 (Black) false SET 4113 3499 7.6407 4.4101 ( What a computer can do; the notion of an instruc-) 51 11 3824 OUT 2857 3693 14.6172 4.4101 (tion; recursion and iteration; basic complexity theory. Writing good) 69 9 5080 OUT 2857 3887 25.3185 4.4101 (programs requires some understanding of what computers are, how) 63 8 5080 OUT 2857 4081 8.8129 4.4101 (they perform computation, and how long the computation will take.) 65 9 5010 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Optima-BoldOblique 90 100 mul 1000 div 2820 16 0.00 0.00 0.00 1.00 (Black) false SET 2857 4469 6.3541 4.4102 (Algorithms and data structures.) 31 3 2334 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Optima 90 100 mul 1000 div 2820 16 0.00 0.00 0.00 1.00 (Black) false SET 5191 4469 6.3543 4.4101 ( Basic algorithms; sorting; graph the-) 39 6 2746 OUT 2857 4663 9.4488 4.4101 (ory; abstract data types. The simplest solution to a problem may be) 69 13 5080 OUT 2857 4857 3.6507 4.4101 (very different from a DO loop, and the data to describe parameters in) 69 12 5080 OUT 2857 5051 14.8289 4.4101 (the problem may be represented poorly by integers or arrays. Some) 66 11 5080 OUT 2857 5245 1.8790 4.4101 (understanding of the basic algorithms and data structures of computer) 69 9 5080 OUT 2857 5439 8.8733 4.4101 (science can make simple solutions easier to find.) 49 7 3608 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Optima-BoldOblique 90 100 mul 1000 div 2820 16 0.00 0.00 0.00 1.00 (Black) false SET 2857 5827 13.1637 4.4101 (Programming languages and parsing.) 34 3 2739 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Optima 90 100 mul 1000 div 2820 16 0.00 0.00 0.00 1.00 (Black) false SET 5596 5827 13.1640 4.4102 ( FORTRAN viewed as one lan-) 28 6 2341 OUT 2857 6021 31.2239 4.4101 (guage, not the only language; Pascal or some other language with) 64 10 5080 OUT 2857 6215 11.2143 4.4101 (data structures; parsing techniques. Learning two or more languages) 68 9 5080 OUT 2857 6409 20.3697 4.4101 (gives a much better understanding of what a computer can do, and) 64 11 5080 OUT 2857 6603 18.5334 4.4101 (how to make it do it. As with the wave and matrix formulations of) 66 14 5080 OUT 2857 6797 11.4159 4.4101 (quantum mechanics, some problems are easier to handle in one lan-) 65 10 5080 OUT 2857 6992 28.9577 4.4101 (guage than in another. The FORTRAN part of a course should be) 62 12 5080 OUT 2857 7186 1.2313 4.4101 (handled as necessary background, teaching not only how to use FOR-) 66 10 5080 OUT 2857 7380 29.6890 4.4101 (TRAN but how to avoid it when possible, or at least overcome its) 64 12 5080 OUT 2857 7574 12.6403 4.4101 (inadequacies. Physicists sometimes write special programs that read) 68 8 5080 OUT 2857 7768 19.7518 4.4101 (some input language, and knowledge of parsing theory may help in) 64 10 5080 OUT 2857 7962 4.6908 4.4101 (designing a language that can be easily handled by both the physicist) 69 11 5080 OUT 2857 8156 8.7082 4.4101 (and the computer.) 17 2 1341 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Optima-BoldOblique 90 100 mul 1000 div 2820 16 0.00 0.00 0.00 1.00 (Black) false SET 2857 8544 24.7984 4.4102 (Numerical analysis.) 19 1 1467 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Optima 90 100 mul 1000 div 2820 16 0.00 0.00 0.00 1.00 (Black) false SET 4324 8544 24.7984 4.4101 ( Basic error analysis; what numerical problems) 47 7 3613 OUT 2857 8738 25.7077 4.4101 (computers can solve; where to get subroutines to do the job. It is) 67 13 5080 OUT 2857 8932 5.5293 4.4101 (much more important to give guidelines for finding a solution than to) 69 11 5080 OUT 2857 9126 7.2819 4.4101 (develop the skills to write libraries of numerical analysis subroutines.) 72 9 5080 OUT 2857 9320 26.4189 4.4101 (Physicists must be aware of what problems are solvable by current) 65 10 5080 OUT 2857 9514 16.9740 4.4101 (numerical software, what commercial subroutines are available, and) 66 7 5080 OUT 2857 9708 8.8477 4.4101 (how to express their problems in a form suitable for solution.) 62 10 4512 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Optima-BoldOblique 90 100 mul 1000 div 2820 16 0.00 0.00 0.00 1.00 (Black) false SET 2857 10096 9.9699 4.4102 (Operating systems and real-time programming.) 44 4 3506 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Optima 90 100 mul 1000 div 2820 16 0.00 0.00 0.00 1.00 (Black) false SET 6363 10096 9.9699 4.4101 ( I/O architecture; in-) 23 4 1574 OUT 2857 10290 0.0000 2.9871 (terrupts; real-time processing; multiprogramming. Modern experiments) 69 6 5080 OUT 2857 10484 36.5315 4.4101 (require computer control, and a physicist needs at least the basic) 66 10 5080 OUT 2857 10678 3.2366 4.4101 (notions of how a computer can control a machine. Interrupts allow a) 68 12 5080 OUT 2857 10872 23.4822 4.4101 (processor to service multiple I/O ports conveniently, but a program) 67 9 5080 OUT 2857 11066 7.1521 4.4101 (that spends much time servicing interrupts may be unable to keep up) 67 11 5080 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Optima-Oblique 90 100 mul 1000 div 2820 16 0.00 0.00 0.00 1.00 (Black) false SET 6218 11408 8.9197 4.4101 (continued on next page) 22 3 1734 OUT 0. 0. 10795. 13970. true PBEGIN 0. 0. LW 2257. 11501. 8713. 11659. PRECT 0.00 0.00 0.00 0.00 (Paper) PREGISCOLOR PPAINT PRESETTINT PEND ENDPAGE %%Page: 129 14 BEGPAGE AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Italic 80 100 mul 1000 div 2660 16 0.00 0.00 0.00 1.00 (Black) false SET 2540 2134 6.9372 3.5273 (EDUCATION IN CS&E) 17 2 1520 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Italic 100 100 mul 1000 div 3320 16 0.00 0.00 0.00 1.00 (Black) false SET 7991 2134 0.0000 -0.0787 (129) 3 0 264 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Roman 100 100 mul 1000 div 3340 16 0.00 0.00 0.00 1.00 (Black) false SET 2540 7585 39.3403 4.4092 (ence and engineering disciplines taken together \(see Figure 8.5 in) 66 9 5715 OUT 2540 7796 12.1119 4.4092 (Chapter 8\).) 11 1 929 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Roman 70 100 mul 1000 div 2340 16 0.00 0.00 0.00 1.00 (Black) false SET 3469 7737 0.0000 3.0865 (10) 2 0 127 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Roman 100 100 mul 1000 div 3340 16 0.00 0.00 0.00 1.00 (Black) false SET 2857 8008 28.2334 4.4092 (The bulk of service offerings should stress the CS&E necessary) 62 9 5397 OUT 2540 8220 0.0000 2.2928 (for effective computing practice. Service offerings should teach proven) 72 9 5715 OUT 2540 8431 6.5653 4.4092 (techniques, models, and principles, with the intent of promoting and) 68 9 5715 OUT 2540 8643 9.5840 4.4092 (enhancing the utility of computing in general. They should not take) 68 11 5715 OUT 2540 8855 31.2387 4.4092 (on the appearance of either Òcomputer appreciationÓ or vocational) 65 8 5715 OUT 2540 9066 5.4714 4.4092 (training; the needs of discipline ) 34 5 2676 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Italic 100 100 mul 1000 div 3320 16 0.00 0.00 0.00 1.00 (Black) false SET 5216 9066 0.0000 4.4090 (X) 1 0 132 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Roman 100 100 mul 1000 div 3340 16 0.00 0.00 0.00 1.00 (Black) false SET 5347 9066 5.4714 4.4093 ( for instruction in specific languag-) 37 5 2908 OUT 2540 9278 34.3690 4.4092 (es, software packages, or Òcomputational ) 41 5 3603 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Italic 100 100 mul 1000 div 3320 16 0.00 0.00 0.00 1.00 (Black) false SET 6143 9278 0.0000 4.4082 (X) 1 0 132 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Roman 100 100 mul 1000 div 3340 16 0.00 0.00 0.00 1.00 (Black) false SET 6274 9278 34.3688 4.4093 (Ó will typically best be) 24 4 1981 OUT 2540 9490 8.8076 4.4092 (met from within that discipline.) 32 4 2648 OUT 2857 9701 36.6087 4.4092 (The reach of service activities may be multiplied by computer) 61 9 5397 OUT 2540 9913 0.0000 -1.4020 (scientists helping, through consultation and teamwork, computer-oriented) 72 6 5715 OUT 2540 10125 6.7471 4.4092 (courses in other disciplines to adopt unifying terminology and view-) 68 9 5715 OUT 2540 10336 12.4525 4.4092 (points from computing. The concomitant interaction with faculty in) 67 9 5715 OUT 2540 10548 0.5274 4.4092 (other disciplines may incidentally reveal interesting computing prob-) 69 7 5715 OUT 2540 10760 8.7846 4.4092 (lems. It cannot help but further the goal of broadening CS&E.) 62 11 5196 OUT 2857 10971 0.0000 1.1411 (Finally, CS&E should actively promote minors in CS&E \(and double) 64 9 5397 OUT 2540 11183 14.1912 4.4092 (majors\). Society needs people in all fields who have a deep enough) 67 12 5715 OUT 2540 11395 4.7666 4.4092 (understanding of computing to apply computing effectively and effi-) 67 8 5715 OUT 0. 0. 10795. 13970. true PBEGIN 0. 0. LW 90. PTINT 2549. 2408. 8246. 6623. PRECT 0.00 0.00 0.00 1.00 (Black) PCOLOR PPAINT PRESETTINT 9. 9. LW 2540. 2399. 8255. 6632. PRECT 0.00 0.00 0.00 1.00 (Black) PCOLOR PFRAME PRESETTINT PEND AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Optima 90 100 mul 1000 div 2820 16 0.00 0.00 0.00 1.00 (Black) false SET 2857 3005 29.6334 4.4101 (with the incoming data. Operating systems face the same sorts of) 65 11 5080 OUT 2857 3199 37.0401 4.4101 (problems, and the techniques developed to solve themÑprocesses) 62 7 5080 OUT 2857 3393 16.9297 4.4101 (and inter-process communication, buffering, and so onÑare directly) 66 7 5080 OUT 2857 3587 8.7800 4.4101 (applicable to real-time control of experiments.) 47 5 3413 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Optima-BoldOblique 90 100 mul 1000 div 2820 16 0.00 0.00 0.00 1.00 (Black) false SET 2857 3975 0.0000 4.4100 (Graphics.) 9 0 710 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Optima 90 100 mul 1000 div 2820 16 0.00 0.00 0.00 1.00 (Black) false SET 3567 3975 9.2524 4.4101 ( Bitmap and vector displays; interactive graphics; data dis-) 61 9 4370 OUT 2857 4169 17.5441 4.4101 (play; 3-d graphics. Physics describes the interrelationships between) 69 8 5080 OUT 2857 4363 18.7836 4.4101 (the variables in a system, and graphs are used constantly to present) 68 11 5080 OUT 2857 4557 6.9798 4.4101 (and explore relationships. Computers are good at drawing graphs on) 67 10 5080 OUT 2857 4751 6.9776 4.4101 (paper, but they can also be used interactively to explore dynamically) 69 10 5080 OUT 2857 4945 8.7809 4.4101 (the properties of a function or the parameters of a system in pictorial) 71 12 5080 OUT 2857 5139 17.6471 4.4101 (form. As with numerical methods, familiarity with commercial soft-) 67 9 5080 OUT 2857 5333 7.9907 4.4101 (ware is more important than being able to create new graphics pack-) 67 11 5080 OUT 2857 5527 0.0000 4.4038 (ages.) 5 0 362 OUT 2857 5916 1.7188 4.4101 (SOURCE: Adapted with minimal change from Robert Pike, ) 55 9 4351 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Optima-Oblique 90 100 mul 1000 div 2820 16 0.00 0.00 0.00 1.00 (Black) false SET 7208 5916 1.7189 4.4101 (Physics vs) 10 1 729 OUT 2857 6110 23.7037 4.4102 (Computer Science,) 17 1 1395 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Optima 90 100 mul 1000 div 2820 16 0.00 0.00 0.00 1.00 (Black) false SET 4252 6110 23.7042 4.4101 ( AT&T Technical Memorandum, MH-11271-RCP-) 41 4 3685 OUT 2857 6304 8.9547 4.4101 (unix, October 11, 1982.) 23 3 1782 OUT 0. 0. 10795. 13970. true PBEGIN 0. 0. LW 2381. 2275. 8554. 2452. PRECT 0.00 0.00 0.00 0.00 (Paper) PREGISCOLOR PPAINT PRESETTINT PEND AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Optima-Oblique 90 100 mul 1000 div 2820 16 0.00 0.00 0.00 1.00 (Black) false SET 2868 2675 9.0280 4.4101 (Box 4.3 continued) 17 2 1350 OUT ENDPAGE %%Page: 130 15 BEGPAGE AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Italic 100 100 mul 1000 div 3320 16 0.00 0.00 0.00 1.00 (Black) false SET 2557 2134 0.0000 -0.0787 (130) 3 0 264 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Italic 80 100 mul 1000 div 2660 16 0.00 0.00 0.00 1.00 (Black) false SET 6396 2134 6.9510 3.5273 (COMPUTING THE FUTURE) 20 2 1876 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Roman 100 100 mul 1000 div 3340 16 0.00 0.00 0.00 1.00 (Black) false SET 2539 2540 0.0000 1.3332 (ciently, but such understanding does not come from one or two courses.) 70 11 5715 OUT 2539 2752 8.8129 4.4092 (A minor in computer science will more suitably satisfy this need.) 65 10 5431 OUT 2857 2963 1.5686 4.4092 (Unfortunately, double majors and minors are usually only for the) 64 9 5397 OUT 2539 3175 9.1805 4.4092 (most gifted and hardworking students. Another approach would be) 64 9 5715 OUT 2539 3387 32.0667 4.4092 (to develop a joint program between CS&E and a discipline ) 57 10 5184 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Italic 100 100 mul 1000 div 3320 16 0.00 0.00 0.00 1.00 (Black) false SET 7723 3387 0.0000 4.4091 (X) 1 0 132 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Roman 100 100 mul 1000 div 3340 16 0.00 0.00 0.00 1.00 (Black) false SET 7854 3387 32.0678 4.4091 ( that) 5 1 400 OUT 2539 3598 26.6308 4.4093 (uses computation heavily. Both CS&E and ) 41 7 3757 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Italic 100 100 mul 1000 div 3320 16 0.00 0.00 0.00 1.00 (Black) false SET 6296 3598 0.0000 4.4078 (X) 1 0 132 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Roman 100 100 mul 1000 div 3340 16 0.00 0.00 0.00 1.00 (Black) false SET 6428 3598 26.6303 4.4093 ( would relax some of) 20 4 1826 OUT 2539 3810 0.1996 4.4092 (their degree requirements so that a suitable degree in Òcomputational) 69 9 5715 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Italic 100 100 mul 1000 div 3320 16 0.00 0.00 0.00 1.00 (Black) false SET 2539 4022 0.0000 4.4091 (X) 1 0 132 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Roman 100 100 mul 1000 div 3340 16 0.00 0.00 0.00 1.00 (Black) false SET 2671 4022 40.2754 4.4092 (Ó could be developedÑone strict enough to satisfy conventional) 62 8 5583 OUT 2539 4233 16.5907 4.4092 (standards for a degree but relaxed enough so that a normal student) 66 11 5715 OUT 2539 4445 8.9389 4.4092 (could handle the requirements.) 30 3 2592 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Bold 100 100 mul 1000 div 3520 16 0.00 0.00 0.00 1.00 (Black) false SET 3858 4974 8.7943 4.4092 (THE MASTERÕS DEGREE IN CS&E) 27 4 3079 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Roman 100 100 mul 1000 div 3340 16 0.00 0.00 0.00 1.00 (Black) false SET 2857 5292 11.0362 4.4092 (As discussed above, a four-year undergraduate curriculum is in-) 63 8 5397 OUT 2539 5503 12.9087 4.4092 (adequate to satisfy many of the needs of industry. A four-year pro-) 68 12 5715 OUT 2539 5715 27.8788 4.4092 (gram is simply unable to provide the kind of professional training) 66 10 5715 OUT 2539 5927 0.0000 4.1432 (that industry often desires in software engineering, management, and) 68 8 5715 OUT 2539 6138 7.1174 4.4092 (the like. Accordingly, the committee believes more emphasis should) 67 9 5715 OUT 2539 6350 31.9305 4.4092 (be placed on a masterÕs degree or master-of-engineering degree in) 65 9 5715 OUT 2539 6562 31.3305 4.4092 (which this professional training could be achieved, even though it) 66 9 5715 OUT 2539 6773 43.7958 4.4092 (recognizes the difficulty of implementing such a change in many) 63 9 5715 OUT 2539 6985 0.0000 4.4095 (institutions.) 13 0 981 OUT 2857 7197 39.6131 4.4092 (A masterÕs degree can also be used to develop deeper under-) 59 10 5397 OUT 2539 7408 14.3821 4.4092 (standing about the nature of CS&E as an intellectual discipline, as a) 69 11 5715 OUT 2539 7620 27.6385 4.4092 (prelude to possible Ph.D. work, or to broaden the perspective of a) 66 11 5715 OUT 2539 7832 3.1877 4.4092 (student who has previously focused in a narrow way on CS&E. Both) 65 12 5715 OUT 2539 8043 25.6135 4.4092 (deepening and broadening could be synergistically achieved by re-) 65 8 5715 OUT 2539 8255 19.5083 4.4092 (quiring a design project that involves some substantial topic within) 68 9 5715 OUT 2539 8467 13.0831 4.4092 (CS&E \(for deepening\) or some topic outside CS&E \(for broadening\).) 65 9 5715 OUT 2539 8678 1.7445 4.4092 (Such a degree might be especially useful to students graduating from) 68 10 5715 OUT 2539 8890 3.0245 4.4092 (four-year liberal arts programs that have a relatively large number of) 70 10 5715 OUT 2539 9102 0.0000 4.3824 (electives.) 10 0 750 OUT 2857 9313 26.6853 4.4092 (The undergraduate curriculum should be a foundation for pro-) 60 8 5397 OUT 2539 9525 6.8390 4.4092 (fessional achievement. A masterÕs-level program and continuing ed-) 67 8 5715 OUT 2539 9737 12.8688 4.4092 (ucation programs could more closely approximate programs that do) 64 8 5715 OUT 2539 9948 11.5739 4.4092 (provide professional certification. A program of mutual exploration) 68 8 5715 OUT 2539 10160 34.0205 4.4092 (between academia and industry could result in masterÕs programs) 63 8 5715 OUT 2539 10372 8.8376 4.4092 (that would better suit industrial needs.) 40 5 3251 OUT 2857 10583 2.3391 4.4092 (Certain individual companies and organizations do recognize the) 63 7 5397 OUT 2539 10795 3.4499 4.4092 (value of masterÕs degree programs. Before its divestiture, AT&T was) 68 10 5715 OUT 2539 11007 1.4929 4.4092 (famous for its one-year-on-campus \(OYOC\) program, which support-) 64 7 5715 OUT 2539 11218 16.8193 4.4092 (ed hundreds of new hires each year in masterÕs degree programs in) 65 11 5715 OUT 2539 11430 0.0000 2.9387 (CS&E, electrical engineering, physics, and neighboring fields. Bellcore) 72 8 5715 OUT ENDPAGE %%Page: 131 16 BEGPAGE AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Italic 80 100 mul 1000 div 2660 16 0.00 0.00 0.00 1.00 (Black) false SET 2540 2134 6.9372 3.5273 (EDUCATION IN CS&E) 17 2 1520 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Italic 100 100 mul 1000 div 3320 16 0.00 0.00 0.00 1.00 (Black) false SET 7991 2134 0.0000 -0.0787 (131) 3 0 264 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Roman 100 100 mul 1000 div 3340 16 0.00 0.00 0.00 1.00 (Black) false SET 2540 2540 21.7609 4.4092 (has recently teamed with Carnegie Mellon University to establish a) 66 9 5715 OUT 2540 2752 30.5915 4.4092 (masterÕs degree program that covers computer networks, business,) 64 7 5715 OUT 2540 2963 12.7516 4.4092 (and management. The Software Engineering Institute in Pittsburgh,) 66 8 5715 OUT 2540 3175 21.6450 4.4092 (sponsored by the Department of Defense, is engaged in developing) 64 9 5715 OUT 2540 3387 0.0000 4.3003 (curricula for masterÕs degree programs in software engineering. Still,) 71 9 5715 OUT 2540 3598 18.5943 4.4092 (the committee believes that industry would be well advised to seek) 66 10 5715 OUT 2540 3810 7.5566 4.4092 (out CS&E masterÕs degree holders for software development and en-) 65 9 5715 OUT 2540 4022 8.8255 4.4092 (gineering positions to a much greater extent than it does now.) 62 10 5179 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Bold 100 100 mul 1000 div 3520 16 0.00 0.00 0.00 1.00 (Black) false SET 4104 4551 8.9089 4.4092 (THE Ph.D. DEGREE IN CS&E) 24 4 2586 OUT AldusDict2 /SUsv known {SURSTR} {AD_SomethingOnPage} ifelse SUSAVE /|______Palatino-Roman 100 100 mul 1000 div 3340 16 0.00 0.00 0.00 1.00 (Black) false SET 2857 4868 27.9798 4.4092 (CS&E graduate education at the Ph.D. level is today character-) 62 9 5397 OUT 2540 5080 6.4395 4.4092 (ized by traditions that have many elements in common with those of) 66 11 5715 OUT 2540 5292 10.8817 4.4092 (mathematics and many of the natural sciences. The graduate course) 66 10 5715 OUT 2540 5503 33.2295 4.4092 (work in most CS&E programs is concentra