AB and BSE Programs in Computer Science

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:
   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
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.

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.

Sophomore-start BSE

It is possible to major in CS as a BSE without taking any CS courses during your freshman year, if you took enough math, physics and chemistry, for example MAT 103 and MAT 104, PHY 103 and PHY 104, and CHM 203. Then you can take COS 126 plus one of MAT 200, 202 or 204 in the sophomore fall, and COS 217 and 226 in the spring. After that, you're on track to take 8 departmentals (two each semester) and a semester of independent work during your senior year.

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.)

Sophomore-start AB

It's also possible to do this as an AB, this time assuming that you can manage your language and distribution requirements and have taken MAT 103 and 104. Then you can take one of MAT 200, 202 or 204 as a sophomore, along with COS 126 in the fall and COS 217 and 226 in the spring. After that, you're on track to take 8 departmentals (two each semester), two junior independent work projects, and your senior thesis.

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.