Instead of a newsgroup, there will be a web forum for this class. Visit it here. (Or here: http://www.sci199.tk). There is also a link to it at the top of the page, you can use that once this news section is removed.
The tutorial notes are updated, including a Turing machine example and possible topics for project.
NOTICE OF CHANGE OF ROOM: For the spring term we meet Mondays 3-5 in UC376 and Thursdays 4-5 in UC253.
On Thursday, March 18, there will be a demonstration of the 3D graphics display device. Please meet in Bahen BA5177 at 4:10 promptly. Tovi Grossman will give the demonstration and answer questions.
Finally, the assignments section includes some preliminary information about the project.
This version of SCI199 will be similar to previous versions taught during the 1999-2000, 2001-2002, and 2002-2003 academic years
We will once again pursue the general (and very debatable) theme of GREAT IDEAS in COMPUTING (including some interesting algorithms). The ambitious goal is to try to identify the great ideas that have significantly influenced the field. We will concentrate on mathematical, algorithmic and software ideas with the understanding that the importance and usefulness of these ideas depends upon (and often parallels) the remarkable ideas and progress in computing and communications hardware. The list of topics we shall discuss will depend to some degree on the background and interests of the class. During the fall of 2002, the list of topics included the following: Sorting and searching algorithms and their analysis, The von Neumann architecture, The Church/Turing thesis and the Turing model of computation, Source level vs machine level programming, Search engines and other aspects of information retrieval, Data bases, Computer networks and the internet. During the spring 2003 term, the topics included: Complexity theory and complexity based cryptography, Operating systems, GUIs, the mouse and other aspects of HCI, Ray tracing in graphics, Data compression, coding theory; Shannon's theory of information, Machine learning.
This page will provide WWW access to various documents concerning SCI199. Most, if not all, of these documents are electronic versions of handouts given to the class. Some announcements will also be made on this page. See also the references given in the links above. Please send any comments or questions to the instructor or the teaching assistant:Assignment 2 is now available. The assignment will be clarified in the tutorial on September 25. Here is a solution for A2 submitted by one of the students.
Assignment 3 is now available. The assignment will be clarified in the tutorial on October 16. Here is the list of submitted search questions . You can use any of these question if both questions you randomly selected turned out to be too easy.
Assignment 5 is now available. The assignment was already discussed in lecture and the tutorial.
Assignment 4 is now available. The assignment will be clarified in the seminar November 17 and/or in the tutorial on November 20.
Assignment 6 is now
available. The new due sate is Monday, March 8.
Project description
is now available. This may still change, but not substantially. Lateness Policy: The course grade will depend significantly
on the assignments and the project. Assignments and the project are expected to
be handed in on time, at the beginning of the lecture/tutorial in which they are
due. Any assignment which is submitted late will be penalized 25%, no assignment
will be considered if more than one week late and we will accept at most two
late assignments during the year.
Tutorial Notes
Readings
We will begin the course by discussing some simple sorting and searching
algorithms. The goal here is to informally introduce the idea of an algorithm so
as to motivate mathematically well defined concepts of what it means to be
"computable". The discussion of these basic algorithms also allows us to
introduce the idea of analyzing the complexity of an algorithm. A description of
some simple sorting
algorithms expressed both informally and also written in some known
programming language (like C) can be found here. One great idea that we see in
some sorting algorithms is the concept of recursive
definitons and algorithms . Another great idea relevant to search (and also
cryptography) is the idea of hashing
.