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.
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>