⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 http:^^copper.ucs.indiana.edu^~s211^home.html

📁 This data set contains WWW-pages collected from computer science departments of various universities
💻 HTML
📖 第 1 页 / 共 2 页
字号:
Date: Wed, 20 Nov 1996 22:32:59 GMTServer: NCSA/1.4.2Content-type: text/htmlLast-modified: Wed, 20 Nov 1996 04:36:06 GMTContent-length: 26844<html><head><TITLE>C211 and H211 Course Description</TITLE></head><BODY background="http://copper.ucs.indiana.edu/~c211/icons/background.gif" text="#000000" link="#0000ff"vlink="#0000bb"><center>  <!WA0><IMG SRC="http://copper.ucs.indiana.edu/~c211/icons/lambda.gif"       ALT=""       border=1></center><center><H1>C211 and H211 </H1><H1>Introduction to Computer Science</H1><H2>Fall 1996</H2></center><H2>Contents</H2><UL><LI> <!WA1><A HREF="#general">General information</A>   <UL>   <LI> Get your    <!WA2><A HREF="http://www.indiana.edu/~ucshelp/Accounts/accounts.html">   network id or an account on copper or zinc</A>.   <LI> A <!WA3><A HREF="http://copper.ucs.indiana.edu/~s211/tutorsF96.html">list of tutors</A> for C211.   </UL><LI> <!WA4><A HREF="#motivation">Motivation and description</A><LI> <!WA5><A HREF="#materials">Course materials</A><LI> <!WA6><A HREF="#syllabus">Syllabus and lecture scripts</A><LI> <!WA7><A HREF="#assignments">Assignments</A><LI> <!WA8><A HREF="#communication">Communication</A><LI> <!WA9><A HREF="#evaluation">Evaluation</A><LI> <!WA10><A HREF="#gradebooks">Gradebooks</A><LI> <!WA11><A HREF="#policies">Policies</A></UL><P><H2>What's New <FONT SIZE="-1">and</FONT> <!WA12><A HREF="http://copper.ucs.indiana.edu/~s211/old-news.html">What's Old</A></H2><UL> <LI> <FONT SIZE="-1">[11/19]</FONT>     <!WA13><A HREF="http://copper.ucs.indiana.edu/~s211/help-sessions.html">Help and Review Sessions</A> for the     final exam.<LI> <FONT SIZE="-1">[11/19]</FONT>     <!WA14><A HREF="http://copper.ucs.indiana.edu/~s211/ACM.html">Student Chapter of ACM</A> will have their     first meeting on Wednesday, November 20.<LI> <FONT SIZE="-1">[11/12]</FONT>     <!WA15><A HREF="http://copper.ucs.indiana.edu/~s211/disney-rave.html">Why Scheme?</A>An interesting     letter from Disney Studios.<LI> <FONT SIZE="-1">[11/6]</FONT>     <!WA16><A HREF="http://copper.ucs.indiana.edu/~s211/mid2F96.html">Solutions</A> to the Second Midterm     Examination. </UL><P> <H2><A NAME="general">General Information</A></H2><DL><DT> Instructors<DD> <!WA17><A NAME=1 HREF="http://www.cs.indiana.edu/hyplan/leake.html">	David Leake</A>, Section 1118	<DL>        <DD><EM>email: </EM>        <!WA18><A HREF="mailto:leake@cs.indiana.edu">leake@cs.indiana.edu</A>		<DD> <EM>Office:</EM> LH230D	<DD><EM>Phone:</EM> 855-9756	</DL>     <!WA19><A HREF="http://www.cs.indiana.edu/hyplan/mleone.html">	Mark Leone</A>, Section 1123 	<DL>	<DD><EM>email: </EM>        <!WA20><A HREF="mailto:mleone@cs.indiana.edu">mleone@cs.indiana.edu</A>	<DD> <EM>Office:</EM> LH201G 	<DD><EM>Phone:</EM> 855-6223	</DL>     <!WA21><A HREF="http://www.cs.indiana.edu/hyplan/springer.html">	George Springer</A>, Section 1128	<DL>	<DD><EM>email: </EM>        <!WA22><A HREF="mailto:springer@cs.indiana.edu">springer@cs.indiana.edu</A>	<DD> <EM>Office:</EM> 230B 	<DD><EM>Phone:</EM> 855-0918	</DL>     <!WA23><A HREF="http://www.cs.indiana.edu/hyplan/jsobel.html">	Jonathan Sobel</A> and      <!WA24><A HREF="http://www.cs.indiana.edu/hyplan/ehilsdal/">        Erik Hilsdale</A>, Section 9060 and Discussion section 9058        <DL>	<DD><!WA25><A HREF="http://www.cs.indiana.edu/hyplan/ehilsdal/c211over/">	<STRONG>New Home Page for This Section</STRONG></A>	<DD><EM>email: </EM>        <!WA26><A HREF="mailto:jsobel@cs.indiana.edu">jsobel@cs.indiana.edu</A>         and        <!WA27><A HREF="mailto:ehilsdal@cs.indiana.edu">ehilsdal@cs.indiana.edu</A> 	<DD> <EM>Office:</EM> 230A      	<DD><EM>Phone:</EM> 855-4885	</DL><DT> Associate Instructors<DD> <!WA28><A HREF="http://www.cs.indiana.edu/hyplan/ebyon.html">	Eugene Byon</A>, Sections 1124 and 1125	<DL>	<DD><EM>email: </EM>        <!WA29><A HREF="mailto:ebyon@cs.indiana.edu">ebyon@cs.indiana.edu</A>	<DD> <EM>Office:</EM> 230	<DD><EM>Phone:</EM> 855-9926	</DL><DD> <!WA30><A HREF="http://www.cs.indiana.edu/hyplan/pedrake.html">	Peter Drake</A>, Sections 1129 	<DL>	<DD><EM>email: </EM>        <!WA31><A HREF="mailto:pedrake@cs.indiana.edu">pedrake@cs.indiana.edu</A>	<DD> <EM>Office:</EM> 230	<DD><EM>Phone:</EM> 855-0918	</DL><DD> <!WA32><A HREF="http://www.cs.indiana.edu/hyplan/beyster.html">	Brian Eyster</A>, Sections 1126 and 1127	<DL>	<DD><EM>email: </EM>        <!WA33><A HREF="mailto:beyster@cs.indiana.edu">beyster@cs.indiana.edu</A>	<DD> <EM>Office:</EM> 230 	<DD><EM>Phone:</EM> 855-0918	</DL><DD> <!WA34><A HREF="http://www.cs.indiana.edu/hyplan/sganz.html">	Steve Ganz</A>, Sections 1119 and 1120	<DL>	<DD><EM>email: </EM>        <!WA35><A HREF="mailto:sganz@cs.indiana.edu">sganz@cs.indiana.edu</A>	<DD> <EM>Office:</EM> 230 	<DD><EM>Phone:</EM> 855-0918	</DL><DD> <!WA36><A HREF="http://www.cs.indiana.edu/hyplan/bylong.html">	Byron Long</A>, Sections 1121 and 1122	<DL>	<DD><EM>email: </EM>        <!WA37><A HREF="mailto:bylong@cs.indiana.edu">bylong@cs.indiana.edu</A>	<DD> <EM>Office:</EM> 230 	<DD><EM>Phone:</EM> 855-0918	</DL>     <DT> Prerequisites<DD> 2 years of high school algebra or M014<DT> Credit hours<DD> 4<DT> Lectures<DD> Section 1118, TR 1:00-2:15, in LH102, David Leake<DD> Section 1123, MWF 9:05-9:55, in LH102, Mark Leone<DD> Section 1128, TR 1:00-2:15, in LH115, George Springer<DD> Section 9060, MWF 9:05-9:55, in BH304, Jonathan Sobel and Erik Hilsdale     <DT> Discussion sections for lecture sections 1118<DD> Section 1119, R 2:30-3:20, in SB221, Steve Ganz<DD> Section 1120, R 4:30-5:30, in SB221, Steve Ganz<DD> Section 1121, F 9:05-9:55, in SB221, Byron Long<DD> Section 1122, F 10:10-11:00 in SB221, Byron Long<DT> Discussion sections for lecture section 1123<DD> Section 1124, R 11:15-12:05, in BH104, Eugene Byon<DD> Section 1125, R 1:25-2:15, in SB221, Eugene Byon<DD> Section 1126, F 11:15-12:05, in SB221, Brian Eyster<DD> Section 1127, F 1:25-2:15, in SB221, Brian Eyster<DT> Discussion sections for lecture sections 1128<DD> Section 1129, R 3:35-4:25, in LH115, Peter Drake<DT> Discussion sections for lecture sections 9060<DD> Section 9068, F 11:15-12:05, in OPT107, Jonathan Sobel and Erik Hilsdale<DT> Local newsgroups<DD> <!WA38><A NAME=1 HREF="news:ac.csci.c211">ac.csci.c211</A><DD> <!WA39><A NAME=1 HREF="news:ac.csci.h211">ac.csci.h211</A><DD> <!WA40><A NAME=1 HREF="news:cs.students">cs.students</A></DL> <H2>Office Hours</H2><UL><LI> Monday<UL> <LI> 10:00-11:00 -- Mark Leone<LI> 1:00-3:00 -- Brian Eyster<LI> 2:30-5:00 -- Jonathan Sobel, in LH230A<LI> 3:00-5:00 -- Steve Ganz</UL><LI> Tuesday<UL><LI> 10:00-12:00 -- Peter Drake<LI> 2:30-3:45 -- George Springer, in LH230B <LI> 2:30-3:45 -- David Leake, in LH230D <LI> 4:00-6:00 -- Erik Hilsdale, in LH230A</UL><LI> Wednesday<UL><LI> 10:00-11:00 -- Mark Leone<LI> 1:30-3:30 -- Byron Long<LI> 3:00-5:00 -- Eugene Byon, in LH230</UL><LI> Thursday<UL><LI> 2:30-3:30 -- George Springer, in LH230B <LI> 2:30-3:30 -- David Leake, in LH230D <LI> 2:00-4:00 -- Erik Hilsdale, in LH230A</UL></UL>If it is difficult for you to make these times, appointments at other timesmay be made by contacting any of the instructors or AIs.<A NAME="description"><H2>Course Description</H2></A>Programming is, in general, the art of solving problems.  The studyof computer programming is therefore the study of solving problems witha computer, but it is also much more.  When a programmer writes aprogram, he or she is actually constructing a model of a <EM>process</EM>for doing something---such a model is called an <EM>algorithm</EM>.Furthermore, the programmer is concerned not only with whether theprogram simply works, but also with how well it works and how itinteracts with both users and other programs.<P>This class is designed mainly to teach you the art of computerprogramming.  To that end, we shall try to develop in you a sense ofstyle and aesthetics that will help guide your programming efforts,and we shall try to develop your intuition about how things work andwhy.  You will learn some of the design principles that go into the<EM>engineering</EM> of good programs.  We shall teach you a littlecomputer <EM>science</EM>, to give you a way of analyzing your programsand your algorithms and finding the means to improve them.  You willlearn a number of standard algorithms and some programming <EM>idioms</EM>--standard ways of performing certain kinds of tasks.<P>To do any programming, we need to choose a <EM>language</EM>. Whichever we choose, the language does not place limits on what ourprograms can do, but only on what they look like.  It provides uswith a framework in which to organize our ideas about processes andproblem solving.  The programming language we use in this class isScheme.  We have chosen it because it provides a convenient mechanismfor describing most of the idioms and processes that programmers havefound useful.  We won't spend much time teaching the details of thelanguage, because we don't have to; you will find that it is easy topick up as we go along.<P>It is often helpful to first program using a simple, powerful languagelike Scheme, even if one must then translate the solution into a moretraditional programming language like C++.  The simplicity of Schemeallows us to treat many computer science topics in more depth thanwould be possible if C or C++ were used, for in traditional languagesmore inessential detail must be mastered.  Scheme allows us to give abetter impression of the true joys and challenges of programming.Then you will be in a better position to study C++ in your nextcomputer science course, C212.<P>Finally, computer programming is still a fairly young field, and ithasn't lost its sense of fun for lots of people, including us.  Wehope that you will enjoy it as much as we do.<P><H3>Goals</H3>At the end of the course, a student can be expected to know thefollowing concepts and to be able to write good Scheme programs.<OL><LI> The students should be able to use the following data types:symbols, numbers, booleans, lists, vectors and matrices, strings, andcharacters.<LI> The students should know how to write programs in recursive,iterative, and imperative styles.  <LI> Students should be able to write recursive programs onlists, both those containing only top level items and those containingnested sublists (tree recursion).<LI> The students should be able to use procedures as first-classobjects, that is, pass them as arguments and also write programs whosevalues are procedures.  This includes the currying and composing ofprocedures. <LI> The students should understand the concept of scope andenvironment.  They should be able to use locally-defined procedures.<LI> Students should be able to use abstraction, both with data in makingprograms independent of the data representation, and also withprocedures in abstracting the structure of programs.<LI> Students should be able to use the input and output routines, andwrite convenient user interfaces for their programs.<LI> Students should be able to handle the binary representation ofnumbers.<LI> Students should know some of the standard sorting routines, e.g.,insertion sort (O(n^2)), mergesort and quicksort (O(n log n)), andunderstand the advantages and disadvantages of each.  They should alsobe able to write both linear and binary search programs.<LI> Students should know how to mutate various data structures, includinglists, vectors, strings.  In addition they should understandside-effecting variables.<LI> Students should be able to read programs and have an appreciation ofwhat constitutes good programming style.  They should be aware of therelative efficiency of programs.<LI> Certain topics will be included if time permits.  These include suchthings as writing and using syntactic extensions, developing anobject-oriented programming package in Scheme, and using streams.</OL><H3>Literate programming</H3>Every programmer knows that programs must be comprehensible to thecomputer.  The programming language implementation complains when they arenot. But with some practice it is generally easy to solve such problems.<P>What is less appreciated is that programs must also be comprehensible tothe programmer.  Otherwise the programmer cannot have any confidence thatthe program is correct.  (A program may easily be comprehensible to thecomputer, but not do what is intended--and only the programmer knows whatis intended.)  In most cases it is also <EM>essential</EM> that programs becomprehensible to other programmers.  Though this is not typical of studentprogramming experience, in the "real world" programmers spend most of theirtime modifying huge programs that were developed over a long period of timeby many other programmers.  Modifying someone else's code (or even yourown, a few months later) may be a joy or a nightmare--depending on howclearly the program is written.<P>Thus we emphasize the importance <EM>literate programming</EM>: writtingprograms that are easy to understand (relative to the difficulty of theproblem they solve).  Literate programming is almost always more importantthan other programming goals such as efficiency and code compactness(though efficiency and compactness are often byproducts of literateprogramming).<A NAME="materials"><H2>Course Materials</H2></A><UL>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -