2009-2010 Bulletin â PDF - SEAS Bulletin - Columbia University
2009-2010 Bulletin â PDF - SEAS Bulletin - Columbia University
2009-2010 Bulletin â PDF - SEAS Bulletin - Columbia University
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
students may receive credit for only one of the<br />
following three courses: W1003, W1004, or W1005.<br />
COMS W1004x and y Introduction to computer<br />
science and programming in Java<br />
Lect: 3. 3 pts. Professor Cannon.<br />
A general introduction to computer science for<br />
science and engineering students interested in<br />
majoring in computer science or engineering. Covers<br />
fundamental concepts of computer science, algorithmic<br />
problem-solving capabilities, and introductory<br />
Java programming skills. Assumes no prior<br />
programming background. <strong>Columbia</strong> <strong>University</strong><br />
students may receive credit for only one of the<br />
following three courses: W1003, W1004, or W1005.<br />
COMS W1005x and y Introduction to computer<br />
science and programming in MATLAB<br />
Lect: 3. 3 pts. Paul Blaer.<br />
A general introduction to computer science concepts,<br />
algorithmic problem-solving capabilities, and<br />
programming skills in MATLAB. Assumes no prior<br />
programming background. <strong>Columbia</strong> <strong>University</strong><br />
students may receive credit for only one of the<br />
following three courses: W1003, W1004, or W1005.<br />
COMS W1007x and y Object-oriented programming<br />
and design in Java<br />
Lect: 3. 3 pts. Professor Kender.<br />
Prerequisites: COMS W1004 or AP Computer Science<br />
with a grade of 4 or 5. The second course for majors<br />
in computer science. A rigorous treatment of objectoriented<br />
concepts using Java as an example language.<br />
Development of sound programming and<br />
design skills, problem solving and modeling of<br />
real-world problems from science, engineering,<br />
and economics using the object- oriented paradigm.<br />
COMS W1009x Honors introduction to<br />
computer science<br />
Lect: 3. 3 pts. Instructor to be announced.<br />
Prerequisite: COMS W1004 or AP computer science<br />
with a grade of 4 or 5. An honors-level introduction<br />
to computer science, intended primarily for<br />
students considering a major in computer science.<br />
Computer science as a science of abstraction.<br />
Creating models for reasoning about and solving<br />
problems. The basic elements of computers and<br />
computer programs. Implementing abstractions<br />
using data structures and algorithms. Taught in Java.<br />
ECBM E3060x Introduction to genomic<br />
information science and technology<br />
Lect: 3. 3 pts. Professor Anastassiou.<br />
Introduction to the information system paradigm of<br />
molecular biology. Representation, organization,<br />
structure, function and manipulation of the biomolecular<br />
sequences of nucleic acids and proteins. The role<br />
of enzymes and gene regulatory elements in natural<br />
biological functions as well as in biotechnology and<br />
genetic engineering. Recombination and other<br />
macromolecular processes viewed as mathematical<br />
operations with simulation and visualization using<br />
simple computer programming. This course shares<br />
lectures with ECBM E4060, but the work requirements<br />
differ somewhat.<br />
COMS W3101x and y Programming languages<br />
Lect: 1. 1 pt. Instructors to be announced.<br />
Prerequisite: Fluency in at least one programming<br />
language. Introduction to a programming language.<br />
Each section is devoted to a specific language.<br />
Intended only for those who are already fluent in<br />
at least one programming language. Sections<br />
may meet for one hour per week for the whole<br />
term, for three hours per week for the first third of<br />
the term, or for two hours per week for the first<br />
six weeks. May be repeated for credit if different<br />
languages are involved.<br />
COMS W3133x or y Data structures in C<br />
Lect: 3. 3 pts. Instructor to be announced.<br />
Prerequisite: COMS W1003 or knowledge of C.<br />
Not intended for computer science majors. Datatypes<br />
and structures: arrays, stacks, singly and<br />
doubly linked lists, queues, trees, sets, and graphs.<br />
Programming techniques for processing such<br />
structures: sorting and searching, hashing, garbage<br />
collection. Storage management. Rudiments of<br />
the analysis of algorithms. Taught in C. Note: Due<br />
to significant overlap, students may receive credit<br />
for only one of the following four courses: COMS<br />
W3133, W3134, W3137, or W3139.<br />
COMS W3134x and y Data structures in Java<br />
Lect: 3. 3 pts. Professor Hershkop.<br />
Prerequisite: COMS W1004 or knowledge of<br />
Java. Not intended for computer science majors.<br />
Data types and structures: arrays, stacks, singly<br />
and doubly linked lists, queues, trees, sets, and<br />
graphs. Programming techniques for processing<br />
such structures: sorting and searching, hashing,<br />
garbage collection. Storage management. Rudiments<br />
of the analysis of algorithms. Taught in Java.<br />
Note: Due to significant overlap, students may<br />
receive credit for only one of the following four<br />
courses: COMS W3133, W3134, W3137, or W3139.<br />
COMS W3137x and y Data structures and<br />
algorithms<br />
Lect: 3. 4 pts. x: Professor Allen; y: Instructor<br />
to be announced.<br />
Prerequisite: COMS W1007. Corequisite: COMS<br />
W3203. Data types and structures: Arrays, stacks<br />
singly and doubly linked lists, queues, trees, sets,<br />
and graphs. Programming techniques for processing<br />
such structures: sorting and searching,<br />
hashing, garbage collection. Storage management.<br />
Design and analysis of algorithms. Taught<br />
in Java. Note: Due to significant overlap,<br />
students may receive credit for only one of the<br />
following four courses: COMS W3133, W3134,<br />
W3137, or W3139.<br />
COMS W3139y Honors data structures<br />
and algorithms<br />
Lect: 4. 4 pts. Instructor to be announced.<br />
Prerequisite: COMS W3157. Corequisite: COMS<br />
W3203. An honors introduction to data types<br />
and structures: arrays, stacks, singly and doubly<br />
linked lists, queues, trees, sets, and graphs.<br />
Programming techniques for processing such<br />
structures: sorting and searching, hashing,<br />
garbage collection. Storage management. Design<br />
and analysis of algorithms. Taught in C/C++.<br />
Note: Due to significant overlap, students may<br />
receive credit for only one of the following four<br />
courses: COMS W3133, W3134, W3137, or W3139.<br />
COMS W3157x and y Advanced programming<br />
Lect: 4. 4 pts. Professor Schulzrinne.<br />
Prerequisite: COMS W1007 or W1009. Practical,<br />
hands-on introduction to programming techniques<br />
and tools for professional software construction,<br />
including learning how to write code to given specifications<br />
as well as document the results. Provides<br />
introductory overview of C and C++ in a UNIX<br />
environment, for students with Java background.<br />
Also introduces scripting languages (perl) and<br />
basic Web programming. UNIX programming<br />
utilities are also covered. Lab required.<br />
COMS W3203x and y Discrete mathematics:<br />
introduction to combinatorics and graph theory<br />
Lect: 3. 3 pts. x: Professor Gross; y: Professor<br />
Grunschlag.<br />
Prerequisite: Any introductory course in computer<br />
programming. Logic and formal proofs, sequences<br />
and summation, mathematical induction, binomial<br />
coefficients, elements of finite probability, recurrence<br />
relations, equivalence relations and partial<br />
orderings, and topics in graph theory (including<br />
isomorphism, traversability, planarity, and colorings).<br />
COMS W3210y Scientific computation<br />
Lect: 3. 3 pts. Professor Traub.<br />
Prerequisites: Two terms of calculus. Introduction<br />
to computation on digital computers. Design and<br />
analysis of numerical algorithms. Numerical solution<br />
of equations, integration, recurrences, chaos,<br />
differential equations. Introduction to Monte Carlo<br />
methods. Properties of floating point arithmetic.<br />
Applications to weather prediction, computational<br />
finance, computational science, and computational<br />
engineering.<br />
COMS W3251x Computational linear algebra<br />
Lect: 3. 3 pts. Professor Papageorgiou.<br />
Prerequisite: Two terms of calculus. Computational<br />
linear algebra, solution of linear systems, sparse<br />
linear systems, least squares, eigenvalue problems,<br />
and numerical solution of other multivariate<br />
problems as time permits.<br />
COMS W3261x and y Computer science theory<br />
Lect: 3. 3 pts. Professor Pasik.<br />
Prerequisites: COMS W3137 and W3203.<br />
Regular languages: deterministic and nondeterministic,<br />
finite automata, regular expressions.<br />
Contest-free languages: context-free grammars,<br />
push-down automata. Turing machines, the Chomsky<br />
hierarchy, and the Church-Turing thesis. Introduction<br />
to complexity theory and NP completeness.<br />
CSEE W3827x and y Fundamentals of computer<br />
systems<br />
Lect: 3. 3 pts. Instructor to be announced.<br />
Prerequisite: An introductory programming course.<br />
Fundamentals of computer organization and digi-<br />
113<br />
<strong>SEAS</strong> <strong>2009</strong>–<strong>2010</strong>