Thu Nov 8 13:27:44 EST 2007
This page describes typical AB and BSE programs in Computer Science for students who come to the field with different backgrounds and at different times in their undergraduate careers. Alternatively, there is a Certificate Program for those who wish to combine the study of computer with another discipline.
The basic requirements are the same. There are three informal tracks -- theory, systems, and applications -- and you must take at least two departmentals from each of them. These are the tracks and their courses:
Theoretical computer science:COS courses at the 300 or 400 level that are given only a few times are also departmentals; the specific track varies depending on the content.
340 Reasoning about Computation
341 Discrete Mathematics [no longer offered]
342 Introduction to Graph Theory (MAT 306)
423 Theory of Algorithms
433 Cryptography
441 Programming Languages
451 Computational Geometry
487 Theory of Computation
Systems:
306 Introduction to Logic Design (ELE 206)
318 Operating Systems
320 Compiling Techniques
333 Advanced Programming Techniques
425 Database Systems
461 Computer Networks
471 Computer Architecture and Organization (ELE 375)
Applications:
323 Computing for the Physical and Social Sciences
325 Transforming Reality by Computer
402 Artificial Intelligence
424 Interacting with Data
426 Computer Graphics
429 Computer Vision
432 Information Security
435 Information Retrieval, Discovery and Delivery
436 Human-Computer Interface Technology
444 Electronic Auctions
455 Introduction to Genomics and Computational Molecular Biology (MOL
455)
479 Pervasive Information Systems
491 Information Technology and the Law
If you are an AB, you must satisfy the AB language and distribution requirements and take Math 103-104 and 200 (or 202 or 204), and COS 126, 217 and 226 as prerequisites for the major. In addition, you must take 8 departmentals. Lastly, you must do two semesters of junior independent work and a senior thesis.
If you are a BSE, you must also satisfy the engineering school requirements (physics, chemistry, etc.; see the Undergraduate Announcement) and take COS 126, 217, and 226 as prerequisites for the major. You must also take 8 departmentals. In addition, you must take one semester of independent work by signing up for COS 397 or 398 in your junior year, or COS 497 or 498 in your senior year. If you take two or more semesters of independent work, one may be counted as a departmental. Alternatively you can do a senior thesis.
If you plan to attend graduate school in CS, you are strongly encouraged to include core courses that are needed for successful admission to and progress in grad school, such as 318, 320, 340, 423, and 471.
It's even possible to pull this off if you don't discover CS until halfway through your sophomore year, again if you have done the math, physics and chemistry. Take COS 126 in your sophomore spring, then do 217 and 226 and three 300-level courses as a junior, leaving five departmentals and independent work as a senior. (We didn't say it would be easy, but it is possible.)
It's barely possible to pull this off if you don't discover CS until halfway through your sophomore year, again if you have done enough math, say MAT 103. Take COS 126 and MAT 104 in your sophomore spring, then as a junior do 217 and 226, MAT 200, four 300-level courses and two JPs, leaving four departmentals and a thesis as a senior. (This is feasible but very tight.)
With all of these, the delayed part might be the math requirement; it's still likely to be feasible, with some changes to the plan suggested here.