CBMF W4761 Computational Genomics. 3 points.

BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA).
Lect: 3.

Prerequisites: introductory probability and statistics and basic programming skills.

Provides comprehensive introduction to computational techniques for analyzing genomic data including DNA, RNA and protein structures; microarrays; transcription and regulation; regulatory, metabolic and protein interaction networks. The course covers sequence analysis algorithms, dynamic programming, hidden Markov models, phylogenetic analysis, Bayesian network techniques, neural networks, clustering algorithms, support vector machines, Boolean models of regulatory networks, flux based analysis of metabolic networks and scale-free network models. The course provides self-contained introduction to relevant biological mechanisms and methods.

Spring 2017: CBMF W4761
Course Number Section/Call Number Times/Location Instructor Points Enrollment
CBMF 4761 001/29952 M W 4:10pm - 5:25pm
486 Computer Science Bldg
Itshack Pe'er 3 33/50

COMS E6111 Advanced Database Systems. 3 points.

Lect: 2.

Prerequisites: COMS W4111 and knowledge of Java or the instructor's permission.

Continuation of COMS W4111, covers latest trends in both database research and industry: information retrieval, web search, data mining, data warehousing, OLAP, decision support, multimedia databases, and XML and databases. Programming projects required.

Fall 2016: COMS E6111
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 6111 001/28626 F 2:10pm - 4:00pm
1127 Seeley W. Mudd Building
Luis Gravano 3 76/80

COMS E6113 Topics in Database Systems. 3 points.

Lect: 2.Not offered during 2016-17 academic year.

Prerequisites: COMS W4111.

Concentration on some database paradigm, such as deductive, heterogeneous, or object-oriented, and/or some database issue, such as data modeling, distribution, query processing, semantics, or transaction management. A substantial project is typically required. May be repeated for credit with instructor's permission.

COMS E6117 Topics in Programming Languages and Translators. 3 points.

Lect: 2.

Prerequisites: COMS W4115 or the instructor's permission.

Concentration on the design and implementation of programming languages, and tools focused on advanced applications in new areas in software verification, distributed systems, programming in the large, and web computing. A substantial project is typically required. May be repeated for credit.

COMS E6118 Operating systems, II. 3 points.

Lect: 2.Not offered during 2016-17 academic year.

Prerequisites: COMS W4118.
Corequisites: COMS W4119.

Continuation of COMS W4118, with emphasis on distributed operating systems. Topics include interfaces to network protocols, distributed run-time binding, advanced virtual memory issues, advanced means of interprocess communication, file system design, design for extensibility, security in a distributed environment. Investigation is deeper and more hands-on than in COMS W4118. A programming project is required.

Spring 2017: COMS E6118
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 6118 001/73660 T 10:10am - 12:00pm
Room TBA
Jason Nieh 3 30/40

COMS E6121 Reliable Software. 3 points.

Not offered during 2016-17 academic year.

Prerequisites: at least one of COMS W4118 Operating Systems I, COMS W4115 Programming Languages and Translators, or COMS W4117 Compilers and Interpreters; or significant software development experiences.

Topics include: automated debugging, automated software repair, Concurrent software reliability, software error detection, and more.

COMS E6123 Programming Environments and Software Tools (PEST). 3 points.

Lect: 2.

Prerequisites: COMS W4156, or equivalent.

Software methodologies and technologies concerned with development and operation of today's software systems.  Reliability, security, systems management and societal issues.  Emerging software architectures such as enterprise and grid computing. Term paper and programming project. Seminar focus changes frequently to remain timely.

COMS E6125 Web-enhanced Information Management (WHIM). 3 points.

Lect: 2.

Prerequisites: at least one COMS W41xx or COMS E61xx course and/or COMS W4444, or the instructor's permission. Strongly recommended: COMS W4111.

History of hypertext, markup languages, groupware and the Web.  Evolving Web protocols, formats and computation paradigms such as HTTP, XML and Web Services. Novel application domains enabled by the Web and societal issues. Term paper and programming project. Seminar focus changes frequently to remain timely.

COMS E6156 Topics in Software Engineering. 3 points.

Topics in Software engineering arranged as the need and availability arises. Topics are usually offered on a one-time basis. Since the content of this course changes, it may be repeated for credit with advisor approval. Consult the department for section assignment.

Spring 2017: COMS E6156
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 6156 001/62977 T Th 1:10pm - 2:25pm
Room TBA
Gail Kaiser 3 94/60

COMS E6160 Topics in Computer Graphics. 3 points.

Lect: 2.

Prerequisites: COMS W4160 or the instructor's permission.

An advanced graduate course, involving study of an advanced research topic in Computer Graphics.  Content varies between offerings, and  the course may be repeated for credit.  Recent offerings have included appearance models in graphics, and high quality real-time rendering.

COMS E6174 Interaction Design: A Perceptual Approach. 3 points.

Lect: 3.

Prerequisites: COMS W4170 or the instructor's permission.

Design methology for special-purpose user interfaces. Emphasis on how psychology and perception inform good design. Interviewing and task modeling, participatory design, and low-fidelilty prototyping. Applications of brain research, graphic design and art to develop custom user interfaces components, screen layouts, and interaction techniques for application-specific systems.

COMS E6176 User Interfaces for Mobile and Wearable Computing. 3 points.

Lect: 2.

Prerequisites: COMS W4170 or the instructor's permission.

Introduction to research on user interfaces for mobile and wearable computing through lectures, invited talks, student-led discussions of important papers, and programming projects. Designing and authoring for mobility and wearability. Ubiquitous/pervasive computing.   Collaboration with other users. Display, interaction, and communication technologies. Sensors for tracking position, orientation, motion, environmental context, and personal context. Applications and social consequences.

COMS E6181 Advanced Internet Services. 3 points.

Lect: 2.

In-depth survey of protocols and algorithms needed to transport multimedia information across the Internet, including audio and video encoding, multicast, quality-of-service, voice-over-IP, streaming media and peer-to-peer multimedia systems. Includes a semester-long programming project.

COMS E6183 Advanced Topics in Network Security. 3 points.

Lect: 3.

Prerequisites: COMS W4180, CSEE 4119, and COMS W4261 recommended.

Review the fundamental aspects of security, including authentication, authorization, access control, confidentiality, privacy, integrity, and availability. Review security techniques and tools, and their applications in various problem areas. Study the state of the art in research. A programming project is required.

COMS E6184 Seminar on Anonymity and Privacy. 3 points.

Lect: 3.Not offered during 2016-17 academic year.

Prerequisites: COMS W4261 or COMS W4180 or CSEE W4119, or the instructor's permission.

This course will cover the following topics: Legal and social framework for privacy. Data mining and databases. Anonymous commerce and internet usage. Traffic analysis. Policy and national security considerations. Classes are seminars with students presenting papers and discussing them. Seminar focus changes frequently to remain timely.

Spring 2017: COMS E6184
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 6184 001/72737 T 6:10pm - 8:00pm
Room TBA
Steven Bellovin 3 33/30

COMS E6185 Intrusion and Anomaly Detection Systems. 2 points.

Lect: 2.

Prerequisites: COMS W4180 Network Security.
Corequisites: COMS W4180 Network Security.

The state of threats against computers, and networked systems. An overview of computer security solutions and why they fail. Provides a detailedtreatment for Network and Host-based Intrusion Detection and Intrusion Prevention systems. Considerable depth is provided on anomaly detection systems to detect new attacks. Covers issues and problems in email (spam, and viruses) and insider attacks (masquerading and impersonation).

COMS E6204 Topics in Graph Theory. 3 points.

Lect: 2.

Prerequisites: COMS W4203 or the instructor's permission.

Content varies from year to year. This course may be repeated for credit. Concentration on some aspect of graph theory, such as topological graph theory, algebraic graph theory, enumerative graph theory, graphical optimization problems, or matroids.

COMS E6206 Topics in Combinatorial Theory. 3 points.

Lect: 2.

Prerequisites: COMS W4203 or COMS W4205, or the instructor's permission.

Concentration on some aspect of combinatorial theory. Content varies form year to year. This course may be repeated for credit.

COMS E6232 Analysis of Algorithms, II. 3 points.

Lect: 2.

Prerequisites: CSOR W4231.

Continuation of CSOR W4231.

Spring 2017: COMS E6232
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 6232 001/16582 W 4:10pm - 6:00pm
Room TBA
Mihalis Yannakakis 3 44/40

COMS E6253 Advanced Topics in Computational Learning Theory. 3 points.

Lect: 3.Not offered during 2016-17 academic year.

Prerequisites: CSOR W4231 or equivalent, COMS W4252 or COMS W4236 helpful but not required.

In-depth study of inherent abilities and limitations of computationally efficient learning algorithms. Algorithms for learning rich Boolean function classes in online, Probably Approximately Correct, and exact learning models. Connections with computational complexity theory emphasized. Substantial course project or term paper required.

COMS E6261 Advanced Cryptography. 3 points.

Lect: 3.

Prerequisites: COMS W4261.

A study of advanced cryptographic research topics such as: secure computation, zero knowledge, privacy, anonymity, cryptographic protocols.  Concentration on theoretical foundations, rigorous approach, and provable security.  Contents varies between offerings. May be repeated for credit.

COMS E6291 Theoretical Topics in Computer Science. 3 points.

Lect: 3.

Prerequisites: the instructor's permission.

Concentration on some theoretical aspect of computer science. Content varies from year to year. May be repeated for credit.

COMS E6731 Humanoid Robots. 3 points.

Prerequisites: A Course in at least One of the following: AI, Robotics, Computer Graphics, or Computer Vision

Seminar on Humanoid Robots. Analysis of existing hardware and software platforms. Programming of multi-degree-of-freedom robots. Understanding sensor feedback in perceive-act-sense control paradigms. Task-level planning and reasoning. Final project includes implementing a humanoid robot task on either a simulated or physical robot.

Spring 2017: COMS E6731
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 6731 001/70392 T 4:10pm - 6:00pm
486 Computer Science Bldg
Peter Allen 3 43/40

COMS E6732 Computational Imaging. 3 points.

Lect: 3.

Prerequisites: COMS W4731 or the instructor's permission.

Computational imaging uses a combination of novel imaging optics and a computational module to produce new forms of visual information. Survey of the state of art in computational imaging. Review of recent papers on: omni directional and panoramic imaging, catadioptric imaging, high dynamic range imaging, mosaicing and superresolution. Classes are seminars with the instructor, guest speakers, and students presenting papers and discussing them.

Spring 2017: COMS E6732
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 6732 001/21135 M 4:10pm - 6:40pm
Room TBA
Shree Nayar 3 57/60

COMS E6733 3 -D photography. 3 points.

Lect: 2.

Prerequisites: experience with at least one of the following topics: Computer Graphics, Computer Vision, Pixel Processing, Robotics or Computer Aided Design, or the instructor's permission. Programming proficiency in C, C++ or JAVA.

Programming proficiency in C, C++ or JAVA. 3D Photography - the process of automatically creating 3D, texture-mapped models of objects in detail. Applications include robotics, medicine, graphics, virtual reality, entertainment and digital movies etc. Topics include 3D data acquisition devices, 3D modeling systems and algorithms to acquire, create, augment, manipulate, render, animate and physically build such models.

COMS E6734 Computational Photography. 3 points.

Lect: 3.

Prerequisites: COMS W4160, COMS W4731, or a working knowledge of photography are recommended.

Students should have knowledge in any of three core areas: computer vision, computer graphics, or photography. Computational techniques are used to produce a new level of images and visual representations. Topics include: HDR imaging, feature matching using RANSAC, image mosaics, image-based rendering, motion magnification, camera lens arrays, programmable lighting, face detection, single and multi-view geometry, and more.

COMS E6735 Visual Databases. 3 points.

Lect: 3.Not offered during 2016-17 academic year.

Prerequisites: COMS W3134 or COMS W3137 required. COMS W4731 and COMS W4735 helpful but not required. Contact instructor if uncertain.

The analysis and retrieval of large collections of image and video data, with emphasis on visual semantics, human psychology, and user interfaces. Low-level processing: features and similarity measures; shot detection; key frame selection; machine learning methods for classification. Middle-level processing: organizational rules for videos, including unedited (home, educational), semi-edited (sports, talk shows), edited (news, drama); human memory limits; progressive refinement; visualization techniques; incorporation of audio and text. High-level processing: extraction of thematic structures; ontologies, semantic filters, and learning; personalization of summaries and interfaces; detection of pacing and emotions. Examples and demonstrations from commercial and research systems throughout. Substantial course project or term paper required.

COMS E6737 Biometrics. 3 points.

Lect: 3.

Prerequisites: a background at the sophomore level in computer science, engineering, or like discipline.

In this course we will explore the latest advances in biometrics as well as the machine learning techniques behind them. Students will learn how these technologies work and how they are sometimes defeated. Grading will be based on homework assignments and a final project. There will be no midterm or final exam. This course shares lectures with COMS W4737. Students taking COMS E6737 are required to complete additional homework problems and undertake a more rigorous final project. Students will only be allowed to earn credit for COMS W4737 or COMS E6737 and not both.

COMS E6900 Tutorial in Computer Science. 1-3 points.

Prerequisites: the instructor's permission.

A reading course in an advanced topic for a small number of students, under faculty supervision.

Fall 2016: COMS E6900
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 6900 001/65949  
1-3 0
COMS 6900 074/26200  
Hod Lipson 1-3 0

COMS E6901 Projects in Computer Science. 1-12 points.

Prerequisites: the instructor's permission.

Software or hardware projects in computer science. Before registering, the student must submit a written proposal to the instructor for review. The proposal should give a brief outline of the project, estimated schedule of completion, and computer resources needed. Oral and written reports are required. May be taken over more than one semester, in which case the grade will be deferred until all 12 points have been completed. No more than 12 points of COMS E6901 may be taken. Consult the department for section assignment.

Fall 2016: COMS E6901
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 6901 001/66651  
1-12 0

COMS E6902 Thesis. 1-9 points.

Available to MS and CSE candidates. An independent investigation of an appropriate problem in computer science carried out under the supervision of a faculty member. A formal written report is essential and an oral presentation may also be required. May be taken over more than one semester, in which case the grade will be deferred until all 9 points have beem completed. No more than 9 points of COMS E6902 may be taken. Consult the department for section assignment.

Fall 2016: COMS E6902
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 6902 001/67248  
1-9 0

COMS E6915 Writing for Computer Scientists and Engineers. 1 point.

5 week course

Prerequisites: For M.S. and Ph.D candidates in CS/CE.

Topics to help CS/CE graduate students’ communication skills. Emphasis on writing, presenting clear, concise proposals, journal articles, conference papers, theses, and technical presentations. May be repeated for credit. Credit may not be used to satisfy degree requirements.

Fall 2016: COMS E6915
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 6915 001/26952 M W 10:10am - 12:00pm
601b Fairchild Life Sciences Bldg
Janet Kayfetz 1 14/15
COMS 6915 002/61280 M W 10:10am - 12:00pm
601b Fairchild Life Sciences Bldg
Janet Kayfetz 1 12/15

COMS E6998 Topics in Computer Science. 3 points.

Prerequisites: Instructor's permission.

Selected topics in computer science. Content varies from year to year. May be repeated for credit.

Fall 2016: COMS E6998
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 6998 001/62880 F 12:10pm - 2:00pm
644 Seeley W. Mudd Building
Yaniv Erlich 3 22/40
COMS 6998 003/23456 F 2:10pm - 4:00pm
302 Fayerweather
Changxi Zheng 3 10/25
COMS 6998 004/27250 Th 7:00pm - 9:30pm
486 Computer Science Bldg
Homayoon Beigi 3 25/60
COMS 6998 005/28280 M 6:10pm - 8:00pm
209 Havemeyer Hall
Sambit Sahu 3 93/75
COMS 6998 006/63007 T 4:10pm - 6:40pm
627 Seeley W. Mudd Building
Michael Sikorski 3 23/50
COMS 6998 007/96297 M 4:10pm - 6:00pm
337 Seeley W. Mudd Building
Alfio Gliozzo 3 17/30
COMS 6998 009/91497 Th 2:10pm - 4:00pm
227 Seeley W. Mudd Building
Vishal Misra 3 13/40
COMS 6998 010/86298 Th 10:10am - 12:00pm
415 Schapiro Cepser
Donald Ferguson 3 59/40
Spring 2017: COMS E6998
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 6998 001/17235 Th 10:10am - 12:40pm
Room TBA
Rocco Servedio 3 32/30
COMS 6998 002/18002 W 2:10pm - 4:00pm
Room TBA
Eugene Wu 3 37/40
COMS 6998 003/26970 T 10:10am - 12:40pm
Room TBA
3 22/30

COMS E6999 Topics in Computer Science, II. 3 points.

Prerequisites: COMS E6998.

Continuation of COMS E6998.

COMS E9800 Directed Research in Computer Science. 1-15 points.

Prerequisites: submission of an outline of the proposed research for approval by the faculty member who will supervise.

The department must approve the number of points.  May be repeated for credit.  This course is only for Eng.Sc.D. candidates.

Fall 2016: COMS E9800
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 9800 001/19262  
1-15 0/0

COMS E9910 Graduate Research I. 1-6 points.

Prerequisites: submission of an outline of the proposed research for approval by the faculty member who will supervise.

The department must approve the number of credits. May be repeated for credit.  This course is only for MS candidates holding GRA or TA appointments.  Note: It is NOT required that a student take Graduate Research I prior to taking Graduate Research II. Consult the department for section assignment.

Fall 2016: COMS E9910
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 9910 001/11793  
1-6 0/0

COMS E9911 Graduate research II. 1-15 points.

Prerequisites: submission of an outline of the proposed research for approval by the faculty member who will supervise.

The department must approve the number of points. May be repeated for credit. This course is only for MS/PhD and PhD students. Note: It is NOT required that a student take Graduate Research I prior to taking Graduate Research II. Consult the department for section assignment.

Fall 2016: COMS E9911
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 9911 001/11354  
1-15 0/0

COMS GU4156 Advanced Software Engineering. 3 points.

CC/GS: Partial Fulfillment of Science Requirement, BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA).

Prerequisites: substantial software development experience in Java, C++ or C# beyond the level of COMS W3157.
Corequisites: Recommended: COMS W4111.

Software lifecycle from the viewpoint of designing and implementing N-tier applications (typically utilizing web browser, web server, application server, database). Major emphasis on quality assurance (code inspection, unit and integration testing, security and stress testing). Centers on a student-designed team project that leverages component services (e.g., transactions, resource pooling, publish/subscribe) for an interactive multi-user application such as a simple game.

Spring 2017: COMS GU4156
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4156 001/82784 T Th 10:10am - 11:25am
Room TBA
Ewan Lowe 3 2/60

COMS W1001 Introduction to Information Science. 3 points.

CC/GS: Partial Fulfillment of Science Requirement, BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA).

Basic introduction to concepts and skills in Information Sciences: human-computer interfaces, representing information digitally, organizing and searching information on the World Wide Web, principles of algorithmic problem solving, introduction to database concepts, and introduction to programming in Python.

COMS W1002 Computing in Context. 4 points.

CC/GS: Partial Fulfillment of Science Requirement

Introduction to elementary computing concepts and Python programming with domain-specific applications. Shared CS concepts and Python programming lectures with track-specific sections. Track themes will vary but may include computing for the social sciences, computing for economics and finance, digital humanities, and more. Intended for nonmajors. Students may only receive credit for one of ENGI E1006 and COMS W1002.

Fall 2016: COMS W1002
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 1002 001/14318 T Th 2:40pm - 3:55pm
501 Northwest Corner
Adam Cannon 4 107/124

COMS W1004 Introduction to Computer Science and Programming in Java. 3 points.

CC/GS: Partial Fulfillment of Science Requirement, BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA).

A general introduction to computer science for science and engineering students interested in majoring in computer science or engineering. Covers fundamental concepts of computer science, algorithmic problem-solving capabilities, and introductory Java programming skills. Assumes no prior programming background. Columbia University students may receive credit for only one of the following two courses: W1004 and W1005.

Fall 2016: COMS W1004
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 1004 001/62478 T Th 5:40pm - 6:55pm
309 Havemeyer Hall
Adam Cannon 3 272/320
Spring 2017: COMS W1004
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 1004 001/23742 T Th 5:40pm - 6:55pm
Room TBA
Adam Cannon 3 160/160
COMS 1004 002/29702 T Th 4:10pm - 5:25pm
Room TBA
Adam Cannon 3 160/160

COMS W1005 Introduction to Computer Science and Programming in MATLAB. 3 points.

CC/GS: Partial Fulfillment of Science Requirement, BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA).

A general introduction to computer science concepts, algorithmic problem-solving capabilities, and programming skills in MATLAB. Assumes no prior programming background. Columbia University students may receive credit for only one of the following two courses: W1004 and W1005.

Fall 2016: COMS W1005
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 1005 001/10312 M W 1:10pm - 2:25pm
486 Computer Science Bldg
Paul Blaer 3 53/70

COMS W1007 Honors Introduction to Computer Science. 3 points.

CC/GS: Partial Fulfillment of Science Requirement, BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA).

Prerequisites: AP Computer Science with a grade of 4 or 5 or similar experience.

An honors-level introduction to computer science, intended primarily for students considering a major in computer science. Computer science as a science of abstraction. Creating models for reasoning about and solving problems. The basic elements of computers and computer programs. Implementing abstractions using data structures and algorithms. Taught in Java. 

Fall 2016: COMS W1007
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 1007 001/75547 T Th 1:10pm - 2:25pm
209 Havemeyer Hall
John Kender 3 59/86

COMS W1404 Emerging Scholars Program Seminar. 1 point.

Pass/Fail only.

Prerequisites: the instructor's permission.
Corequisites: COMS W1004/COMS W1007 or ENGI E1006.

Peer-led weekly seminar intended for first and second year undergraduates considering a major in Computer Science. Pass/fail only. May not be used towards satisfying the major or SEAS credit requirements.

Fall 2016: COMS W1404
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 1404 001/13954  
Adam Cannon 1 45
Spring 2017: COMS W1404
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 1404 001/29685  
Adam Cannon 1 7

COMS W3101 Programming Languages. 1 point.

BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA).

Prerequisites: fluency in at least one programming language.

Introduction to a programming language. Each section is devoted to a specific language. Intended only for those who are already fluent in at least one programming language. Sections may meet for one hour per week for the whole term, for three hours per week for the first third of the term, or for two hours per week for the first six weeks. May be repeated for credit if different languages are involved.

Fall 2016: COMS W3101
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3101 002/87504 T 6:10pm - 8:00pm
337 Seeley W. Mudd Building
Ramana Isukapalli 1 14/30

COMS W3102 Development Technologies. 1-2 points.

Lab Hours: 0 - 2Not offered during 2016-17 academic year.

Prerequisites: Fluency in at least one programming language

Introduction to software development tools and environments. Each section devoted to a specific tool or environment. One-point sections meet for two hours each week for half a semester and two point sections include an additional two-hour lab.

Spring 2017: COMS W3102
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3102 001/27848 T 6:10pm - 8:00pm
Room TBA
Robert Lane 1-2 0/60

COMS W3134 Data Structures in Java. 3 points.

CC/GS: Partial Fulfillment of Science Requirement, BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA).

Prerequisites: COMS W1004 or knowledge of Java.

Data types and structures: arrays, stacks, singly and doubly linked lists, queues, trees, sets, and graphs. Programming techniques for processing such structures: sorting and searching, hashing, garbage collection. Storage management. Rudiments of the analysis of algorithms. Taught in Java. Note: Due to significant overlap, students may receive credit for only one of the following three courses: COMS W3134, COMS W3136, COMS W3137.

Fall 2016: COMS W3134
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3134 001/73677 M W 6:10pm - 7:25pm
417 International Affairs Bldg
Paul Blaer 3 228/398
COMS 3134 002/78249 M W 11:40am - 12:55pm
486 Computer Science Bldg
Daniel Bauer 3 45/64
Spring 2017: COMS W3134
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3134 001/21431 M W 5:40pm - 6:55pm
Room TBA
Paul Blaer 3 160/160
COMS 3134 002/73323 M W 1:10pm - 2:25pm
Room TBA
Paul Blaer 3 144/160

COMS W3136 Data Structures with C/C++. 4 points.

Prerequisites: COMS W1004, W1005, W1007, or ENGI E1006.

A second programming course intended for nonmajors with at least one semester of introductory programming experience. Basic elements of programming in C and C++, arraybased data structures, heaps, linked lists, C programming in UNIX environment, object-oriented programming in C++, trees, graphs, generic programming, hash tables. Due to significant overlap, students may only receive credit for either COMS W3134, W3136, or W3137.

Fall 2016: COMS W3136
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3136 001/12003 T Th 4:10pm - 5:25pm
501 Schermerhorn Hall
Jae Lee 4 70/123

COMS W3137 Honors Data Structures and Algorithms. 4 points.

BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA).

Prerequisites: COMS W1004 or W1007.
Corequisites: COMS W3203.

An honors introduction to data types and structures: arrays, stacks, singly and doubly linked lists, queues, trees, sets, and graphs. Programming techniques for processing such structures: sorting and searching, hashing, garbage collection. Storage management. Design and analysis of algorithms. Taught in Java. Note: Due to significant overlap, students may receive credit for only one of the following three courses: COMS W3134, W3136, or W3137.

Spring 2017: COMS W3137
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3137 001/19687 M W 1:10pm - 2:25pm
486 Computer Science Bldg
Daniel Bauer 4 52/60

COMS W3157 Advanced Programming. 4 points.

BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA)., Lab Required

Prerequisites: two semesters of programming experience (COMS W3134/W3137 Data Structures strongly recommended). C programming language and Unix systems programming.  Also covers Git, Make, TCP/IP networking basics, C++ fundamentals.

Fall 2016: COMS W3157
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3157 001/77230 T Th 11:40am - 12:55pm
309 Havemeyer Hall
Jae Lee 4 265/320
Spring 2017: COMS W3157
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3157 001/17050 T Th 4:10pm - 5:25pm
Room TBA
Jae Lee 4 234/250

COMS W3203 Discrete Mathematics: Introduction to Combinatorics and Graph Theory. 3 points.

CC/GS: Partial Fulfillment of Science Requirement, BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA).

Prerequisites: any introductory course in computer programming.

Logic and formal proofs, sequences and summation, mathematical induction, binomial coefficients, elements of finite probability, recurrence relations, equivalence relations and partial orderings, and topics in graph theory (including isomorphism, traversability, planarity, and colorings).

Fall 2016: COMS W3203
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3203 001/27188 M W 10:10am - 11:25am
Ren Kraft Center
Ansaf Salleb-Aouissi 3 161/147
COMS 3203 002/61896 M W 4:10pm - 5:25pm
313 Fayerweather
Jessica Ouyang 3 52/54
Spring 2017: COMS W3203
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3203 001/63319 M W 10:10am - 11:25am
Room TBA
Ansaf Salleb-Aouissi 3 121/120

COMS W3210 Scientific Computation. 3 points.

CC/GS: Partial Fulfillment of Science Requirement, BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA).

Prerequisites: two terms of calculus.

Introduction to computation on digital computers. Design and analysis of numerical algorithms. Numerical solution of equations, integration, recurrences, chaos, differential equations. Introduction to Monte Carlo methods. Properties of floating point arithmetic. Applications to weather prediction, computational finance, computational science, and computational engineering.

COMS W3251 Computational Linear Algebra. 3 points.

CC/GS: Partial Fulfillment of Science Requirement, BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA).

Prerequisites: two terms of calculus.

Computational linear algebra, solution of linear systems, sparse linear systems, least squares, eigenvalue problems, and numerical solution of other multivariate problems as time permits.

COMS W3261 Computer Science Theory. 3 points.

CC/GS: Partial Fulfillment of Science Requirement, BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA).

Prerequisites: COMS W3203.
Corequisites: COMS W3134, W3136, or W3137.

Regular languages: deterministic and non-deterministic finite automata, regular expressions. Context-free languages: context-free grammars, push-down automata. Turing machines, the Chomsky hierarchy, and the Church-Turing thesis. Introduction to Complexity Theory and NP-Completeness.

Fall 2016: COMS W3261
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3261 001/71023 M W 1:10pm - 2:25pm
833 Seeley W. Mudd Building
Alfred Aho 3 105/120
COMS 3261 002/73324 T Th 4:10pm - 5:25pm
614 Schermerhorn Hall
Xi Chen 3 99/123
Spring 2017: COMS W3261
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3261 001/75261 T Th 10:10am - 11:25am
Room TBA
Tal Malkin 3 101/100
COMS 3261 002/65526 T Th 11:40am - 12:55pm
Room TBA
Tal Malkin 3 100/100

COMS W3410 Computers and Society. 3 points.

Broader impact of computers. Social networks and privacy. Employment,intellectual property, and the media. Science and engineering ethics. Suitable for non-majors.

COMS W3902 Undergraduate Thesis. 1-6 points.

Prerequisites: agreement by a faculty member to serve as thesis adviser.

An independent theoretical or experimental investigation by an undergraduate major of an appropriate problem in computer science carried out under the supervision of a faculty member. A formal written report is mandatory and an oral presentation may also be required. May be taken over more than one term, in which case the grade is deferred until all 6 points have been completed. Consult the department for section assignment.

Fall 2016: COMS W3902
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3902 001/60901  
1-6 0
Spring 2017: COMS W3902
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3902 070/93443  
Alexandr Andoni 1-6 0
COMS 3902 071/93444  
Suman Jana 1-6 0

COMS W3995 Special Topics in Computer Science. 3 points.

CC/GS: Partial Fulfillment of Science Requirement

Prerequisites: the instructor's permission.

Consult the department for section assignment. Special topics arranged as the need and availability arise. Topics are usually offered on a one-time basis. Since the content of this course changes each time it is offered, it may be repeated for credit.

COMS W3998 Undergraduate Projects in Computer Science. 1-3 points.

Prerequisites: approval by a faculty member who agrees to supervise the work.

Independent project involving laboratory work, computer programming, analytical investigation, or engineering design. May be repeated for credit, but not for a total of more than 3 points of degree credit. Consult the department for section assignment.

Fall 2016: COMS W3998
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3998 001/62446  
1-3 3

COMS W4111 Introduction to Databases. 3 points.

CC/GS: Partial Fulfillment of Science Requirement, BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA).

Prerequisites: COMS W3134, W3136, or W3137, fluency in Java; or the instructor's permission.

The fundamentals of database design and application development using databases: entity-relationship modeling, logical design of relational databases, relational data definition and manipulation languages, SQL, XML, query processing, physical database tuning, transaction processing, security. Programming projects are required.

Fall 2016: COMS W4111
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4111 001/25522 M W 2:40pm - 3:55pm
614 Schermerhorn Hall
Eugene Wu 3 93/110
COMS 4111 002/87002 W 4:10pm - 6:40pm
833 Seeley W. Mudd Building
Alexandros Biliris 3 77/80
COMS 4111 H01/17355  
Eugene Wu 3 39/50
Spring 2017: COMS W4111
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4111 001/77619 T Th 2:40pm - 3:55pm
Room TBA
Luis Gravano 3 155/155
COMS 4111 002/88699 W 4:10pm - 6:40pm
Room TBA
Alexandros Biliris 3 25/80

COMS W4112 Database System Implementation. 3 points.

CC/GS: Partial Fulfillment of Science Requirement

Prerequisites: COMS W4111; fluency in Java or C++. CSEE W3827 is recommended.

The principles and practice of building large-scale database management systems. Storage methods and indexing, query processing and optimization, materialized views, transaction processing and recovery, object-relational databases, parallel and distributed databases, performance considerations. Programming projects are required.

Spring 2017: COMS W4112
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4112 001/75283 T 1:00pm - 3:40pm
Room TBA
Alexandros Biliris 3 30/80

COMS W4113 Fundamentals of Large-Scale Distributed Systems. 3 points.

Prerequisites: COMS W3134, W3136, or W3137. COMS W3157 or good working knowledge of C and C++. COMS W4118 or CSEE W4119.

Design and implementation of large-scale distributed and cloud systems.  Teaches abstractions, design and implementation techniques that enable the building of fast, scalable, fault-tolerant distributed systems. Topics include distributed communication models (e.g., sockets, remote procedure calls, distributed shared memory), distributed synchronization (clock synchronization, logical clocks, distributed mutex), distributed file systems, replication, consistency models, fault tolerance, distributed transactions, agreement and commitment, Paxos-based consensus, MapReduce infrastructures, scalable distributed databases. Combines concepts and algorithms with descriptions of real-world implementations at Google, Facebook, Yahoo, Microsoft, LinkedIn, etc.

COMS W4115 Programming Languages and Translators. 3 points.

CC/GS: Partial Fulfillment of Science Requirement, BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA).

Prerequisites: COMS W3134, W3136, or W3137 (or equivalent), W3261, and CSEE W3827, or the instructor's permission.

Modern programming languages and compiler design. Imperative, object-oriented, declarative, functional, and scripting languages. Language syntax, control structures, data types, procedures and parameters, binding, scope, run-time organization, and exception handling. Implementation of language translation tools including compilers and interpreters. Lexical, syntactic and semantic analysis; code generation; introduction to code optimization. Teams implement a language and its compiler.

Fall 2016: COMS W4115
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4115 001/23391 M W 4:10pm - 5:25pm
207 Mathematics Building
Stephen Edwards 3 98/120
COMS 4115 H01/17208  
Stephen Edwards 3 10/50
Spring 2017: COMS W4115
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4115 001/19108 M W 2:40pm - 3:55pm
Room TBA
Stephen Edwards 3 118/120

