21.01.2015 Views

2011-2012 Bulletin – PDF - SEAS Bulletin - Columbia University

2011-2012 Bulletin – PDF - SEAS Bulletin - Columbia University

2011-2012 Bulletin – PDF - SEAS Bulletin - Columbia University

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

112<br />

COMS W1001x and y Introduction to<br />

information science<br />

3 pts. Lect: 3. Professor Cannon.<br />

Basic Introduction to concepts and skills<br />

in Information Sciences: human-computer<br />

interfaces, representing information digitally,<br />

organizing and searching information on the<br />

World Wide Web, principles of algorithmic<br />

problem solving, introduction to database<br />

concepts, introduction to programming in Python.<br />

COMS W1003x or y Introduction to computer<br />

science and programming in C<br />

3 pts. Lect: 3.<br />

A general introduction to computer science<br />

concepts, algorithmic problem-solving<br />

capabilities, and programming skills in C.<br />

<strong>Columbia</strong> <strong>University</strong> students may receive credit<br />

for only one of the following three courses: 1003,<br />

1004, and 1005.<br />

COMS W1004x and y Introduction to<br />

computer science and programming in Java<br />

3 pts. Lect: 3. Professor Cannon.<br />

A general introduction to computer science for<br />

science and engineering students interested in<br />

majoring in computer science or engineering.<br />

Covers fundamental concepts of computer<br />

science, algorithmic problem-solving capabilities,<br />

and introductory Java programming skills.<br />

Assumes no prior programming background.<br />

<strong>Columbia</strong> <strong>University</strong> students may receive credit<br />

for only one of the following three courses: 1003,<br />

1004, and 1005.<br />

COMS W1005x and y Introduction to<br />

computer science and programming in<br />

MATLAB<br />

3 pts. Lect: 3. Professor Blaer.<br />

Prerequisites: None. Corequisites: None.<br />

A general introduction to computer science<br />

concepts, algorithmic problem-solving<br />

capabilities, and programming skills in MATLAB.<br />

Assumes no prior programming background.<br />

<strong>Columbia</strong> <strong>University</strong> students may receive credit<br />

for only one of the following three courses: 1003,<br />

1004, and 1005.<br />

COMS W1007x and y Object-oriented<br />

programming and design in Java<br />

3 pts. Lect: 3. Professor Kender.<br />

Prerequisite: COMS W1004 or AP Computer<br />

Science with a grade of 4 or 5. The second<br />

course for majors in computer science.<br />

A rigorous treatment of object-oriented<br />

concepts using Java as an example language.<br />

Development of sound programming and design<br />

skills, problem solving and modeling of real<br />

world problems from science, engineering, and<br />

economics using the object-oriented paradigm.<br />

ECBM E3060x Introduction to genomic<br />

information science and technology<br />

3 pts. Lect: 3. Professor Anastassiou.<br />

Introduction to the information system<br />

paradigm of molecular biology. Representation,<br />

organization, structure, function and manipulation<br />

of the biomolecular sequences of nucleic<br />

acids and proteins. The role of enzymes and<br />

gene regulatory elements in natural biological<br />

functions as well as in biotechnology and<br />

genetic engineering. Recombination and<br />

other macromolecular processes viewed<br />

as mathematical operations with simulation<br />

and visualization using simple computer<br />

programming. This course shares lectures with<br />

ECBM E4060, but the work requirements differ<br />

somewhat.<br />

COMS W3101x and y Programming languages<br />

1 pt. Lect: 1.<br />

Prerequisite: Fluency in at least one<br />

programming language. Introduction to a<br />

programming language. Each section is<br />

devoted to a specific language. Intended only<br />

for those who are already fluent in at least one<br />

programming language. Sections may meet for<br />

one hour per week for the whole term, for three<br />

hours per week for the first third of the term, or<br />

for two hours per week for the first six weeks.<br />

May be repeated for credit if different languages<br />

are involved.<br />

COMS W3133x or y Data structures in C<br />

3 pts. Lect: 3.<br />

Prerequisite: COMS W1003 or knowledge of<br />

C. 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.<br />

Rudiments of the analysis of algorithms. Taught<br />

in C. Note: Due to significant overlap, students<br />

may receive credit for only one of the following<br />

four courses: COMS W3133, W3134, W3137,<br />

and W3139.<br />

COMS W3134x and y Data structures in Java<br />

3 pts. Lect: 3.<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.<br />

Rudiments of the 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, and W3139.<br />

COMS W3137x and y Data structures and<br />

algorithms<br />

4 pts. Lect: 3. Professor Hershkop.<br />

Prerequisite: COMS W1007. Corequisite: COMS<br />

W3203. Data types and structures: arrays,<br />

stacks singly and doubly linked lists, queues,<br />

trees, sets, and graphs. Programming techniques<br />

for processing such structures: sorting and<br />

searching, hashing, garbage collection. Storage<br />

management. Design and analysis of algorithms.<br />

Taught 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, and W3139.<br />

COMS W3157x and y Advanced programming<br />

4 pts. Lect: 4.<br />

Prerequisite: COMS W1007. Practical, hands-on<br />

introduction to programming techniques and tools<br />

for professional software construction, including<br />

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<br />

theory<br />

3 pts. Lect: 3. Professor Gross.<br />

Prerequisite: Any introductory course in<br />

computer programming. Logic and formal proofs,<br />

sequences and summation, mathematical<br />

induction, binomial coefficients, elements<br />

of finite probability, recurrence relations,<br />

equivalence relations and partial orderings, and<br />

topics in graph theory (including isomorphism,<br />

traversability, planarity, and colorings).<br />

COMS W3210y Scientific computation<br />

3 pts. Lect: 3.<br />

Prerequisites: Two terms of calculus. Introduction<br />

to computation on digital computers. Design<br />

and analysis of numerical algorithms. Numerical<br />

solution of equations, integration, recurrences,<br />

chaos, differential equations. Introduction to<br />

Monte Carlo methods. Properties of floating point<br />

arithmetic. Applications to weather prediction,<br />

computational finance, computational science,<br />

and computational engineering.<br />

COMS W3251x Computational linear algebra<br />

3 pts. Lect: 3. Professor Papageorgiou.<br />

Prerequisites: Two terms of calculus.<br />

Computational linear algebra, solution of linear<br />

systems, sparse linear systems, least squares,<br />

eigenvalue problems, and numerical solution of<br />

other multivariate problems as time permits.<br />

COMS W3261x and y Computer science theory<br />

3 pts. Lect: 3. Professor Aho.<br />

Prerequisite: COMS W3203. Corequisite: COMS<br />

W3137. Regular languages: deterministic<br />

and nondeterministic finite automata, regular<br />

expressions. Context-free languages: contextfree<br />

grammars, push-down automata. Turing<br />

machines, the Chomsky hierarchy, and the<br />

Church-Turing thesis. Introduction to complexity<br />

theory and NP-completeness.<br />

engineering <strong>2011</strong>–<strong>2012</strong>

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

Saved successfully!

Ooh no, something went wrong!