📄 http:^^copper.ucs.indiana.edu^~s211^home.html
字号:
<LI> Required<UL><LI> G. Springer and D. Friedman: <EM>Scheme and the Art ofProgramming,</EM> MIT Press/McGraw Hill, 1989. We will cover most of thefirst three-quarters of this text. The <!WA41><AHREF="http://copper.ucs.indiana.edu/~s211/sap-source.ss">source code</A> is available.<LI> C211 course packet, available at <EM>The White Rabbit</EM>, 110 S.Indiana Ave. This packet contains a <!WA42><A HREF="http://copper.ucs.indiana.edu/~s211/tutortitle.html">tutorial</A>on the software systems the course uses, and the first assignment.</UL><LI> Recommended<UL><LI> D. P. Friedman and M. Felleisen, <EM>The Little Schemer,</EM>Fourth Edition, MIT Press, 1996. This little book is the bestintroduction to recursive programming that we know of, and is designedfor self study. Recursion is used throughout this course, but somestudents require extra material before they feel comfortable using it.If you are having any difficulty mastering recursion, we stronglyrecommend that you get this book and study it on your own.</UL><LI> Interpreters for Macs and PCs <UL> There is a fairly beautiful Scheme package available for <!WA43><ahref="http://copper.ucs.indiana.edu/~s211/MacGambit2.2.1.sea.bin">MacIntosh</a> and a less beautiful onefor <!WA44><a href="http://copper.ucs.indiana.edu/~s211/gambitc.zip">DOS</a>. </p></UL></UL><A NAME="syllabus"><H2>Syllabus and Lecture Scripts</H2></A>Most of the first three-quarters of the text <EM>Scheme and the Art ofProgramming</EM> will be covered. Approximately one week will be devotedto each of the chapters listed below.<P>The links in the following list are to script files that drive theon-line lecture presentations. The script file for chapter<EM>n</EM> may also be accessed on the machine copper as the file <KBD>~c211/www/script</KBD><EM>n</EM>.<p>Prof. Leone uses a <!WA45><a href="http://www.cs.indiana.edu/hyplan/mleone/c211-lectures.html">separate script for each lecture</a>, based on thescripts below (sometimes with more examples).<UL><LI> <!WA46><A HREF="http://copper.ucs.indiana.edu/~s211/script1">Chapter 1</A>: Data and operators <UL> <LI><!WA47><A HREF="http://copper.ucs.indiana.edu/~s211/emacs.html">Emacs Keybindings</A> </UL><LI> <!WA48><A HREF="http://copper.ucs.indiana.edu/~s211/script2">Chapter 2</A>: Procedures and recursion<LI><!WA49><A HREF="http://copper.ucs.indiana.edu/~s211/script3">Chapter 3</A>: Data abstraction and numbers<LI><!WA50><A HREF="http://copper.ucs.indiana.edu/~s211/script4">Chapter 4</A>: Data driven recursion<LI> <!WA51><A HREF="http://copper.ucs.indiana.edu/~s211/script5">Chapter 5</A>: Locally defined procedures <UL> <!WA52><A HREF="http://copper.ucs.indiana.edu/~s211/poly-alg.ss"> poly-alg.ss</A> <BR> <!WA53><A HREF="http://copper.ucs.indiana.edu/~s211/poly-rep1.ss"> poly-rep1.ss</A> <BR> <!WA54><A HREF="http://copper.ucs.indiana.edu/~s211/poly-rep2.ss"> poly-rep2.ss</A> <BR> <!WA55><A HREF="http://copper.ucs.indiana.edu/~s211/numrep.html"> Binary Notation</A> <BR> </UL><LI> <!WA56><A HREF="http://copper.ucs.indiana.edu/~s211/script6">Chapter 6</A>: Interactive programming<LI> <!WA57><A HREF="http://copper.ucs.indiana.edu/~s211/script7">Chapter 7</A>: Abstracting procedures<LI> <!WA58><A HREF="http://copper.ucs.indiana.edu/~s211/script9">Chapter 9</A>: Using vectors<LI> <!--<!WA59><A HREF="http://copper.ucs.indiana.edu/~s211/script10">-->Chapter 10<!--</A>-->: Sorting and searching<LI> <!--<!WA60><A HREF="http://copper.ucs.indiana.edu/~s211/script11">-->Chapter 11<!--</A>-->: Mutation<LI> <!--<!WA61><A HREF="http://copper.ucs.indiana.edu/~s211/script12">-->Chapter 12<!--</A>-->: Object-oriented programming</UL><A NAME="assignments"><H2>Assignments</H2></A>A programming assignment will be due almost every week. The assignmentswill appear below as they are assigned. Assignment <EM>n</EM> is alsoavailable as plain text in the file <KBD>~c211/www/a<EM>n</EM>F96.txt</KBD>.Links to answer files, with names of the form<KBD>~c211/www/ans<EM>n</EM>F96.ss</KBD> will be added as appropriate.<P><center><table border=1 align=center width="80%" ><tr><th> # </th><th> Assignment </th><th> Due </th><th> Answers </th></tr><tr><td align=center> 1 <td align=center> <!WA62><A HREF="http://copper.ucs.indiana.edu/~s211/a1F96.html"> Getting started</A> <td align=center> 9/11 @ 5pm <td align=center> -- </tr><tr><td align=center> 2 <td align=center> <!WA63><A HREF="http://copper.ucs.indiana.edu/~s211/a2F96.html"> Simple procedures</A> <td align=center> 9/18 @ 5pm<td align=center> <!WA64><A HREF="http://copper.ucs.indiana.edu/~s211/ans2F96.ss"> Answers</A></tr><tr><td align=center> 3<td align=center> <!WA65><A HREF="http://copper.ucs.indiana.edu/~s211/a3F96.html"> Simple recursion</A> <td align=center> 9/25 @ 5pm<td align=center> <!WA66><A HREF="http://copper.ucs.indiana.edu/~s211/ans3F96.ss"> Answers</A> </tr><tr><td align=center> 4<td align=center> <!WA67><A HREF="http://copper.ucs.indiana.edu/~s211/a4F96.html"> More on recursion</A> <td align=center> 10/2 @ 5pm<td align=center> <!WA68><A HREF="http://copper.ucs.indiana.edu/~s211/ans4F96.ss"> Answers</A> </tr><tr><td align=center> 5<td align=center> <!WA69><A HREF="http://copper.ucs.indiana.edu/~s211/a5F96.html"> Deep recursion</A> <td align=center> 10/11 (Fri) @ 5pm<td align=center> <!WA70><A HREF="http://copper.ucs.indiana.edu/~s211/ans5F96.ss"> Answers</A> </tr><tr><td align=center> 6<td align=center> <!WA71><A HREF="http://copper.ucs.indiana.edu/~s211/a6F96.html"> Iteration</A> <td align=center> 10/16 @ 5pm<td align=center> <!WA72><A HREF="http://copper.ucs.indiana.edu/~s211/ans6F96.ss"> Answers</A></tr><tr><td align=center> 7<td align=center> <!WA73><A HREF="http://copper.ucs.indiana.edu/~s211/a7F96.html"> Locally defined procedures and polynomials</A> <td align=center> 10/23 @ 5pm<td align=center> <!WA74><A HREF="http://copper.ucs.indiana.edu/~s211/ans7F96.ss"> Answers</A> </tr><tr><td align=center> 8<td align=center> <!WA75><A HREF="http://copper.ucs.indiana.edu/~s211/a8F96.html"> Binary Numbers, Data Abstraction, and Trees</a><td align=center> 10/30 @ 5pm<td align=center> <!WA76><A HREF="http://copper.ucs.indiana.edu/~s211/ans8F96.ss"> Answers</A> </tr><tr><td align=center> 9<td align=center> <!WA77><A HREF="http://copper.ucs.indiana.edu/~s211/a9F96.html"> Encodings and Interactive Programming</A> <td align=center> 11/8 (Fri) @ 5pm<td align=center> <!WA78><A HREF="http://copper.ucs.indiana.edu/~s211/ans9F96.ss"> Answers</A> </tr><tr><td align=center> 10<td align=center> <!WA79><A HREF="http://copper.ucs.indiana.edu/~s211/a10F96.html"> Procedures as Arguments and Building Huffman Trees </A><td align=center> 11/13 @ 5pm<td align=center> <!WA80><A HREF="http://copper.ucs.indiana.edu/~s211/ans10F96.ss"> Answers</A></tr><tr><td align=center> 11<td align=center> <!WA81><A HREF="http://copper.ucs.indiana.edu/~s211/a11F96.html"> Procedural Abstraction,Strings, and Vectors </A><td align=center> 11/26 (Tue) @ 5pm<!-- <td align=center> <!WA82><A HREF="http://copper.ucs.indiana.edu/~s211/ans11F96.ss"> Answers</A> --><!--</tr><tr><td align=center> 12<td align=center> <!WA83><A HREF="http://copper.ucs.indiana.edu/~s211/a12F96.html"> Assignment and Mutation </A><td align=center> 12/4 @ 5pm<td align=center> <!WA84><A HREF="http://copper.ucs.indiana.edu/~s211/ans12F96.ss"> Answers</A> </tr><tr><td align=center> 13<td align=center> <!WA85><A HREF="http://copper.ucs.indiana.edu/~s211/a13F96.html"> Sorting and Searching </A><td align=center> 12/11 @ 5pm<td align=center> <!WA86><A HREF="http://copper.ucs.indiana.edu/~s211/ans13F96.ss"> Answers</A> </tr>--></table></center><!--<LI> <!WA87><AHREF="http://iueval.cs.indiana.edu:5281/iueval/cgi-bin/course-form/semester=2summer96/course=c211-soor">Courseevaluation</A>. Please turnin by 5pm August 8 (Thursday).</UL>--><P> As submitted, all programs must run under Chez Scheme. It isrecommended that you use the UCS (University Computing Services)machines named <EM>copper</EM> and <EM>zinc</EM>. New students shouldhave a Network ID and instructions for creating copper and zincaccounts. <P> As soon as you have your account, you should configure it to runemacs, Scheme within emacs, and the handin program. This is done byentering <KBD>~c211/setup</KBD>, hitting <KBD>return</KBD>, and loggingout. <EM>You only have to do this once!</EM> When you login the nexttime, your account will be configured for C211. You have to configureboth your <EM>copper</EM> and <EM>zinc</EM> accounts. <P> Assignments will be posted on or before Wednesday afternoon and willbe due electronically by 5:00 p.m. on the Wednesday of the followingweek. Any written material will be due at the beginning of thelecture on that Thursday or Friday. Late assignments will not beaccepted! In computing the semester assignment average, the lowestassignment grade will be dropped. Although assignments count for only10% of the final grade, it is essential that you do the assignments tomaster the material. Computer programming, like playing a musicalinstrument, can only be mastered through lots of practice.<P>Programming assignments are submitted using the program<KBD>c211-handin</KBD> (in the directory <KBD>~c211/bin</KBD> oncopper and zinc). The handin program evaluates and grades yourprogram's behavior and the results are returned to you almostimmediately via email. Since <EM>zinc</EM> allows e-mail to be sentbut not received, you will have to read the grading results on themachine where you normally read your mail. You may correct andresubmit your programs as many as five times until the announceddeadline. The highest grade recorded for the assignment will be theone that is entered into the class gradebook. <P>In this course, you may discuss assignments with other students. (<EM>Donot</EM> assume this is true in all your courses!) We expect you toactually think through and fully understand assignment solutions. We havefound that students who copy someone elses work and turn in something theydo not fully understand usually fail the examinations and the 10% added byhaving good assignment grades is insufficient to pass the course. Teamworkin doing assignments is good as long as each member of the teamcontributes and fully understands the programs. This certainly meansthat you should not put your name on a file written by someone elseand submit it as your own work. <P>After the final submission of an assignment, it will not only beelectronically graded, but an Associate Instructor will also grade theassignment for style. Good programming style makes it easier to get yourprograms working and also develops the habit of <!WA88><AHREF="#literate">literate programming</A> which, as we have already noted,is of great importance in developing large programs. In this course goodstyle is also rewarded in the evaluation of exams. For Scheme programming,consistent use of a suitable style of program indentation is essential, andviolation of the first <!WA89><A HREF="http://copper.ucs.indiana.edu/~s211/indentation.html">cardinal rule ofindentation</A> will automaticaly result in loss of credit.<P><A NAME="communication"><H2>Communication</H2></A>The course newsgroups, <!WA90><A NAME=1 HREF="news:ac.csci.c211">ac.csci.c211</A> and,<!WA91><A NAME=1 HREF="news:ac.csci.h211">ac.csci.h211</A> will be usedto post announcements, such as assignments, exams, and any exceptionsto our usual office hours. You are also encouraged to use it to postquestions related to the course or share related information with theclass. Make a habit of looking for new notes a few times eachweek. On individual or personal matters, please feel free to contact yourinstructor or associate instructor via email. <P>Another newsgroup you should check regularly is <!WA92><A NAME=1HREF="news:cs,students">cs.students</A>, which contains importantannouncements from the Computer Science Department to all of itsstudents. It also contains interesting dialogs on various topics.<P>This course description is accessible as an HTML (hypertext markuplanguage) file on the WWW (World Wide Web) with the URL (Universal ResourceLocator) <KBD>http://copper.ucs.indiana.edu/~c211/home.html</KBD>. Itwill be updated with additional information, such as programming assignments,as the course progresses.<P>To view a resource given its URL, use the netscape program on anetworked PC or Mac. Netscape underlines HTML hypertext links. Tofollow a link, click on it. The URL for the computer sciencedepartment's home page is <!WA93><AHREF="http://www.cs.indiana.edu/home-page.html">http://www.cs.indiana.edu/home-page.html</A>, from which all sorts ofinformation can be obtained.<A NAME="evaluation"><H2>Evaluation</H2></A><UL><LI> 10% -- Assignments<LI> 28% -- Exam 1, 7:30-9:00 p.m., Tuesday, October 8th <DL> <DD> <!WA94><A HREF="http://copper.ucs.indiana.edu/~s211/topics1.html">Study Guide and Room Assignments</A> for the First Midterm Examination. <DD> A <!WA95><A HREF="http://copper.ucs.indiana.edu/~s211/midterm1.sample4">sample exam</A> for the first midterm examination. <DD> A <!WA96><A HREF="http://copper.ucs.indiana.edu/~s211/mid1F96.html">solution</a> to the first midterm examination. </DL> <LI> 28% -- Exam 2, 7:30-9:00 p.m., Tuesday, November 5th <DL> <DD> <!WA97><A HREF="http://copper.ucs.indiana.edu/~s211/t2s96.txt">Sample Exam</A> for the Second Midterm Examination. <DD> <!WA98><A HREF="http://copper.ucs.indiana.edu/~s211/topics2.html">Study Guide and Room Assignments</A> for the Second Midterm Examination. <DD> A <!WA99><A HREF="http://copper.ucs.indiana.edu/~s211/mid2F96.html">solution</a> to the second midterm examination. </DL><LI> 34% -- Final Exam<UL><LI> Sections 1118 and 1128: 12:30-2:30 p.m., Thursday, December 19th<LI> Sections 1123: 10:15 a.m.-12:15 p.m., Monday, December 16th <DL> <DD> <!WA100><A HREF="http://copper.ucs.indiana.edu/~s211/help-sessions.html">Help and Review Sessions</A> for the final exam. </DL></UL></UL>Mid-term and final exams locations will be announced.<P><H3><A NAME="gradebooks">Gradebooks</A></H3>The Electronic Gradebook for this course will be updated with eachassignment and exam.<P><UL><LI> Gradebook for <!WA101><AHREF="http://www.cs.indiana.edu/cgi-bin/grades/c211-leak/leake@cs.indiana.edu">Section 1118</A> <LI> Gradebook for <!WA102><AHREF="http://www.cs.indiana.edu/cgi-bin/grades/c211-leon/mleone@cs.indiana.edu">Section 1123</A> <LI> Gradebook for <!WA103><A HREF="http://www.cs.indiana.edu/cgi-bin/grades/h211-spri/springer@cs.indiana.edu">Section 1128</A> <LI> Gradebook for <!WA104><A HREF="http://www.cs.indiana.edu/cgi-bin/grades/c211-over/ehilsdal@cs.indiana.edu">Section 9060</A> </UL><A NAME="policies"><H2>Policies</H2></A><H3>Attendance</H3>Class attendance will not be monitored although regular attendance andclass participation are strongly recommended. Attendance at examinationsis compulsory and make-up examination will normally not be given. Nospecial assignments or projects will be given to help students raise theirgrades. <H3>Academic Integrity</H3>Read the Computer Science Department's <!WA105><AHREF="http://www.cs.indiana.edu/integrity.html"><EM>Statement on AcademicIntegrity</EM></A> to be sure you understand the rules under which computerscience courses operate. Cases of academic dishonesty will be reportedto the Office of Student Ethics, a branch of the Office of the Dean ofStudents.<H3>Withdrawal</H3>Withdrawal after Wednesday, October 30th, requires concurrence of the Deanbased on extenuating circumstances.<P><H3>Incomplete grade</H3>An incomplete (I) final grade will be given only by prior arrangement inexceptional circumstances conforming to university and departmental policyin which the bulk of course work has been completed in passing fashion.<P></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -