The Master in Computer Science curriculum includes a variety of rigorous courses that will give you the the skills you need to develop digitally enabled solutions to emerging business challenges and human needs.

In an educational innovation unique to Cornell Tech, you'll also participate in an immersive Studio experience, in which you'll hone your team-building and leadership skills while developing a new product idea in response to the strategic needs of a real organization and create your own startup.

Technical Courses

Applied Machine Learning

CS 5785 3.00

This course will help students learn and apply key concepts of modeling, analysis and validation from Machine Learning, Data Mining and Signal Processing to analyze and extract meaning from data. Students will implement algorithms and perform experiments on images, text, audio and mobile sensor measurements. They will also gain a working knowledge of supervised and unsupervised techniques including classification, regression, clustering, feature selection, association rule mining and dimensionality reduction.

Computer Networking

CS 5450 3.00

This course focuses on architectural principles of Internet architecture; network protocol mechanisms (MAC, Transport, Routing, SDN); design principles (modularity, scalability, performance, end-to-end); how the Internet works and is used today; mobile technologies (communication, sensing, location, cloud interaction, wearables); and elements of mobile systems design and implementation. It is appropriate for graduate students who have no or limited networking knowledge. Note that there is project work involving both software development and some data analysis.

Computer Vision

CS 5760 3.00

The goal of computer vision is to compute properties of the three-dimensional world from digital images. Problems in this field include reconstructing the three-dimensional shape of an environment, determining how things are moving, and recognizing people and objects and their activities, all through analysis of images and videos. This course will provide an introduction to computer vision, with topics including image formation, feature detection, motion estimation, image mosaics, 3D shape reconstruction, and object and face detection and recognition. Applications of these techniques include building 3D maps, creating virtual characters, organizing photo and video databases, human computer interaction, video surveillance, automatic vehicle navigation and mobile computer vision. This is a project-based course, in which students will implement several computer vision algorithms throughout the semester.


CS 5830 3.00

In this course, students will learn how modern cryptographic services are built, understand how to avoid common pitfalls that lead to attacks, and gain experience implementing cryptographic libraries.

Data Science in the Wild

CS 5304 3.00

Companies and organizations collect massive amounts of data, and the task of a data scientist is to extract actionable knowledge from the data – for scientific needs, to improve public health, to promote businesses, for social studies and for various other purposes. This course will focus on the practical aspects of the field and will attempt to provide a comprehensive set of tools for extracting knowledge from data.

HCI & Design

CS 5682 / INFO 6410 3.00

This course teaches Human-Computer Interaction (HCI) and design theory and techniques. Methods for designing, prototyping, deploying and evaluating user interfaces to computing applications will be imparted, along with the basics of visual design, graphic design and interaction design. The class will also cover understanding human capabilities, interface technology, interface design methods, prototyping tools and interface evaluation tools and techniques.

Natural Language Processing

CS 5740 3.00

This course constitutes an introduction to natural language processing (NLP), the goal of which is to enable computers to use human languages as input, output, or both. NLP is at the heart of many of today’s most exciting technological achievements, including machine translation, automatic conversational assistants and Internet search. Possible topics include summarization, machine translation, sentiment analysis and information extraction as well as methods for handling the underlying phenomena (e.g., syntactic analysis, word sense disambiguation, and discourse analysis).

Parallel and Distributed Computing

CS 5460 3.00

This course is an introduction to parallel and distributed computing systems. Topics include models, organization, algorithms and libraries for parallel and distributed computing systems.

Physical Computing

CS 5422 3.00

This course provides a hands-on introduction to the resources for designing and fabricating smart systems using hardware components including sensors and sensor networks, analog instrumentation, embedded digital processing (microcontroller programming such as the Arduino system), graphics and I/O chips, flash memory, wired and wireless communications, PCB layout and fabrication, 3-D printing, and laser cutting. The key characteristics of the components and their interfaces will be presented. Using these tools, small multidisciplinary groups will conduct a hardware project of their choice.

Privacy in the Digital Age

CS 5436 3.00

This course introduces students to privacy technologies and surveys the current state of digital privacy from multiple perspectives, including technology, law, policy, ethics, economics and surveillance.

Security & Privacy Concepts in the Wild

CS 5435 3.00

This course will give students a technical and social understanding of how and why security and privacy matter, help them think adversarially and impart how (and how not) to design systems and products. Less attention will be paid to specific skills such as hacking, writing secure code and security administration. Topics will include user authentication, cryptography, malware, behavioral economics in security, human factors in security, privacy and anonymity, side channels, decoys and deception and adversarial modeling. We will explore these concepts by studying real-world systems and attacks, including Bitcoin, Stuxnet, retailer breaches, implantable medical devices, and health apps — and we will consider future issues that may arise in personal genomics, virtual worlds, and autonomous vehicles.

Signal and Data Processing


This core ECE course covers the basics of signal processing and data analysis. The first half of the course covers the fundamentals of signals and systems, including the discrete Fourier transform, transfer functions, adaptive filtering and applications in noise cancellation and communication systems. The second half covers the basics of probabilistic models, stochastic simulation Markov processes and Bayesian inference. Finally, topics in high dimensional signal processing including model selection, sparse signal processing and principal component analysis are covered. Throughout the course, applications in communication systems, sensing systems and machine learning will be emphasized.

Startup Systems Design and Engineering

CS 5356 3.00

This course aims to bridge the gap between academic studies of computer science and practical software engineering. The course provides a fast-paced introduction to key tools, techniques and best practices to facilitate the building of prototypes and the deployment of user-facing working systems. It introduces technologies for building Web and mobile applications; systems for effective storage and processing of data; and tools to write, test, build, deploy and monitor code. The course will also emphasize challenges and trade-offs related to security and performance. The class will have “labs” and homeworks where students will implement and deploy working systems.

Studio & Interdisciplinary Courses

Business for Tech

NBAY 5500 1.00

Business for Technologists (BT) is a comprehensive introduction to the key aspects of new product development and product management that will provide helpful perspective for technologists working in cross functional teams with business leaders in the marketing, product, finance, legal and business development disciplines. BT focuses both on concepts and frameworks utilizing “solutions architecture” while working on cross functional teams in both agile and waterfall development environments. Students will utilize their team projects as the basis to complete customer development, market segmentation, product placement, construct business models and define “proof points” and milestones that lead to successful outcomes for teams comprised of both technologists and subject matter experts from a broad array of business disciplines. The course will also discuss the development of an “intellectual property suite” and its importance in the new product development process and relevance to the competitive landscape. While the course focuses on scalable businesses, the principles apply to businesses of all sizes. Topics covered will include definition of the market, sales and distribution, competition, business development, project management and milestone based performance tracking. The course culminates in a capstone project of writing a launch plan for a new technology product’s market test.

Conversations in the Studio

CS 5091 1.00

This course features a weekly guest practitioner for a provocative, closed-door discussion with students. The guest practitioners are active entrepreneurs, intrapreneurs, social entrepreneurs, engineers, designers, artists, VCs, lawyers, writers, ethicists, and other diverse leaders who are affecting society through their entrepreneurial efforts. Conversations take place in the Cornell Tech Studio and are moderated each week by a randomly assigned group of students who come prepared with questions and discussion topics. This is not a lecture: it’s a weekly wake-up call.

Disruptive Technologies

NBAY 6120 1.00

Begins by presenting historical technological advances that created major paradigm shifts for communications. Presents advances in computer technology emphasizing the fundamentals behind the increases in processing power, video and computer graphics capabilities, and network transmission. The second half of the course covers the effect of these scientific advances on many discipline-specific areas including photography, the film industry, the entertainment and animation industry, television broadcasting, publishing, and the computer industry itself. Sessions are devoted to the social and legal issues arising from the rapid advances in electronic communication. In attempting to predict the disruptive changes of the future, it is best to understand the technologies themselves. The course is especially tailored to a business school and industrial concerns and has interactive live demonstrations at the state-of-the-art laboratory of the Program of Computer Graphics. No prior knowledge of computer science is required.

Law for Non-Lawyers (for non-LLM students)

LAW 6673 1.00

This class introduces the principal legal issues involved in starting, managing and operating a technology-oriented business by entrepreneurs. It is intended to provide non-law students with an understanding of many of the laws and regulations to which developing businesses in the United States tech sector are typically subject—from the time an entrepreneur conceives and begins to build a business, implements a business plan, and obtains financing, to when she begins operations in anticipation of managing a mature company and considering possible exit strategies. The instructor, a former corporate partner in a large New York City law firm, will adopt the role of a general counsel to a start-up company advising his client/students about how laws and regulations affect their businesses at various stages of development, as well as about typical key contractual terms and negotiating strategies. Practicing lawyers will serve as guest lecturers. The course is designed to impart an understanding not only about substantive areas of the law that intersect with tech businesses but also about the role that lawyers should—and should not—play in burgeoning business enterprises. Students will gain insights into how lawyers approach business problems and the benefits and limitations of such a perspective.

Leadership for Studio

NBAY 6800 1.00

This course deals broadly with leadership – of teams, projects, products, businesses, and communities. The course will pay special attention to leadership in the context of digital transformation and its social and economic impacts. Students will learn effective team-building and teamwork strategies, communication and presentation skills, and best practices for building a collaborative, creative and open culture in the workplace. As part of a personal development process, toolkits and exercises will be provided to promote critical thinking and moral reasoning skills. Sessions on social and multicultural awareness and sensitivity will equip students to be global leaders in a digitally-transformed world. In short, this course will cover all aspects of how students can become leaders in a digital economy.

Product Management

CS 5093 1.00

This studio-based course helps students learn about and develop product management (PM) skills by putting those abilities immediately to use on their Startup Studio projects. In each session, students learn about a different aspect of product management, product design, or technology development, then practice applying it to their Startup Studio projects, working in the Studio with their project teams and with the help and critique of the practitioner instructors and sometimes visiting practitioners. By the end of the semester, students will have developed and practiced many of the fundamental product management skills required to develop new technology products, and their Startup Studio projects will have greatly benefited from the practice.

Product Studio (required)

CS 5999 3.00

In Product Studio you and a team of your classmates will respond to a “Company Challenge” by developing, testing, and presenting a new product or business idea. Previous challenges have been posed by organizations as diverse as the Robin Hood Foundation, Uber, Weight Watchers and Bloomberg.

Startup Ideas

CS 5092 1.00

This studio-based course helps students develop their ability to imagine, recognize, develop and improve startup ideas. In each class, students learn a different approach to product ideation or product critique, then practice that approach, working in many different teams — often with the advice of visiting entrepreneurs, VCs, domain experts, and other practitioners. Students invent and explore hundreds of startup ideas, and help each other evaluate and improve those ideas. By the end of the course, students self-organize into co-founding teams around specific startup ideas that they will pursue in Startup Studio the following semester.

Startup Studio (required)

CS 5999 3.00

In Startup Studio you and a team of your classmates will develop your own new product or startup idea. You’ll experience the entire process, from developing your idea, to prototyping and testing, to pitching to investors. You can even apply for a Startup Award that will provide funding and other support to help you turn your Startup Studio project to a real business.