Special Topics in Technology
Course may be repeated for credit as topics in technology vary. One to four hours of lecture per week; two to six hours of lecture per week for seven weeks. Specific topics, hours, and credit may vary from section to section and year to year.
In this course you’ll learn industry-standard agile and lean software development techniques such as test-driven development, refactoring, pair programming, and specification through example. You’ll also learn good object-oriented programming style. We’ll cover the theory and principles behind agile engineering practices, such as continuous integration and continuous delivery.
This class will be taught in a flip-the-classroom format, with students programming in class. We'll use the Java programming language. Students need not be expert programmers, but should be enthusiastic about learning to program. Please come to class with laptops, and install IntelliJ IDEA community edition. Students signing up should be comfortable writing simple programs in Java (or a Java-like language such as C#).
This course introduces the theoretical and practical aspects of computer vision, covering both classical and state of the art deep-learning based approaches. This course covers everything from the basics of the image formation process in digital cameras and biological systems, through a mathematical and practical treatment of basic image processing, space/frequency representations, classical computer vision techniques for making 3D measurements from images, and modern deep-learning based techniques for image classification and recognition.
This course surveys privacy mechanisms applicable to systems engineering, with a particular focus on the inference threat arising due to advancements in artificial intelligence and machine learning. We will briefly discuss the history of privacy and compare two major examples of general legal frameworks for privacy from the United States and the European Union. We then survey three design frameworks of privacy that may be used to guide the design of privacy-aware information systems. Finally, we survey threat-specific technical privacy frameworks and discuss their applicability in different settings, including statistical privacy with randomized responses, anonymization techniques, semantic privacy models, and technical privacy mechanisms.