📄 http:^^www.cs.hmc.edu^~keller^cs60s96.html
字号:
Date: Tue, 26 Nov 1996 18:41:10 GMT
Server: NCSA/1.5.1
Last-modified: Tue, 23 Apr 1996 04:16:24 GMT
Content-type: text/html
Content-length: 15869
<html><HEAD><TITLE>CS 60: Principles of Computer Science</TITLE></HEAD><BODY>URL http://www.cs.hmc.edu/~keller/cs60s96.html(Link to <!WA0><a href = "http://www.cs.hmc.edu/~keller/cs60s96index.html">INDEX page</a>).<center><H4><!WA1><a href = "http://www.hmc.edu/">Harvey Mudd College</a>, Spring 1996</H4><H2><!WA2><A HREF="http://www.cs.hmc.edu/index.html">Computer Science</A> 60</h2><h1>Principles of Computer Science</h1><h2>Home Page and Reference Card</h2></H2></center><h4><a name = "personnel">Course Personnel</a></h4><ul><li>Instructor: <!WA3><a href = "http://www.cs.hmc.edu/~keller"> Robert Keller </a>242 Olin (4-5 p.m. MTuWTh or by appt.), keller@muddcs, x 18483<br><li>Secretary: <!WA4><a href = "http://www.cs.hmc.edu/~nancy"> Nancy Mandala</a> 240 Olin (1-5 M-F) nancy@muddcs, x 18225<br><li>CS Intern (for account problems, etc.): Vacant position, please mail to help@muddcs instead.<br><li>Official mascot: <!WA5><a href = "http://www.cs.hmc.edu/~keller/rex.html"><em>rex</em></a><br><li>Tutor/Graders<ul><li><!WA6><a href = "http://www.cs.hmc.edu/~mdharm/">Matt Dharm</a> '98: mdharm@muddcs, x74863<li><!WA7><a href = "http://aij.st.hmc.edu/~jlarkin">John Larkin</a> '98: jlarkin@muddcs, x73592<li>Jeff Polakow '96: jpolakow@muddcs, x76747</ul><li>Grader account: <b>mail assignments to:</b> cs60grad@muddcs.cs.hmc.edu. <li><b><a name = "tutor_hours">Tutor Hours:</a></b>Here is the current schedule of when tutors will be in the terminal room,102 Beckman:<listing>Mon 7-10 Jeff PolakowTue 7-10 Jeff PolakowWed 7-8:30 John LarkinThu 4-5:30 & 6:30-8:30 John LarkinFri 2-5 Matt Dharm</listing>If you would like help but these hours do not work for you, please let meknow.<p></ul><a name = "location">Room 102 Beckman</a>is where the X terminals connected to our machine muddcs are.To find it, leave the back of the lecture hall (Galileo Edwards) turn right,then another right down the long corridor. Proceed to the new section ofthe building, then turn right. 102 is the second door on the right.<p>To get to my office, go back to the long corridor and keep going to the end. Go right, then upstairs (you will then be in the Olin building), then go left, then left again, to the southeast corner of Olin. My officeis 242, which is inside of 240. 240 is always open during business hours.My door is usually closed to filter out noise, but don't hesitate to knock.<P><h4><a name = "catalog">Catalog Description</a></h4>Introduction to principles of computer science. Algorithms, complexityanalysis, data structuring, data and procedural abstraction, grammars, correctness, logic principles, processor organization, operating system concepts, programming languages, basic automata theory, and theoretical limitations.<P><b><h4><a name = "goals">Course Goals</a></h4></b>To learn and apply basic principles of computer science, includingsoftware construction, hardware organization, and limitations ofcomputers. <P><b><h4><a name = "text">Text</a></h4></b>Robert M. Keller, <em> Principles of Computing</em>, January 1996.Available by one-time special order for $29 (cost of reproduction)and it is strongly recommended that you buy a copy.The entire book is also on-line in Microsoft word on KATO, the Macserver, in the folder KATO.HOME/Department Homes/CS/CS 60/. It willbe thus viewable from Macs on the local network. I will see aboutgetting a PC version as well. <em>However</em>, it is <em>still</em>recommended that you purchase the book (rather than, say gettingsomeone's old version) because: (1) The book has been revisedsubstantially since the last course offering. (2) The book is large(750 pages), and reading it all on the screen is apt to be tiresomeand inconvenient. (3) The book can be taken into the exams, whereas aMac cannot be.<p><b><h4><a name = "assumptions">Course Assumptions</a></h4></b>Students should have had a first course in computing at the collegelevel (e.g. CS5). Prior experience in C or C++ is preferred althoughnot essential. Others have made it through starting with just aknowledge of Pascal. You should know about procedures, arrays, andtypes at a minimum; if you are unfamiliar with these, please take CS5or CS50 first.<b><h4>"Lectures"</h4></b>The word "lecture" below is used very loosely. I expect that the lectureperiods will include some explanation, but will be more like a multilogue (set of dialogues). You are expected to attend, askquestions, and provide comments.<b><h4><a name = "threads">Threads</a></h4></b>There are essentially three interwoven "threads" in the course: The book,the problems, and the lectures. I try to keep them "in synch" with oneanother, but active participation in all three threads is required.Volume-wise, the book covers more material than can be discussed in thelecture. The lecture will cover some things not in the book.Staying attune to what is going on in lecture will help you focus onthe areas in the book that are important as far as exam emphasis. The problems exercise some, but not all, of thethings discussed in the book and lecture.<b><h4><a name = "resources">Resources</a></h4></b>The course is planned to be interactive throughout. We are eager toprevent programming difficulties from consuming extraordinary time, soplease <em>ask</em> when you get stuck with such difficulties. It ismuch more efficient to <b>start early</b> on each assignment so thatyou give yourself enough time to cope with the numerous contingencieswhich inevitably materialize. You can get help on-line by emailing tocs60help@muddcs which goes to the graders/tutors and to me. I don'tenable 'talk' because it is too slow, but I check email often. Whenyou email a message, it will typically be answered to the entire classwith parts of your message embedded. <em>If you do not want it to beattributed to you, please so indicate in your message.</em> <p> By carrying problem solutions through to computer implementation, youare showing that you understand the issues, principles, andtechniques. I will explain to you how to work any problem, to anylevel of detail, if you ask. However, you must do so with asufficient time margin. Telling me at the eleventh hour that you justaren't getting and therefore want to drop the course is not availingyourself of the substantial help available.<p> You are also welcome to submit email or a note card with anyquestion you'd like to have answered or any point you would likeaddressed before or after class, or leave it in my mailbox in 240Olin. Of course you are encouraged to ask such questions in class aswell. There are many tools available on the computer itself. Use the'man' feature of UNIX to find what you need and to explore. (The command <listing>man <em>command</em> </listing>gives information on a specific command; The command <listing>man -k <em>topic</em> </listing>lists commands relating to a specific topic.) You can alsouse the 'info' reader in GNU Emacs for certain library, language, and editorspecifics. In emacs type <listing>escape-X info</listing>Helpful information, examples, on-line copies ofassignments, etc. will be kept in various subdirectories of thedirectory <listing><!WA8><a href = "http://www.cs.hmc.edu/~keller/cs60">/cs/cs60</a></listing>on machine muddcs. There is a web page for <!WA9><a href= "http://www.cs.hmc.edu/~keller/rex.html"><em>rex</em></a> documentation. Finally, the "cornerstore" maxim applies: <em>If you can't find what you want, ask forit.</em> <P> <b><h4><a name = "grading">Grading</a></h4></b>There will be approximately eight assignments entailing programming.Programming assignments help drive home key working concepts andprinciples. After the first couple of assignments, where the rexlanguage (one you have not likely seen) is used, the language used willmostly be C++. C++ is used due to its position as an emergentindustry standard and its ability to reflect both low-level computerstructure and at the same time provide high-level data and objectabstractions. There will may be one assignment in assembly-languageprogramming, using a simulated computer, the ISC. As prior exposureto C++ varies across the class, I will hold one or more specialevening sessions for C++ if you so request.<P><b><h4>Is this a "Programming Course"?</h4></b>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -