2011-2012 Bulletin â PDF - SEAS Bulletin - Columbia University
2011-2012 Bulletin â PDF - SEAS Bulletin - Columbia University
2011-2012 Bulletin â PDF - SEAS Bulletin - Columbia University
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
108<br />
thin clients, and a 17-node (34CPU)<br />
IBM Netfinity cluster. The department<br />
uses a 3COM SIP IP phone system.<br />
The protocol was developed in the<br />
department.<br />
The department’s computers are<br />
connected via a switched 1 Gb/s<br />
Ethernet network, which has direct<br />
connectivity to the campus OC-3<br />
Internet and Internet2 gateways. The<br />
campus has 802.11a/b wireless LAN<br />
coverage.<br />
The servers have remote consoles<br />
and remote power for easy maintenance<br />
after hours.<br />
The research facility is supported by<br />
a full-time staff of professional system<br />
administrators and programmers,<br />
aided by a number of part-time student<br />
system administrators.<br />
Undergraduate Program<br />
Computer science majors at <strong>Columbia</strong><br />
study an integrated curriculum, partially<br />
in areas with an immediate relationship<br />
to the computer, such as programming<br />
languages, operating systems, and<br />
computer architecture, and partially<br />
in theoretical computer science and<br />
mathematics. Thus, students obtain the<br />
background to pursue their interests<br />
both in applications and in theoretical<br />
developments.<br />
Practical experience is an essential<br />
component of the computer science<br />
program. Undergraduate students<br />
are often involved in advanced faculty<br />
research projects using state-of-the-art<br />
computing facilities. Qualified majors<br />
sometimes serve as consultants at<br />
the Computer Center, which operates<br />
several labs with microcomputers<br />
and terminals available at convenient<br />
locations on the campus.<br />
Upper-level students in computer<br />
science may assist faculty members<br />
with research projects, particularly<br />
in the development of software.<br />
Ongoing faculty projects include<br />
algorithmic analysis, computational<br />
complexity, software tool design,<br />
distributed computation, modeling and<br />
performance evaluation, computer<br />
networks, computer architecture,<br />
CAD for digital systems, computer<br />
graphics, programming environments,<br />
expert systems, natural language<br />
processing, computer vision, robotics,<br />
multicomputer design, user interfaces,<br />
VLSI applications, artificial intelligence,<br />
combinatorial modeling, virtual<br />
environments, and microprocessor<br />
applications. Students are strongly<br />
encouraged to arrange for participation<br />
by consulting individual faculty<br />
members.<br />
Most graduates of the computer<br />
science program at <strong>Columbia</strong> step<br />
directly into career positions in computer<br />
science with industry or government,<br />
or continue their education in graduate<br />
degree programs. Many choose to<br />
combine computer science with a<br />
second career interest by taking<br />
additional programs in business<br />
administration, medicine, or other<br />
professional studies.<br />
For further information on the<br />
undergraduate computer science<br />
program, please see the home page<br />
(www.cs.columbia.edu/education/<br />
undergrad) and the Quick Guide (www.<br />
cs.columbia.edu/education/undergrad/<br />
seasguide).<br />
Technical Electives<br />
All technical electives except those<br />
noted in each track must be approved<br />
by the adviser. In every case, the<br />
technical elective course must be at<br />
the 3000 level or higher. All technical<br />
electives should be taken in computer<br />
science. With the adviser’s approval,<br />
however, courses in other departments<br />
may be taken as technical electives;<br />
in every such case, the subject of the<br />
course must have a strong and obvious<br />
connection with computer science.<br />
COMS W4400: Computers and society<br />
and ELEN E4901: Telecommunication<br />
networks and applications are not<br />
acceptable as technical electives<br />
and are the only advanced computer<br />
science courses that cannot be taken as<br />
electives.<br />
Students are encouraged to select<br />
one of the following five preapproved<br />
groupings of electives called “tracks.”<br />
An advanced version of each track<br />
is available by invitation for qualified<br />
students who wish an extra opportunity<br />
for advanced learning.<br />
The following courses are required<br />
as a preparation for all tracks: COMS<br />
W1004, W1007, W3137, W3157,<br />
W3203, W3210, W3251, W3261, CSEE<br />
W3827, and SIEO W4150 (SIEO W3600<br />
is an accepted substitute for W4150).<br />
Collectively these courses are called the<br />
CS Core Curriculum.<br />
Students who pass the Computer<br />
Science Advanced Placement (AP)<br />
Exam, either A or AB, with a 4 or 5 will<br />
receive 3 points of credit and exemption<br />
from COMS W1004.<br />
Note: A maximum of one course<br />
worth no more than 4 points passed<br />
with a grade of D may be counted<br />
toward the major or minor.<br />
Track 1: Foundations of CS Track<br />
The foundations track is suitable for<br />
students who plan to concentrate on<br />
theoretical computer science in graduate<br />
school or in mathematical topics such<br />
as communications security or scientific<br />
computation in their career plans.<br />
Register for track course COMS E0001.<br />
Required: 9 points<br />
CSOR W4231: Analysis of algorithms<br />
COMS W4236: Introduction to computational<br />
complexity<br />
COMS W4241: Numerical algorithms and complexity<br />
Breadth: 6 points<br />
Any COMS 3000- or 4000-level courses except<br />
those countable toward the CS core or foundations<br />
of CS track<br />
Electives: 15 points from the following list:<br />
COMS W4203: Graph theory<br />
COMS W4205: Combinatorial theory<br />
COMS W4252: Computational learning theory<br />
COMS W4261: Introduction to cryptography<br />
COMS W4281: Quantum computing<br />
COMS W4444: Programming and problem solving<br />
COMS W4771: Machine learning<br />
COMS W4772: Advanced machine learning<br />
COMS W4995: Math foundations of machine learning<br />
COMS E6232: Analysis of algorithms, II<br />
COMS E6261: Advanced crytography<br />
COMS E6717: Information theory<br />
COMS E6998: Approximation algorithms<br />
COMS W3902: Undergraduate thesis (with adviser<br />
approval; may be repeated for<br />
credit)<br />
COMS W3998: Projects in Computer Science (with<br />
adviser approval; may be repeated<br />
for credit)<br />
COMS W4901: Projects in Computer Science (with<br />
adviser approval; may be repeated<br />
for credit)<br />
COMS E6901: Projects in Computer Science (with<br />
adviser approval; may be repeated<br />
for credit)<br />
Note: No more than 6 units of project/thesis<br />
courses (COMS W3902, W3998, W4901, and<br />
E6901) can count toward the major.<br />
engineering <strong>2011</strong>–<strong>2012</strong>