COMS W4117 Compilers and Interpreters. 3 points.

CC/GS: Partial Fulfillment of Science Requirement, BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA).

Prerequisites: COMS W4115 or the instructor's permission.

Continuation of COMS W4115, with broader and deeper investigation into the design and implementation of contemporary language translators, be they compilers or interpreters. Topics include: parsing, semantic analysis, code generation and optimization, run-time environments, and compiler-compilers. A programming project is required.

COMS W4118 Operating Systems I. 3 points.

CC/GS: Partial Fulfillment of Science Requirement, BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA).

Prerequisites: CSEE W3827 and knowledge of C and programming tools as covered in W3136, W3157, or W3101, or the instructor's permission.

Design and implementation of operating systems. Topics include process management, process synchronization and interprocess communication, memory management, virtual memory, interrupt handling, processor scheduling, device management, I/O, and file systems. Case study of the UNIX operating system. A programming project is required.

Fall 2016: COMS W4118
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4118 001/64953 T Th 1:10pm - 2:25pm
428 Pupin Laboratories
Jason Nieh 3 105/148
Spring 2017: COMS W4118
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4118 001/23985 T Th 11:40am - 12:55pm
Room TBA
Jae Lee 3 144/150

COMS W4121 Computer Systems for Data Science. 3 points.

Prerequisites: background in Computer System Organization and good working knowledge of C/C++
Corequisites: CSOR 4246 (Algorithms for Data Science), STATS W4105 (Probability), or equivalent as approved by faculty advisor.

An introduction to computer architecture and distributed systems with an emphasis on warehouse scale computing systems. Topics will include fundamental tradeoffs in computer systems, hardware and software techniques for exploiting instruction-level parallelism, data-level parallelism and task level parallelism, scheduling, caching, prefetching, network and memory architecture, latency and throughput optimizations, specialization, and an introduction to programming data center computers.

Spring 2017: COMS W4121
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4121 001/15051 W 6:10pm - 8:55pm
Room TBA
Sambit Sahu, Eugene Wu 3 111/125

COMS W4130 Principles and Practice of Parallel Programming. 3 points.

CC/GS: Partial Fulfillment of Science Requirement

Prerequisites: experience in Java, basic understanding of analysis of algorithms. COMS W3134, W3136, or W3137 (or equivalent).

Principles of parallel software design. Topics include task and data decomposition, load-balancing, reasoning about correctness, determinacy, safety, and deadlock-freedom. Application of techniques through semester-long design project implementing performant, parallel application in a modern parallel programming language.

COMS W4160 Computer Graphics. 3 points.

CC/GS: Partial Fulfillment of Science Requirement, BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA).

Prerequisites: COMS W3134, W3136, or W3137; W4156 is recommended. Strong programming background and some mathematical familiarity including linear algebra is required.

Introduction to computer graphics. Topics include 3D viewing and projections, geometric modeling using spline curves, graphics systems such as OpenGL, lighting and shading, and global illumination. Significant implementation is required: the final project involves writing an interactive 3D video game in OpenGL.

Fall 2016: COMS W4160
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4160 001/70951 Th 6:10pm - 8:00pm
516 Hamilton Hall
Michael Reed 3 43/54
Spring 2017: COMS W4160
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4160 001/68716 T Th 11:40am - 12:55pm
486 Computer Science Bldg
Changxi Zheng 3 58/60

COMS W4162 Advanced Computer Graphics. 3 points.

CC/GS: Partial Fulfillment of Science Requirement, BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA).

Prerequisites: COMS W4160 or equivalent, or the instructor's permission.

A second course in computer graphics covering more advanced topics including image and signal processing, geometric modeling with meshes, advanced image synthesis including ray tracing and global illumination, and other topics as time permits. Emphasis will be placed both on implementation of systems and important mathematical and geometric concepts such as Fourier analysis, mesh algorithms and subdivision, and Monte Carlo sampling for rendering. Note: Course will be taught every two years.

COMS W4167 Computer Animation. 3 points.

CC/GS: Partial Fulfillment of Science Requirement, BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA).

Prerequisites: multivariable calculus, linear algebra, C++ programming proficiency. COMS W4156 recommended.

Theory and practice of physics-based animation algorithms, including animated clothing, hair, smoke, water, collisions, impact, and kitchen sinks. Topics covered: Integration of ordinary differential equations, formulation of physical models, treatment of discontinuities including collisions/contact, animation control, constrained Lagrangian Mechanics, friction/dissipation, continuum mechanics, finite elements, rigid bodies, thin shells, discretization of Navier-Stokes equations.

Fall 2016: COMS W4167
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4167 001/24085 T Th 2:40pm - 3:55pm
833 Seeley W. Mudd Building
Eitan Grinspun 3 49/150

COMS W4170 User Interface Design. 3 points.

CC/GS: Partial Fulfillment of Science Requirement, BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA).

Prerequisites: COMS W3134, W3136, or W3137.

Introduction to the theory and practice of computer user interface design, emphasizing the software design of graphical user interfaces. Topics include basic interaction devices and techniques, human factors, interaction styles, dialogue design, and software infrastructure. Design and programming projects are required.

Fall 2016: COMS W4170
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4170 001/26008 T Th 1:10pm - 2:25pm
313 Fayerweather
Steven Feiner 3 63/50

COMS W4172 3D User Interfaces and Augmented Reality. 3 points.

CC/GS: Partial Fulfillment of Science Requirement, BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA).

Prerequisites: COMS W4160, COMS W4170, or the instructor's permission.

Design, development, and evaluation of 3D user interfaces. Interaction techniques and metaphors, from desktop to immersive. Selection and manipulation. Travel and navigation. Symbolic, menu, gestural, and multimodal interaction. Dialogue design. 3D software support. 3D interaction devices and displays. Virtual and augmented reality. Tangible user interfaces. Review of relevant 3D math.

Spring 2017: COMS W4172
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4172 001/10474 T Th 1:10pm - 2:25pm
486 Computer Science Bldg
Steven Feiner 3 0/50

COMS W4180 Network Security. 3 points.

CC/GS: Partial Fulfillment of Science Requirement, BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA).

Prerequisites: COMS W3134, W3136, or W3137 and W4119, or the instructor's permission.

Introduction to network security concepts and mechanisms. Foundations of network security and an in-depth review of commonly-used security mechanisms and techniques, security threats and network-based attacks, applications of cryptography, authentication, access control, intrusion detection and response, security protocols (IPsec, SSL, Kerberos), denial of service, viruses and worms, software vulnerabilities, web security, wireless security, and privacy.

Spring 2017: COMS W4180
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4180 001/73315 F 10:10am - 12:40pm
486 Computer Science Bldg
Debra Cook 3 40/40

COMS W4187 Security Architecture and Engineering. 3 points.

CC/GS: Partial Fulfillment of Science Requirement, BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA).

Prerequisites: COMS W4118; W4180 and/or W4119 recommended.

Secure programming. Cryptograhic engineering and key handling. Access controls. Tradeoffs in security design. Design for security.

Fall 2016: COMS W4187
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4187 001/68604 M W 2:40pm - 3:55pm
1127 Seeley W. Mudd Building
Steven Bellovin 3 62/80

COMS W4203 Graph Theory. 3 points.

CC/GS: Partial Fulfillment of Science Requirement, BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA).

Prerequisites: COMS W3203.

General introduction to graph theory. Isomorphism testing, algebraic specification, symmetries, spanning trees, traversability, planarity, drawings on higher-order surfaces, colorings, extremal graphs, random graphs, graphical measurement, directed graphs, Burnside-Polya counting, voltage graph theory.

COMS W4236 Introduction to Computational Complexity. 3 points.

CC/GS: Partial Fulfillment of Science Requirement, BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA).

Prerequisites: COMS W3261.

Develops a quantitative theory of the computational difficulty of problems in terms of the resources (eg. time, space) needed to solve them. Classification of problems into complexity classes, reductions, and completeness. Power and limitations of different modes of computation such as nondeterminism, randomization, interaction, and parallelism.

Fall 2016: COMS W4236
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4236 001/70363 T Th 7:10pm - 8:25pm
524 Seeley W. Mudd Building
Xi Chen 3 27/25

COMS W4241 Numerical Algorithms and Complexity. 3 points.

CC/GS: Partial Fulfillment of Science Requirement, BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA).

Prerequisites: knowledge of a programming language. Some knowledge of scientific computation is desirable.

Modern theory and practice of computation on digital computers. Introduction to concepts of computational complexity. Design and analysis of numerical algorithms. Applications to computational finance, computational science, and computational engineering.

COMS W4252 Introduction to Computational Learning Theory. 3 points.

CC/GS: Partial Fulfillment of Science Requirement, BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA).

Prerequisites: CSOR W4231 or COMS W4236 or COMS W3203 and the instructor's permission, or COMS W3261 and the instructor's permission.

Possibilities and limitations of performing learning by computational agents. Topics include computational models of learning, polynomial time learnability, learning from examples and learning from queries to oracles. Computational and statistical limitations of learning. Applications to Boolean functions, geometric functions, automata.

COMS W4261 Introduction to Cryptography. 3 points.

CC/GS: Partial Fulfillment of Science Requirement, BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA).

Prerequisites: comfort with basic discrete math and probability. Recommended: COMS W3261 or CSOR W4231.

An introduction to modern cryptography, focusing on the complexity-theoretic foundations of secure computation and communication in adversarial environments; a rigorous approach, based on precise definitions and provably secure protocols. Topics include private and public key encryption schemes, digital signatures, authentication, pseudorandom generators and functions, one-way functions, trapdoor functions, number theory and computational hardness, identification and zero knowledge protocols.

Fall 2016: COMS W4261
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4261 001/70760 T Th 10:10am - 11:25am
1024 Seeley W. Mudd Building
Tal Malkin 3 44/65

COMS W4281 Introduction to Quantum Computing. 3 points.

CC/GS: Partial Fulfillment of Science Requirement, BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA).

Prerequisites: knowledge of linear algebra. Prior knowledge of quantum mechanics is not required, although it is helpful.

Introduction to quantum computing. Shor's factoring algorithm, Grover's database search algorithm, the quantum summation algorithm. Relationship between classical and quantum computing. Potential power of quantum computers.

COMS W4444 Programming and Problem Solving. 3 points.

CC/GS: Partial Fulfillment of Science Requirement, BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA).

Prerequisites: COMS W3134, W3136, or W3137 and CSEE W3827.

Hands-on introduction to solving open-ended computational problems. Emphasis on creativity, cooperation, and collaboration. Projects spanning a variety of areas within computer science, typically requiring the development of computer programs. Generalization of solutions to broader problems, and specialization of complex problems to make them manageable. Team-oriented projects, student presentations, and in-class participation required.

Fall 2016: COMS W4444
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4444 001/17221 M W 1:10pm - 2:25pm
644 Seeley W. Mudd Building
Kenneth Ross 3 27/27

COMS W4460 Principles of Innovation and Entrepreneurship. 3 points.

CC/GS: Partial Fulfillment of Science Requirement

Prerequisites: COMS W3134, W3136, or W3137 (or equivalent), or the instructor's permission.

Team project centered course focused on principles of planning, creating, and growing a technology venture. Topics include: indentifying and analyzing opportunities created by technology paradigm shifts, designing innovative products, protecting intellectual property, engineering innovative business models.

Fall 2016: COMS W4460
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4460 001/28096 F 1:10pm - 3:55pm
337 Seeley W. Mudd Building
William Reinisch 3 31/32

COMS W4560 Introduction to Computer Applications in Health Care and Biomedicine. 3 points.

CC/GS: Partial Fulfillment of Science Requirement, BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA).

Prerequisites: experience with computers and a passing familiarity with medicine and biology. Undergraduates in their senior or junior years may take this course only if they have adequate background in mathematics and receive the instructor's permission.

An overview of the field of biomedical informatics, combining perspectives from medicine, computer science and social science. Use of computers and information in health care and the biomedical sciences, covering specific applications and general methods, current issues, capabilities and limitations of biomedical informatics. Biomedical Informatics studies the organization of medical information, the effective management of information using computer technology, and the impact of such technology on medical research, education, and patient care. The field explores techniques for assessing current information practices, determining the information needs of health care providers and patients, developing interventions using computer technology, and evaluating the impact of those interventions.

COMS W4701 Artificial Intelligence. 3 points.

CC/GS: Partial Fulfillment of Science Requirement, BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA).

Prerequisites: COMS W3134, W3136, or W3137.

Provides a broad understanding of the basic techniques for building intelligent computer systems. Topics include state-space problem representations, problem reduction and and-or graphs, game playing and heuristic search, predicate calculus, and resolution theorem proving, AI systems and languages for knowledge representation, machine learning and concept formation and other topics such as natural language processing may be included as time permits.

Spring 2017: COMS W4701
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4701 001/77544 M W 1:10pm - 2:25pm
Room TBA
Ansaf Salleb-Aouissi 3 85/100

COMS W4705 Natural Language Processing. 3 points.

CC/GS: Partial Fulfillment of Science Requirement, BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA).

Prerequisites: COMS W3134, W3136, or W3137; or the instructor's permission.

Computational approaches to natural language generation and understanding. Recommended preparation: some previous or concurrent exposure to AI or Machine Learning. Topics include information extraction, summarization, machine translation, dialogue systems, and emotional speech. Particular attention is given to robust techniques that can handle understanding and generation for the large amounts of text on the Web or in other large corpora. Programming exercises in several of these areas.

COMS W4706 Spoken Language Processing. 3 points.

CC/GS: Partial Fulfillment of Science Requirement, BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA).

Prerequisites: COMS W3134, W3136, or W3137; or the instructor's permission.

Computational approaches to speech generation and understanding. Topics include speech recognition and understanding, speech analysis for computational linguistics research, and speech synthesis. Speech applications including dialogue systems, data mining, summarization, and translation. Exercises involve data analysis and building a small text-to-speech system.

COMS W4731 Computer Vision. 3 points.

CC/GS: Partial Fulfillment of Science Requirement, BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA).

Prerequisites: the fundamentals of calculus, linear algebra, and C programming. Students without any of these prerequisites are advised to contact the instructor prior to taking the course.

Introductory course in computer vision. Topics include image formation and optics, image sensing, binary images, image processing and filtering, edge extraction and boundary detection, region growing and segmentation, pattern classification methods, brightness and reflectance, shape from shading and photometric stereo, texture, binocular stereo, optical flow and motion, 2-D and 3-D object representation, object recognition, vision systems and applications.

Fall 2016: COMS W4731
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4731 001/10153 T Th 10:10am - 11:25am
209 Havemeyer Hall
Shree Nayar 3 89/100

COMS W4733 Computational Aspects of Robotics. 3 points.

CC/GS: Partial Fulfillment of Science Requirement, BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA).

Prerequisites: COMS W3134, W3136, or W3137.

Introduction to robotics from a computer science perspective. Topics include coordinate frames and kinematics, computer architectures for robotics, integration and use of sensors, world modeling systems, design and use of robotic programming languages, and applications of artificial intelligence for planning, assembly, and manipulation.

Fall 2016: COMS W4733
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4733 001/10486 T Th 11:40am - 12:55pm
313 Fayerweather
Peter Allen 3 62/70

COMS W4735 Visual Interfaces to Computers. 3 points.

CC/GS: Partial Fulfillment of Science Requirement, BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA).

Prerequisites: COMS W3134, W3136, or W3137.

Visual input as data and for control of computer systems. Survey and analysis of architecture, algorithms, and underlying assumptions of commercial and research systems that recognize and interpret human gestures, analyze imagery such as fingerprint or iris patterns, generate natural language descriptions of medical or map imagery. Explores foundations in human psychophysics, cognitive science, and artificial intelligence.

COMS W4737 Biometrics. 3 points.

CC/GS: Partial Fulfillment of Science Requirement, BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA).

Prerequisites: a background at the sophomore level in computer science, engineering, or like discipline.

In this course. we will explore the latest advances in biometrics as well as the machine learning techniques behind them. Students will learn how these technologies work and how they are sometimes defeated. Grading will be based on homework assignments and a final project. There will be no midterm or final exam. This course shares lectures with COMS E6737. Students taking COMS E6737 are required to complete additional homework problems and undertake a more rigorous final project. Students will only be allowed to earn credit for COMS W4737 or COMS E6737 and not both.

COMS W4771 Machine Learning. 3 points.

CC/GS: Partial Fulfillment of Science Requirement, BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA).

Prerequisites: any introductory course in linear algebra and any introductory course in statistics are both required. Highly recommended: COMS W4701 or knowledge of Artificial Intelligence.

Topics from generative and discriminative machine learning including least squares methods, support vector machines, kernel methods, neural networks, Gaussian distributions, linear classification, linear regression, maximum likelihood, exponential family distributions, Bayesian networks, Bayesian inference, mixture models, the EM algorithm, graphical models and hidden Markov models. Algorithms implemented in Matlab.

