What Your Schedule Might Look Like
- Fall Semester
- Spring Semester
- Technical Credits 12
- Project & Interdisciplinary Credits 3–4
- Semester total 15–16
- Technical Credits 12
- Project & Interdisciplinary Credits 3–4
- Semester total 15–16
- Technical Credits
- Project & Interdisciplinary Credits
- Semester total 0
This course provides a hands-on experience in digital very-large scale integration (VLSI) design using state-of-the-art computer aided design (CAD) tools. The students will learn how to implement an algorithm of their choice (written in Python or MATLAB) as an application specific integrated circuit (ASIC) using hardware description language on register transfer level. The course does not require any prerequisites as the students will be guided through the entire design flow and learn the necessary skills while working on their ASIC designs. At the end of the semester, the students will send their ASIC designs in a 180nm CMOS process to fabrication through the MOSIS Educational Program. In a follow-up lab course (1 credit), the fabricated ASIC will be tested and integrated into a larger system.
Digital signal processing and communication are ubiquitous in our daily lives. Signal processing is widely used to analyze and process information acquired from sensors, such as microphones, image or video sensors, accelerometers, etc., and in digital communication systems to ensure error-free data transmission. This course does not require any prerequisites and will provide a hands-on experience in digital signal processing and communication system design. Concretely, the course will introduce the concepts of time-frequency analysis, filter design, sampling, analog-to-digital and digital-to-analog conversion, modulation, estimation, detection, and coding. Laboratory experiments will be used to apply each of these concepts in real-world applications.
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. Implement algorithms and perform experiments on images, text, audio and mobile sensor measurements. Gain working knowledge of supervised and unsupervised techniques including classification, regression, clustering, feature selection, association rule mining, and dimensionality reduction.
Students will learn deep neural network fundamentals, including, but not limited to, feed-forward neural networks, convolutional neural networks, network architecture, optimization methods, practical issues, hardware concerns, recurrent neural networks, dataset acquisition, dataset bias, adversarial examples, current limitations of deep learning, and visualization techniques. We still study applications to problems in computer vision and to a lesser extent natural language processing and reinforcement learning. There will also be a session on understanding publications in deep learning, which is a critical skill in this fast moving area.
This class provides a hands-on introduction to the design of Internet-of-Things (IoT) devices using microprocessor-based embedded controllers. Students work in pairs to design, debug and construct real-time IoT digital systems that illustrate and employ the techniques of digital system design. Special emphasis will be placed on communications hardware, network connectivity and network security.
How can intelligent machines perceive, make decisions, and execute their plans in an uncertain, dynamic world? This course will cover algorithms for robotic perception, planning, and control with a focus on real-time adaptation and learning. Students should have prior experience with methods in signal processing and machine learning. Topics covered include probabilistic methods for scene segmentation, multimodal sensory integration, latent variable models for dynamical systems, path planning, and reinforcement learning for motor control.
An in-depth introduction to computer vision. The goal of computer vision is to compute properties of our world-the 3D shape of an environment, the motion of objects, the names of people or things-through analysis of digital images or videos. The course covers a range of topics, including 3D reconstruction, image segmentation, object recognition, and vision algorithms fro the Internet, as well as key algorithmic, optimization, and machine learning techniques, such as graph cuts, non-linear least squares, and deep learning. This course emphasizes hands-on experience with computer vision, and several large programming projects.
Machine learning with deep neural networks (DNNs) has become widely applied in domains including computer vision, natural language processing, financial derivatives pricing, and game AI. The growing size of DNN models, the proliferation of edge devices, and the slowdown of Dennard scaling together challenge computer architects to deliver improvements in DNN performance and energy efficiency. Consequently, neural network processing has shifted from general-purpose to dedicated hardware architectures in both academic and commercial settings.
This course will cover algorithms, hardware accelerators, and compiler optimization that must be jointly considered to enable highly efficient machine learning capabilities. In addition to regular lectures, it will also include a number of student-led presentations to discuss the current practices, design needs, as well as future research opportunities in the aforementioned topics.
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).
Appropriate for advanced students who have no or limited networking knowledge. Note that there is project work in C or C++, so students should either know it or be prepared to learn it. Focuses on architectural principles of computer networking, network design principles (simplicity, scalability, performance, end-to-end), and how the Internet works today.
This course covers algorithmic and computational tools for solving optimization problems with the goal of providing decision-support for business intelligence. We will cover the fundamentals of linear, integer and nonlinear optimization. We will emphasize optimization as a large-scale computational tool, and show how to link programming languages, such as Python, Java and C++, with optimization software, such as Gurobi and CPLEX, to develop industrial-strength decision-support systems. We will demonstrate how to incorporate uncertainty into optimization problems. Throughout the course, we will cover a variety of modern applications and show how to deploy large-scale optimization models.
This course will impart a technical and social understanding of how and why security and privacy matter, how to think adversarially, 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 considering issues to come in personal genomics, virtual worlds, and autonomous vehicles.
Augmented and virtual reality technologies and applications are becoming increasingly popular. This course presents an introduction to this exciting area, with an emphasis on designing and developing virtual and augmented reality applications. The course will cover the history of the area, hardware technologies involved, interaction techniques, design guidelines, evaluation methods, and specific application areas. Students will be tasked with designing, developing, and evaluating their own augmented or virtual reality application as a course project.
Project & Interdisciplinary Courses
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 is the foundational studio course for product development at Cornell Tech. Students form semester-long teams and select a “How Might We” question posed by a company. During the semester students learn the basics of product development so they can apply the knowledge and skills from their degree program: identifying impactful problems to solve, product ideation and design, development process, and constructing a meaningful product narrative and complete product loop. Students present their working product, narrative, and thought process four times during the semester, after completing each of three 24-hour “studio sprints” where they will focus on developing their product and a final product presentation at the end of the semester.
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.