CSCI 1200 is an introduction to the fundamental concepts of computer science, and is primarily for students who do not plan to major in the subject. The course does not assume any prior background in computers or programming; but it does assume a high degree of curiosity, a willingness to explore new (and sometimes difficult) ideas, and a certain level of mathematical fearlessness.
The course will be composed of two major "threads": a laboratory/recitation thread focusing on basic programming concepts, and a lecture thread focusing on theoretical computer science. In this way, we hope to provide you with a truly interesting and varied portrait of computer science. The lab thread gives you a sense of the craft--of what practitioners actually do; and the lecture thread gives you the "big picture" of why we do it.
Among the topics that we will explore in this class are: fundamentals of computer architecture; ideas of programming languages; understanding algorithms; complex systems and their behavior; machine vision and language; basic ideas of software design; computers and the nature of intelligence; and future (or futuristic) directions in computing such as quantum and biological computing.
There will be five problem sets in this class, and three exams (two midterms and a final). The problem sets are each worth 10 percent of your final grade. The two midterm exams are (taken together) worth 25 percent, with the higher of the two grades counting for 15 percent and the lower for 10 percent. The final exam is worth 25 percent of the final grade. If you wish, you can substitute your own special-interest programming project for one of the problem sets (i.e., this project will be counted for 10 percent instead of your lowest problem set grade); we'll talk more about that as the semester progresses.
The probable exam dates (subject to revision) are February 20 and April 1. The due dates for the problem sets (all Fridays) are: February 8, February 28, March 14, April 11, and April 25.
Because of the size of this class, it is important for you to hand in problem sets on time. There will be a penalty of 10 percent per (week)day for each day late that a problem set is handed in (for instance, a problem set handed in Monday will be graded out of 90 points; if handed in Tuesday, it will be graded out of 80 points; and so on). The policy in this course is not to give any incomplete grades.