Fall 2016: COMS W4771
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4771 001/72497 M W 1:10pm - 2:25pm
501 Northwest Corner
Daniel Hsu 3 129/150
COMS 4771 H01/21899  
Daniel Hsu 3 45/60
Spring 2017: COMS W4771
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4771 001/65943 M W 1:10pm - 2:25pm
Room TBA
Itshack Pe'er 3 98/90

COMS W4772 Advanced Machine Learning. 3 points.

CC/GS: Partial Fulfillment of Science Requirement, BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA).

Prerequisites: COMS W4771 or the instructor's permission; knowledge of linear algebra & introductory probability or statistics is required.

An exploration of advanced machine learning tools for perception and behavior learning. How can machines perceive, learn from, and classify human activity computationally? Topics include Appearance-Based Models, Principal and Independent Components Analysis, Dimensionality Reduction, Kernel Methods, Manifold Learning, Latent Models, Regression, Classification, Bayesian Methods, Maximum Entropy Methods, Real-Time Tracking, Extended Kalman Filters, Time Series Prediction, Hidden Markov Models, Factorial HMMS, Input-Output HMMs, Markov Random Fields, Variational Methods, Dynamic Bayesian Networks, and Gaussian/Dirichlet Processes. Links to cognitive science.

Fall 2016: COMS W4772
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4772 001/63531 W 4:10pm - 6:00pm
603 Hamilton Hall
Daniel Hsu 3 31/42

COMS W4776 Machine Learning for Data Science. 3 points.

Lect.: 3

Prerequisites: SIEO W3600 or W4150 or equivalent.

Introduction to machine learning, emphasis on data science. Topics include least square methods, Gaussian distributions, linear classification, linear regression, maximum likelihood, exponential family distributions, Bayesian networks, Bayesian inference, mixture models, the EM algorithm, graphical models, hidden Markov models, support vector machines kernel methods. Emphasizes methods and problems relevant to big data. Students may not receive credit for both COMS W4771 and W4776.

COMS W4901 Projects in Computer Science. 1-3 points.

BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA).

Prerequisites: approval by a faculty member who agrees to supervise the work.

A second-level independent project involving laboratory work, computer programming, analytical investigation, or engineering design. May be repeated for credit, but not for a total of more than 3 points of degree credit. Consult the department for section assignment.

Summer 2016: COMS W4901
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4901 007/60848  
Steven Feiner 1-3 1
Fall 2016: COMS W4901
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4901 001/62996  
1-3 0

COMS W4910 Curricular Practical Training. 1 point.

Prerequisites: obtained internship and approval from faculty advisor.

Only for M.S. students in the Computer Science department who need relevant work experience as part of their program of study. Final report required. This course may not be taken for pass/fail credit or audited.

COMS W4995 Special Topics in Computer Science, I. 3 points.

CC/GS: Partial Fulfillment of Science Requirement, BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA).

Prerequisites: the instructor's permission.

Special topics arranged as the need and availability arises. Topics are usually offered on a one-time basis. Since the content of this course changes each time it is offered, it may be repeated for credit. Consult the department for section assignment.

Fall 2016: COMS W4995
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4995 001/64282 F 4:10pm - 6:00pm
633 Seeley W. Mudd Building
Eren Kursun 3 82/65
COMS 4995 002/12896 T Th 5:40pm - 6:55pm
633 Seeley W. Mudd Building
Augustin Chaintreau 3 28/65
Spring 2017: COMS W4995
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4995 001/61231 T Th 2:40pm - 3:55pm
486 Computer Science Bldg
Eitan Grinspun 3 27/30
COMS 4995 002/70682 M W 2:40pm - 3:55pm
Room TBA
Suman Jana 3 41/40
COMS 4995 003/14850 M W 2:40pm - 3:55pm
486 Computer Science Bldg
Alexandr Andoni 3 64/60

CSEE E4868 System-on-Chip Platforms. 3 points.

Not offered during 2016-17 academic year.

Prerequisites: COMS W3157 and CSEE W3827

Design and programming of System-on-Chip (SoC) platforms. Topics include: overview of technology and economic trends, methodologies and supporting CAD tools for system-level design, models of computation, the SystemC language, transaction-level modeling, software simulation and virtual platforms, hardware-software partitioning, high-level synthesis, system programming and device drivers, on-chip communication, memory organization, power management and optimization, integration of programmable processor cores and specialized accelerators. Case studies of modern SoC platforms for various classes of applications.

Fall 2016: CSEE E4868
Course Number Section/Call Number Times/Location Instructor Points Enrollment
CSEE 4868 001/22796 T Th 11:40am - 12:55pm
327 Seeley W. Mudd Building
Luca Carloni 3 28/50

CSEE E6180 Modeling and Performance. 3 points.

Lect: 2.

Prerequisites: COMS W4118 and SIEO W4150.

Introduction to queuing analysis and simulation techniques. Evaluation of time-sharing and multiprocessor systems. Topics include priority queuing, buffer storage, and disk access, interference and bus contention problems, and modeling of program behaviors.

CSEE E6824 Parallel Computer Architecture. 3 points.

Lect: 2.

Prerequisites: CSEE W4824.

Parallel computer principles, machine organization and design of parallel systems including parallelism detection methods, synchronization, data coherence and interconnection networks. Performance analysis and special purpose parallel machines.

CSEE E6831 Sequential Logic Circuits. 3 points.

Lect: 3.Not offered during 2016-17 academic year.

Prerequisites: CSEE W3827 or any introduction to logic circuits

Generation and manipulation of flow table descriptions to asynchronous sequential functions. Coding of flow tables to satisfy various design criteria. Delays, races, hazards, metastability. Analysis of latches to determine key parameters. Bounds of input rates. Clocking schemes for synchronous systems. Synthesis of self-timed systems using 4-phase or 2-phase handshakes.

CSEE E6832 Topics in Logic Design Theory. 3 points.

Lect: 3.

Prerequisites: CSEE W3827 or any introduction to logic circuits.

A list of topics for each offering of the course is available in the department office one month before registration. May be taken more than once if topics are different Iterative logic circuits applied to pattern recognition. Finite state machines; alternative representations, information loss, linear circuits, structure theory. Reliability and testability of digital systems.

CSEE E6847 Distributed Embedded Systems. 3 points.

Lect: 2.Not offered during 2016-17 academic year.

Prerequisites: Any COMS W411X, CSEE W48XX or ELEN E43XX course, or the instructor's permission.

An inter-disciplinary graduate-level seminar on the design of distributed embedded systems. System robustness in the presence of highly variable communication delays and heterogeneous component behaviors. The study of the enabling technologies (VLSI circuits, communication protocols, embedded processors, RTOSs), models of computation, and design methods. The analysis of modern domain-specific applications including on-chip micro-networks, multiprocessor systems, fault-tolerant  architectures, and robust deployment of embedded software. Research challenges such as design complexity, reliability, scalability, safety, and security. The course requires substantial reading, class participation and a research project.

CSEE E6861 Computer-Aided Design of Digital Systems. 3 points.

BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA).
Lect: 2.

Prerequisites: (i) one semester of advanced digital logic (CSEE 4823 or equivalent, or the instructor's permission); and (ii) a basic course in data structures and algorithms (COMS W3134, W3136, W3137, W3157, or equivalent, and familiarity with programming.

Introduction to modern digital CAD synthesis and optimization techniques. Topics include: modern digital system design (high-level synthesis, register-transfer level modeling, algorithmic state machines, optimal scheduling algorithms, resource allocation and binding, retiming), controller synthesis and optimization, exact and heuristic two-level logic minimization, advanced multi-level logic optimization, optimal technology mapping to library cells (for delay, power and area minimization), advanced data structures (binary decision diagrams), SAT solvers and their applications, static timing analysis, and introduction to testability. Includes hands-on small design projects using and creating CAD tools.

CSEE W3827 Fundamentals of Computer Systems. 3 points.

BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA).
Lect: 3.

Prerequisites: an introductory programming course.

Fundamentals of computer organization and digital logic. Boolean algebra, Karnaugh maps, basic gates and components, flipflops and latches, counters and state machines, basics of combinational and sequential digital design. Assembly language, instruction sets, ALU’s, single-cycle and multi-cycle processor design, introduction to pipelined processors, caches, and virtual memory.

Fall 2016: CSEE W3827
Course Number Section/Call Number Times/Location Instructor Points Enrollment
CSEE 3827 001/21533 T Th 10:10am - 11:25am
501 Schermerhorn Hall
Martha Kim 3 182/189
Spring 2017: CSEE W3827
Course Number Section/Call Number Times/Location Instructor Points Enrollment
CSEE 3827 001/24427 T Th 10:10am - 11:25am
Room TBA
Daniel Rubenstein 3 133/150

