Mini-Catalog

Contents




Courses in Computing in the Liberal Arts

Please Note: The future of the Third Stream Computing Minor is under discussion. Students taking CS235 are not guaranteed a minor in Third Stream Computing. Please contact the CS office for more information. x8043.

CS 101. Introduction to Computers and Computing
A course on developing skills in computer use. No prerequisites. Offered alternate years.

CS 102. Computer Concepts and Applications
An introduction to Macintosh application development, using the Hypercard/Hypercard system. Offered every fall.

CS 110. Fifth Generation Computing
A survey of recent efforts to design machines for logic programming. Prerequisite: CS 101, or consent of the instructor. Offered occasionally.

CS 115. Cryptology
A study of secret codes and their relationship to computers. Offered occasionally.

CS 135. Object-Oriented Programming
An introductory course in object-oriented programming, using the language C++. No prerequisites. Offered every fall.

CS 157. Introduction to Graphics
An introductory course in computer programming with an emphasis on computer graphics. No prerequisites. Offered occasionally.

CS 185. Colloquium: The Limits of Computation
An introduction to programming, the theory of computability, and consideration of social aspects of technological advances. No prerequisites. Offered occasionally.

CS 235. Computer Application Development
A course in developing computer applications using high-level languages or authoring systems. Prerequisite: CS 102 or the ability to program in HyperCard, and the consent of the instructor. Offered every spring.

CS 299. Seminar: Mind and Machine
An exploration of topics in artificial intelligence, cognitive psychology, philosophy of mind, and linguistics. Prerequisite: consent of the instructor. Offered alternate years.

CS 339. Projects in Computer Application Development
A seminar-like course in which software availability in various areas of the liberal arts are studied and in which each student develops and presents to the class a sophisticated computing application in some specific academic area. Offered alternate years.

Courses in Computer Science

CS 135. Object-Oriented Programming
An introductory course in object-oriented programming, using the language C++. No prerequisites. Offered every fall.

CS 150. Computer Science I
An laboratory-based introduction to the field of computer science. The laboratories are used to teach programming in C. This is the standard introductory course for the major. No prerequisites. Offered every fall.

CS 151. Computer Science II
A laboratory-based continuation of CS 150, again using the language C. Emphasis is on data structures and advanced programming techniques. This is the standard second course for the major. Prerequisite: CS 150 or CS 135. Offered every spring.

CS 210. Computer Organization
An introduction to computer architecture. Required for the major. Prerequisite: CS 151. Offered every fall.

CS 268. Software Development
A laboratory course in which students learn advanced principles of software design while working on a large programming project. Prerequisite: CS 151 and CS 275. Offered occasionally.

CS 275. Computer Science III
A rigorous study of algorithms and data structures using the Scheme programming language. Required for the major. Prerequisites: CS 151. Offered every fall.

CS 280. Computer Science IV
A continuation of CS 275, with an emphasis on the principles of programming languages. Prerequisite: CS 275. Offered every spring.

CS 299. Seminar: Mind and Machine
An exploration of topics in artificial intelligence, cognitive psychology, philosophy of mind, and linguistics. Prerequisite: consent of the instructor. Offered on alternate spring semesters.

CS 331. Compilers
A laboratory course on compiler design. Students write a compiler for a language developed for this course. Prerequisite: CS 210 and CS 275. Offered on alternate fall semesters.

CS 341. Operating Systems
An advanced course on operating systems and systems programming. Prerequisites: CS 210 and CS 280. Offered on alternate fall semesters.

CS 357. Computer Graphics
An advanced course on graphics programming. Prerequisites: CS 151, CS 275, and Mathematics 232. Offered on alternate spring semesters.

CS 364. Artificial Intelligence
A study of the techniques currently being used in programs that mimic human behavior. Prerequisite: CS 280. Offered on alternate spring semesters.

CS 368. Senior Laboratory
This is a topics course usually involving a large programming project. The prerequisites vary with the topics. Offered occasionally.

CS 383. Theory of Computer Science
A course in the study of computability and decidability. Required for the major. Prerequisite: CS 280. Offered every spring.

CS 386. Advanced Concepts in Programming Languages
A course in formal semantics, the theory of types, and type inference in programming languages. Prerequisite: CS 280. Offered on alternate spring semesters.

CS 401. Honors
This course is open only to those who have been invited into the Honors program.

CS 995. Private Reading
Private readings are used both for individual programming projects and for readings in material not covered in regular courses. Because these are very demanding in terms of faculty time, not all requests for private readings can be granted. Reading courses require the consent of both the instructor and the Program Director.

webmaster@cs.oberlin.edu