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.

114<br />

tal logic. Boolean algebra, Karnaugh maps, basic<br />

gates and components, flipflops and latches,<br />

counters and state machines, basics of combinational<br />

and sequential digital design. Assembly<br />

language, instruction sets, ALUs, single-cycle<br />

and multicycle processor design, introduction to<br />

pipelined processors, caches, and virtual memory.<br />

COMS W3902x and y Undergraduate thesis<br />

1 to 6 pts.<br />

Prerequisite: Agreement by a faculty member to<br />

serve as thesis adviser. An independent theoretical<br />

or experimental investigation by an undergraduate<br />

major of an appropriate problem in computer science<br />

carried out under the supervision of a faculty member.<br />

A formal written report is mandatory and an oral<br />

presentation may also be required. May be taken<br />

over more than one term, in which case the grade<br />

is deferred until all 6 points have been completed.<br />

Consult the department for section assignment.<br />

COMS W3995x or y Special topics in computer<br />

science<br />

Lect: 3. 3 pts. Instructor to be announced.<br />

Prerequisite: The instructor’s permission. Consult<br />

the department for section assignment. Special<br />

topics arranged as the need and availability arise.<br />

Topics are usually offered on a one-time basis.<br />

Since the content of this course changes each<br />

time it is offered, it may be repeated for credit.<br />

COMS W3998x and y Undergraduate projects<br />

in computer science<br />

1 to 3 pts. Instructor to be announced.<br />

Prerequisite: Approval by a faculty member<br />

who agrees to supervise the work. Consult the<br />

department for section assignment. Independent<br />

project involving laboratory work, computer programming,<br />

analytical investigation, or engineering<br />

design. May be repeated for credit, but not for a<br />

total of more than 3 points of degree credit.<br />

ECBM E4060x Introduction to genomic<br />

information science and technology<br />

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

Introduction to the information system paradigm<br />

of molecular biology. Representation, organization,<br />

structure, function, and manipulation of the<br />

biomolecular sequences of nucleic acids and<br />

proteins. The role of enzymes and gene regulatory<br />

elements in natural biological functions as well<br />

as in biotechnology and genetic engineering.<br />

Recombination and other macromolecular processes<br />

viewed as mathematical operations with simulation<br />

and visualization using simple computer programming.<br />

This course shares lectures with ECBM<br />

E3060, but the work requirements differ somewhat.<br />

COMS W4101x or y Topics in computer<br />

science technology<br />

1.5 pts. Instructor to be announced.<br />

Prerequisites: Fluency in at least one programming<br />

language and familiarity with computer systems.<br />

Introduction to current topics in computer<br />

science technology. Each section will be devoted<br />

to a specific technology. Sections may meet for<br />

1.5 hours per week for the whole term or 3 hours<br />

per week for a half term. May be repeated for<br />

credit if different technologies are involved.<br />

COMS W4111x and y Introduction to databases<br />

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

Prerequisites: COMS W3137 or W3134, fluency<br />

in Java; or the instructor’s permission. The fundamentals<br />

of database design and application<br />

development using databases: entity-relationship<br />

modeling, logical design of relational databases,<br />

relational data definition and manipulation languages,<br />

SQL, XML, query processing, physical<br />

database tuning, transaction processing, security.<br />

Programming projects are required.<br />

COMS W4112y Database system implementation<br />

Lect: 2.5. 3 pts. Professors Gravano or Ross<br />

Prerequisites: COMS W4111; fluency in Java or<br />

C++. COMS W3827 is recommended. The principles<br />

and practice of building large-scale database<br />

management systems. Storage methods and<br />

indexing, query processing and optimization,<br />

materialized views, transaction processing and<br />

recovery, object-relational databases, parallel<br />

and distributed databases, performance considerations.<br />

Programming projects are required.<br />

COMS W4115x and y Programming languages<br />

and translators<br />

Lect: 3. 3 pts. x: Professor Edwards; y: Professor Aho.<br />

Prerequisites: COMS W3137 or the equivalent,<br />

W3261, and CSEE W3827, or the instructor’s permission.<br />

Modern compiler implementation and<br />

