Credits: 2
Duration: 6 Weeks
Dates: Fri
Time to get your hands dirty. Prototypes need to be created, motors have to be mounted, enclosures must be built. Understanding how things are fabricated makes you a better maker. But hardware is hard. You can’t simply copy and paste an object or working device (not yet anyway), fabrication skills and techniques need to be developed and practiced in order to create quality work. You learn to make by doing. In this class, you will become familiar and comfortable with all the ITP shop has to offer. We will cover everything from basic hand tools to the beginnings of digital fabrication. You will learn to use the right tool for the job. There will be weekly assignments created to develop your fabrication techniques. There will be in class lectures, demos, and building assignments. Emphasis will be put on good design practices, material choice, and craftsmanship.
Interactive Telecommunications (Graduate)
2 credits – 6 Weeks
Credits: 1-4
Duration: 15 Weeks
Dates:
Credits: 1-4
Duration: 15 Weeks
Dates:
The internship program promotes the integration of academic theory with practical experience. Internships expand student understanding of the dynamics of the ever-changing field of communication.
Media, Culture & Communication (Undergraduate)
1-4 credits – 15 Weeks
Credits: 3
Duration: 15 Weeks
Dates: Wed
Credits: 3
Duration: 15 Weeks
Dates: Wed
Credits: 3
Duration: 15 Weeks
Dates: Wed,Tue
Credits: 3
Duration: 15 Weeks
Dates: Wed,Tue
This course examines Modern Cryptography from a both theoretical and applied perspective, with emphasis on “provable security” and “application case studies”. The course looks particularly at cryptographic primitives that are building blocks of various cryptographic applications. The course studies notions of security for a given cryptographic primitive, its various constructions and respective security analysis based on the security notion. The cryptographic primitives covered include pseudorandom functions, symmetric encryption (block ciphers), hash functions and random oracles, message authentication codes, asymmetric encryption, digital signatures and authenticated key exchange. The course covers how to build provably secure cryptographic protocols (e.g., secure message transmission, identification schemes, secure function evaluation, etc.), and various number-theoretic assumptions upon which cryptography is based. Also covered: implementation issues (e.g., key lengths, key management, standards, etc.) and, as application case studies, a number of real-life scenarios currently using solutions from modern cryptography. | Prerequisite: Graduate standing.
Computer Science (Graduate)
3 credits – 15 Weeks
Credits: 3
Duration: 15 Weeks
Dates: Tue,Thu
Credits: 3
Duration: 15 Weeks
Dates: Tue,Thu
Credits: 3
Duration: 15 Weeks
Dates: Tue,Thu,Tue
This course addresses the design and implementation of secure applications. Concentration is on writing software programs that make it difficult for intruders to exploit security holes. The course emphasizes writing secure distributed programs in Java. The security ramifications of class, field and method visibility are emphasized. | Knowledge of Information, Security and Privacy equivalent to CS-GY 6813. Prerequisite: Graduate standing
Computer Science (Graduate)
3 credits – 15 Weeks
Credits: 3
Duration: 15 Weeks
Dates: Wed
This course is about experimental game design. Design in this context pertains to every aspect of the game, and these can be broadly characterized as the game system, control, visuals, audio, and resulting theme. We will explore these aspects through the creation of a few very focused game prototypes using a variety of contemporary game engines and frameworks, high-level programming languages, and physical materials. This will allow us to obtain a better understanding of what makes games appealing, and how game mechanics, systems, and a variety of player experiences can be designed and iteratively improved by means of rapid prototyping and play-testing. The course combines the technology, design, and philosophy in support of game creation, as well as the real-world implementation and design challenges faced by practicing game designers. Students will learn design guidelines and principles by which games can be conceived, prototyped, and fully developed within a one-semester course, and will create a game from start to finish. The course is a lot of (team)work, but it’s also a lot of fun. Programming skills are helpful, but not a hard requirement. Artistic skills, or a willingness to learn them are a plus. | Prerequisite: (Graduate Standing AND CS-GY 6533) for SoE students OR (OART-UT 1600 and OART-UT 1605) for Game Center MFA students OR instructor permission.
Computer Science (Graduate)
3 credits – 15 Weeks
Credits: 3
Duration: 15 Weeks
Dates: Wed
Credits: 3
Duration: 15 Weeks
Dates: Wed
Credits: 3
Duration: 15 Weeks
Dates: Wed
Big Data requires the storage, organization, and processing of data at a scale and efficiency that go well beyond the capabilities of conventional information technologies. In this course, we will study the state of art in big data management: we will learn about algorithms, techniques and tools needed to support big data processing. In addition, we will examine real applications that require massive data analysis and how they can be implemented on Big Data platforms. The course will consist of lectures based both on textbook material and scientific papers. It will include programming assignments that will provide students with hands-on experience on building data-intensive applications using existing Big Data platforms, including Amazon AWS. Besides lectures given by the instructor, we will also have guest lectures by experts in some of the topics we will cover. Students should have experience in programming: Java, C, C , Python, or similar languages, equivalent to two introductory courses in programming, such as “Introduction to Programming” and “Data Structures and Algorithms. | Knowledge of Python. Prerequisite: Graduate Standing.
Computer Science (Graduate)
3 credits – 15 Weeks
Credits: 3
Duration: 15 Weeks
Dates: Wed
Credits: 3
Duration: 15 Weeks
Dates: Wed
Credits: 3
Duration: 15 Weeks
Dates: Wed
This course is an introduction to the field of machine learning, covering fundamental techniques for classification, regression, dimensionality reduction, clustering, and model selection. A broad range of algorithms will be covered, such as linear and logistic regression, neural networks, deep learning, support vector machines, tree-based methods, expectation maximization, and principal components analysis. The course will include hands-on exercises with real data from different application areas (e.g. text, audio, images). Students will learn to train and validate machine learning models and analyze their performance. | Knowledge of undergraduate level probability and statistics, linear algebra, and multi-variable calculus. Prerequisite: Graduate standing.
Computer Science (Graduate)
3 credits – 15 Weeks
Credits: 3
Duration: 15 Weeks
Dates: Mon
Credits: 3
Duration: 15 Weeks
Dates: Mon,Sat
Credits: 3
Duration: 15 Weeks
Dates: Mon,Sat
Credits: 3
Duration: 15 Weeks
Dates: Mon,Sat,Wed
This course takes a top-down approach to computer networking. After an overview of computer networks and the Internet, the course covers the application layer, transport layer, network layer and link layers. Topics at the application layer include client-server architectures, P2P architectures, DNS and HTTP and Web applications. Topics at the transport layer include multiplexing, connectionless transport and UDP, principles or reliable data transfer, connection-oriented transport and TCP and TCP congestion control. Topics at the network layer include forwarding, router architecture, the IP protocol and routing protocols including OSPF and BGP. Topics at the link layer include multiple-access protocols, ALOHA, CSMA/CD, Ethernet, CSMA/CA, wireless 802.11 networks and linklayer switches. The course includes simple quantitative delay and throughput modeling, socket programming and network application development and Ethereal labs. | Knowledge of Python and/or C. Prerequisite: Graduate standing.
Computer Science (Graduate)
3 credits – 15 Weeks
Credits: 3
Duration: 15 Weeks
Dates: Thu
An important goal of artificial intelligence (AI) is to equip computers with the capability of interpreting visual inputs. Computer vision is an area in AI that deals with the construction of explicit, meaningful descriptions of physical objects from images. It includes as parts many techniques from image processing, pattern recognition, geometric modeling, and cognitive processing. This course introduces students to the fundamental concepts and techniques in computer vision. | Knowledge of Data Structures and Algorithms, proficiency in programming, and familiarity with matrix arithmetic. Prerequisites: Graduate standing.
Computer Science (Graduate)
3 credits – 15 Weeks
Credits: 3
Duration: 15 Weeks
Dates: Fri
Credits: 3
Duration: 15 Weeks
Dates: Fri
Artificial Intelligence (AI) is an important topic in computer science and offers many diversified applications. It addresses one of the ultimate puzzles humans are trying to solve: How is it possible for a slow, tiny brain, whether biological or electronic, to perceive, understand, predict and manipulate a world far larger and more complicated than itself? And how do people create a machine (or computer) with those properties? To that end, AI researchers try to understand how seeing, learning, remembering and reasoning can, or should, be done. This course introduces students to the many AI concepts and techniques. | Knowledge of Data Structures and Algorithms. Prerequisite: Graduate standing.
Computer Science (Graduate)
3 credits – 15 Weeks
Credits: 4
Duration: 15 Weeks
Dates: Wed
This course will combine a history of video art and experimental film with practical training in the use of live video performance art technology. Students will explore new ways to create and edit films and videos using VJ software, projections, and multi-channel video surfaces. Workshops will demonstrate concepts and software that can be integrated into the creative process of video performance art and video art installations. COURSE OBJECTIVES At the completion of this course, the student will be able to: Draw inspiration from the recent history of incredible video and multi-media artists. Develop an understanding of audio and visual hardware used by VJ’s. Use live VJ software to manipulate digital media in real time to create Video Performance Art. Use Projection Mapping techniques to project video art onto 3D surfaces. Create original video performance art, video installations, and other performance pieces. Utilize skills to make video art in the professional market.
Open Arts Curriculum (Graduate)
4 credits – 15 Weeks