|
Undergraduate Study
General Information | Requirements | Planning Sheet | Teaching Chart
A Computer Science option (major) will be offered starting with the class of 2004. The executive officer for CS will be in charge of the option; this responsibility has been delegated to the undergraduate option representative. However, all inquiries should be directed to the undergraduate option secretary,
. For a copy of the Caltech Catalog entry, click here.
Transitional Requirements
Transitional requirements for the CS Option for the classes of 2004-2006:
- CS20a satisfies the requirement for CS21
- Either of CS20b or CS138a satisfies the requirement for CS38
- CS184a satisfies the requirement for CS24
For the classes of 2004 and 2005 only, CS134a satisfies the requirement for CS24.
Course Planning Sheet
To help students design coherent study plans, here's a planning sheet which students and their advisors may wish to use.
Study Tracks
We've collected here, for the benefit of Computer Science students and their advisors, recommended study tracks in a few areas:
- VLSI
Aph9a (solid-state electronics)
CS181a (VLSI design lab)
CS137a (electronic design automation) or CS139a (concurrency)
CS184a (computer architecture)
EE180 (solid-state devices)
- Systems
CS3 (intro software engineering)
CS134b (compilers)
CS145a (networking)
CS141a or CS139a (distributed/concurrent systems)
CS184a (architecture)
- ECE
ACM95abc (applied math)
EE20ab (electronics lab)
CS138a (algorithms)
CS138b or CS150 or CS151 (algorithms; probability; complexity)
- Networks
ACM116 (probability models) or EE162 (random processes)
EE111 (signals, systems, and transforms)
CS/EE145a (networking)
CDS110a (intro control theory) or EE113 (feedback and control)
- Programming Languages
CS3 (intro software engineering)
CS134b (compilers)
CS145a or CS141a or CS139a (networks/distributed/concurrent systems)
CS138 (algorithms)
CS237c (semantics; to be renumbered CS1xy)
- Theory
CS138 (algorithms)
CS150 (probability and algorithms)
CS151 (complexity)
courses in algebra, probability, and combinatorics
ECE
The ECE option will be eliminated in the 2003-2004 catalog. Students interested in ECE will be able to pursue an ECE study track (see above) within the CS option. Students enrolled under a catalog offering the ECE degree will still be able to earn that degree. Due to the changes in the course offerings starting in fall 2003, the following substitutions will be allowed:
CS21 for CS20a
CS38 for CS20b
ACM106a for CS20c
CS150 or CS151 for CS138b
Note that CS138a, which is usually taught in the fall, will be taught in '03-'04 in the winter. Note also that CS/EE145a is not scheduled to be taught in '04-'05.
Tentative Teaching Chart
A tentative teaching chart has been compiled (pdf). Please note that all information is subject to change without notice. Omission of a course doesn't imply it won't be taught. Jointly-listed courses, especially, may not be on this chart; please bring omissions or errors to the attention of the undergraduate option secretary.
Advising
Because of the large enrollments, students won't usually be able to have an advisor from the CS faculty during their freshman year. Students seeking a CS advisor should contact the undergraduate option secretary.
Research
There
are many opportunities for undergraduate research in the computer science
field. Students may work with faculty in the computer science department
and in other departments and JPL. There are a wide variety of research
opportunities in computing across campus, ranging from pervasive computing
using wireless devices, to building and exploiting novel graphics devices,
to algorithms, networking, molecular computing, or to using computing
to search for quasars.
Campus-wide,
there is a SURF (Summer Undergraduate Research Fellowships) program.
Please visit the SURF website
for more information. The application deadline is March 1st. Students
should begin talking with professors at least two months before the
deadline.
Caltech Undergraduate Admissions
| top
|
|