programming language design. Language styles<br />

including imperative, object-oriented, declarative,<br />

functional, and scripting languages. Language<br />

design issues including syntax, control structures,<br />

data types, procedures and parameters, binding,<br />

scope, run-time organization, and exception<br />

handling. Implementation of language translation<br />

tools including compilers and interpreters.<br />

Language translation concepts including lexical,<br />

syntactic, and semantic analysis; code generation;<br />

and an introduction to code optimization.<br />

Teams implement a language and its compiler.<br />

COMS W4117x or y Compilers and interpreters<br />

Lect. 3. 3 pts. Instructor to be announced.<br />

Prerequisite: COMS W4115 or the instructor’s<br />

permission. Continuation of COMS W4115, with<br />

broader and deeper investigation into the design<br />

and implementation of contemporary language<br />

translators, be they compilers or interpreters.<br />

Topics include: parsing, semantic analysis, code<br />

generation and optimization, run-time environments,<br />

and compiler-compilers. A programming<br />

project is required.<br />

COMS W4118x Operating systems, I<br />

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

Prerequisites: CSEE W3827 and knowledge of C<br />

and programming tools as covered in COMS<br />

W3157 or W3101, or the instructor’s permission.<br />

Design and implementation of operating systems.<br />

Topics include process management, process<br />

synchronization and interprocess communication,<br />

memory management, virtual memory, interrupt<br />

handling, processor scheduling, device management,<br />

I/O, and file systems. Case study of the<br />

UNIX operating system. A programming project<br />

is required.<br />

CSEE W4119x and y Computer networks<br />

Lect: 3. 3 pts. x: Professor Misra; y: Professor<br />

Yemini.<br />

Corequisite: SIEO W3600 or W3658 or equivalent.<br />

Introduction to computer networks and the technical<br />

foundations of the Internet, including applications,<br />

protocols, local area networks, algorithms for routing<br />

and congestion control, security, elementary<br />

performance evaluation. Several programming<br />

assignments and a lab project may be required.<br />

CSEE W4140x or y Networking laboratory<br />

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

Pre/corequisites: CSEE W4119 or equivalent<br />

coursework; students need one of the pre/corequisites<br />

or the instructor’s permission. In this<br />

hands-on networking lab course, students will<br />

learn how to put “principles into practice.” The<br />

course will cover the technologies and protocols<br />

of the Internet using equipment currently available<br />

to large Internet service providers such as CISCO<br />

routers and end systems. A set of laboratory<br />

experiments will provide hands-on experience<br />

with engineering wide-area networks and will<br />

familiarize students with the Internet Protocol (IP),<br />

Address Resolution Protocol (ARP), Internet<br />

Control Message Protocol (ICMP), User Datagrtam<br />

Protocol (UDP) and Transmission Control<br />

Protocol (TCP), the Domain Name System (DNS),<br />

routing protocols (RIP, OSPF, BGP), network<br />

management protocols (SNMP), and applicationlevel<br />

protocols (FTP, TELNET, SMTP).<br />

COMS W4156x or y Advanced software<br />

engineering<br />

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

Prerequisites: Any one or more of COMS W4111,<br />

W4115, W4118, or W4444. Assumes substantial<br />

prior software development experience in one or<br />

more of C++, Java, or C#, as well as basic familiarity<br />

with using SQL. Focuses primarily on component<br />

model frameworks (EJB, .NET/COM+,<br />

Web Services) and quality assurance (code<br />

inspection, unit and integration testing, stress<br />

testing). Introduction to UML. Surveys other software<br />

life-cycle topics as time permits. Centers<br />

on an intense semester-long multi-iteration team<br />

project building an N-tier application.<br />

COMS W4160y Computer graphics<br />

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

Prerequisites: COMS 3137 or 3139; 4156 is<br />

recommended. Strong programming background<br />

and some mathematical familiarity including linear<br />

algebra is required. Introduction to computer<br />

graphics. Topics include 3D viewing and projections,<br />

geometric modeling using spline curves,<br />

graphics systems such as OpenGL, lighting and<br />

shading, and global illumination. Significant imple-<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!