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