CSEE W4119 Computer Networks. 3 points.

Lect: 3.

Corequisites: SIEO W3600 or IEOR E3658, or equivalent.

Introduction to computer networks and the technical foundations of the Internet, including applications, protocols, local area networks, algorithms for routing and congestion control, security, elementary performance evaluation. Several written and programming assignments required.

Fall 2016: CSEE W4119
Course Number Section/Call Number Times/Location Instructor Points Enrollment
CSEE 4119 001/15529 T Th 1:10pm - 2:25pm
614 Schermerhorn Hall
Daniel Rubenstein 3 125/147
Spring 2017: CSEE W4119
Course Number Section/Call Number Times/Location Instructor Points Enrollment
CSEE 4119 001/68757 F 10:10am - 12:40pm
Room TBA
Gil Zussman 3 147/150

CSEE W4140 Networking Laboratory. 3 points.

Lect: 3.

Prerequisites: CSEE 4119 or equivalent

In this course, students will learn how to put "principles into practice," in a hands-on-networking lab course. The course will cover the technologies and proctocols of the internet using equipment currently available to large internet service providers such as CISCO routers and end-systems. A set of laboratory experiments will provide hands-on experience with engineering wide-area networks and will familiarize students with the Internet Protocol (IP), Address Resolution Protocal (ARP), Internet Control Message Protocol (ICMP), User Datagram Protocol (UDP) and Transmission Control Protocol (TCP), the Domain Name System (DNS), routing protocols (RIP, OSPF, BGP), network management protocols (SNMP, and application-level protocols (FTP, TELNET, SMTP).

Fall 2016: CSEE W4140
Course Number Section/Call Number Times/Location Instructor Points Enrollment
CSEE 4140 001/26450 W 10:10am - 11:25am
337 Seeley W. Mudd Building
Gil Zussman 3 24/32
Spring 2017: CSEE W4140
Course Number Section/Call Number Times/Location Instructor Points Enrollment
CSEE 4140 001/69879 T Th 11:40am - 12:55pm
Room TBA
3 33/42

CSEE W4823 Advanced Logic Design. 3 points.

BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA).
Lect: 3.

Prerequisites: CSEE W3827, or a half semester introduction to digital logic, or the equivalent.

An introduction to modern digital system design. Advanced topics in digital logic: controller synthesis (Mealy and Moore machines); adders and multipliers; structured logic blocks (PLDs, PALs, ROMs); iterative circuits. Modern design methodology: register transfer level modelling (RTL); algorithmic state machines (ASMs); introduction to hardware description languages (VHDL or Verilog); system-level modelling and simulation; design examples.

Fall 2016: CSEE W4823
Course Number Section/Call Number Times/Location Instructor Points Enrollment
CSEE 4823 001/26323 T Th 2:40pm - 3:55pm
614 Schermerhorn Hall
Steven Nowick 3 57/80

CSEE W4824 Computer Architecture. 3 points.

BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA).
Lect: 3.

Prerequisites: CSEE W3827 or the equivalent.

Focuses on advanced topics in computer architecture, illustrated by case studies from classic and modern processors. Fundamentals of quantitative analysis. Pipelining. Memory hierarchy design. Instruction-level and thread-level parallelism. Data-level parallelism and graphics processing units. Multiprocessors. Cache coherence. Interconnection networks. Multi-core processors and systems-on-chip. Platform architectures for embedded, mobile, and cloud computing.

Spring 2017: CSEE W4824
Course Number Section/Call Number Times/Location Instructor Points Enrollment
CSEE 4824 001/73309 T Th 1:10pm - 2:25pm
Room TBA
Martha Kim 3 60/60

CSEE W4840 Embedded Systems. 3 points.

BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA)., Lab Required
Lect: 3.

Prerequisites: CSEE W4823.

Embedded system design and implementation combining hardware and software. I/O, interfacing, and peripherals. Weekly laboratory sessions and term project on design of a microprocessor-based embedded system including at least one custom peripheral. Knowledge of C programming and digital logic required.

CSOR W4231 Analysis of Algorithms I. 3 points.

BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA).

Prerequisites: COMS W3134, W3136, or W3137, and W3203.

Introduction to the design and analysis of efficient algorithms. Topics include models of computation, efficient sorting and searching, algorithms for algebraic problems, graph algorithms, dynamic programming, probabilistic methods, approximation algorithms, and NP-completeness.

Fall 2016: CSOR W4231
Course Number Section/Call Number Times/Location Instructor Points Enrollment
CSOR 4231 001/69378 T Th 11:40am - 12:55pm
428 Pupin Laboratories
Mihalis Yannakakis 3 92/110
CSOR 4231 002/60133 T Th 5:40pm - 6:55pm
207 Mathematics Building
Alexandr Andoni 3 104/110
CSOR 4231 H01/19268  
Mihalis Yannakakis 3 51/50
Spring 2017: CSOR W4231
Course Number Section/Call Number Times/Location Instructor Points Enrollment
CSOR 4231 001/29003 M W 7:10pm - 8:25pm
Room TBA
Xi Chen 3 53/110
CSOR 4231 002/68170 T Th 4:10pm - 5:25pm
Room TBA
Eleni Drinea 3 100/100

CSOR W4246 Algorithms for Data Science. 3 points.

Prerequisites: basic knowledge in programming (e.g., at the level of COMS W1007), a basic grounding in calculus and linear algebra.

Methods for organizing data, e.g. hashing, trees, queues, lists,priority queues. Streaming algorithms for computing statistics on the data. Sorting and searching. Basic graph models and algorithms for searching, shortest paths, and matching. Dynamic programming. Linear and convex programming. Floating point arithmetic, stability of numerical algorithms, Eigenvalues, singular values, PCA, gradient descent, stochastic gradient descent, and block coordinate descent. Conjugate gradient, Newton and quasi-Newton methods. Large scale applications from signal processing, collaborative filtering, recommendations systems, etc.

Fall 2016: CSOR W4246
Course Number Section/Call Number Times/Location Instructor Points Enrollment
CSOR 4246 001/23325 T Th 6:10pm - 7:25pm
329 Pupin Laboratories
Eleni Drinea 3 98/100
CSOR 4246 002/20955 T Th 7:40pm - 8:55pm
329 Pupin Laboratories
Eleni Drinea 3 76/100

ECBM E4060 Introduction to Genomic Information. 3 points.

Lect: 3.

Introduction to the information system paradigm of molecular biology. Representation, organization, structure, function, and manipulation of the biomolecular sequences of nucleic acids and proteins. The role of enzymes and gene regulatory elements in natural biological functions as well as in biotechnology and genetic engineering. Recombination and other macromolecular processes viewed as mathematical operations with simulation and visualization using simple computer programming. This course shares lectures with ECBM E3060, but the work requirements differ somewhat.

Fall 2016: ECBM E4060
Course Number Section/Call Number Times/Location Instructor Points Enrollment
ECBM 4060 001/63844 M 7:00pm - 9:30pm
833 Seeley W. Mudd Building
Dimitris Anastassiou 3 35/80

EECS E4340 Computer Hardware Design. 3 points.

BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA).
Lect: 2.

Prerequisites: ELEN E3331, plus ELEN E3910 or CSEE W3827.

Practical aspects of computer hardware design through the implementation, simulation, and prototyping of a PDP-8 processor. High-level and assembly languages, I/O, interrupts, datapath and control design, piplelining, busses, memory architecture. Programmable logic and hardware prototyping with FPGAs. Fundamentals of VHDL for register-transfer level design. Testing and validation of hardware. Hands-on use of industry CAD tools for simulation and synthesis. Lab required.

ENGI E1006 Introduction to Computing for Engineers and Applied Scientists. 3 points.

An interdisciplinary course in computing intended for first year SEAS students. Introduces computational thinking, algorithmic problem solving and Python programming with applications in science and engineering. Assumes no prior programming background.

Fall 2016: ENGI E1006
Course Number Section/Call Number Times/Location Instructor Points Enrollment
ENGI 1006 001/73245 M W 2:40pm - 3:55pm
301 Pupin Laboratories
Ansaf Salleb-Aouissi 3 173/272
Spring 2017: ENGI E1006
Course Number Section/Call Number Times/Location Instructor Points Enrollment
ENGI 1006 001/74895 M W 10:10am - 11:25am
Room TBA
Daniel Bauer 3 190/190