04.01.2015 Views

2009-2010 Bulletin – PDF - SEAS Bulletin - Columbia University

2009-2010 Bulletin – PDF - SEAS Bulletin - Columbia University

2009-2010 Bulletin – PDF - SEAS Bulletin - Columbia University

SHOW MORE
SHOW LESS

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>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!