This course introduces contemporary topics in Science and Technology Studies, emphasizing the relations among science, technology and society from philosophical, historical, and sociological points of view. This course is required for STS majors and satisfies an HuSS General Education Elective for all other majors.
Students will learn how technology impacts the development and changed the experiences of children and young adults. Students will respond critically and explore the relationship between children, young adults, and the environment they navigate and explore the relationship between social media and development in relation to advancing technology. Additionally, students will explore ethical theory in relation to society and innovation. Through readings, discussions and presentations, students will develop analyzed solutions for problems experienced via interactions with technology and social media. In this online learning collaborative course, students will create evidence – based solutions to solving society’s predicament with the evolution of social media.
Students or several students work with a faculty member and/or graduate students on a current topic in computer science. Each term, a project course with a particular theme is offered by the Department of Computer and Information Science. A faculty member assigns individual or group projects. The project course is highly structured and supervised closely by faculty. Students are expected to use the design and project-management skills they learned in CS-UY 4513 Software Engineering. Alternatively, students may work with a faculty member on an individual project of mutual interest. A written report and oral presentation are required. | Prerequisite: CS-UY 4513 or CS-UY 3513.
The course will start off with an in-depth review of the exploitation mitigations introduced in modern operating systems. The instructors will demonstrate their limitations through simple examples and gradually develop the basic exploitation techniques into more complicated methods applicable to real-world exploitation. Unlike most other exploitation courses, we will focus on approaching exploitation as a creative problem-solving process rather than an exercise of applying cookbook techniques to common types of vulnerabilities. Most of the course will focus on the hands-on application of the material through exercises and leading the students through the development of reliable exploits for recently patched vulnerabilities in widely used software. | Prerequisites for Brooklyn Engineering Students: CS-UY 3933 and (CS-UY 2134 or CS-UY 1134) and (CS-UY 2124 or CS-UY 1124) (C- or better). | Prerequisites for CAS Students: CS-UY 3933 and CSCI-UA 201. | Prerequisites for Abu Dhabi Students: CS-UY 3933 and CS-AD 103
The course centers on properties of pure substances; concepts of work and heat; closed and open systems. Topics: Fundamental laws of thermodynamics. Carnot and Clasius statements of the 2nd law; entropy and entropy production; heat engines, refrigerators, heat pumps; efficiencies, coefficients of performance.| Prerequisite for Brooklyn Students: MA-UY 1124 | Prerequisite for Abu Dhabi Students: MATH-UH 1020
Designing a successful interactive experience or software system takes more than technical savvy and vision–it also requires a deep understanding of how to serve people’s needs and desires through the experience of the system, and knowledge about how to weave this understanding into the development process. This course introduces key topics and methods for creating and evaluating human-computer interfaces/digital user experiences. Students apply these practices to a system of their choosing (I encourage application to prototype systems that students are currently working on in other contexts, at any stage of development). The course builds toward a final write-up and presentation in which students detail how they tackled HCI/user experience design and evaluation of their system, and results from their investigations. Some experience creating/participating in the production of interactive experiences/software is recommended.
The course targets current and future urban practitioners looking to harness the power of data in urban practice and research. This course builds the practical skillset and tools necessary to address urban analytics problems with urban data. It starts with essential computational skills, statistical analysis, good practices for data curation and coding, and further introduces a machine learning paradigm and a variety of standard supervised and unsupervised learning tools used in urban data science, including regression analysis, clustering, and classification as well as time series analysis. After this class, you should be able to formulate a question relevant to Urban Data Science, locate and curate an appropriate data set, identify and apply analytic approaches to answer the question, obtain the answer and assess it with respect to its certainty level as well as the limitations of the approach and the data. The course will also contain project-oriented practice in urban data analytics, including relevant soft skills – verbal and written articulation of the problem statement, approach, achievements, limitations, and implications.
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.
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
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.
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.
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.
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.
Using a case study approach, this course explores the issues of professional and technological ethics especially as it pertains to networked computers in a global setting. The course will begin with the appropriate ethical codes of the professional societies, including the code of ethics for the Association for Computing Machinery (ACM) but also codes in other areas such as finance and medicine. The mandates and expectations of the codes will be interpreted from varying perspectives and will be applied concretely to the specifics of the cases under consideration. Ethical issues will be approached in a manner similar to that of engineering problems and students will be expected to show a step-by-step process for the resolution of actual and potential ethical conflict. The technique of “line drawing” will be used to exhibit the alternatives and to help justify the ultimate decision made. In addition to video lectures Power Point charts, and notes the course teaching techniques will employ social media (“Google “) to create a class community, “NYU Classes” to present texts and case studies, built-in assessment tools to permit student dialogue and debate on assigned topics. These online tools do not demand excessive bandwidth and can be used in both synchronous and asynchronous settings.
This online course examines how diverse authors of literature have approached and continue in critically evaluate developments in both science and technology. This course will introduce students to major works in the literary canon through the lens of scientific developments. The historical topics that we will address are the advent of the printing press, the Copernican revolution, Enlightenment thought, the impact of the Industrial Revolution, the rise of modern warfare, medical advances, and ultimately, the age of the Internet. In particular, we will study how writers portrayed the individual and society as well as examined social interactions in the scientific world. How did the introduction of literature of the “masses” ultimately transform plot, character development, and the objective of narrative fiction? Authors and works we will read include: Anonymous, Everyman, William Shaespeare’s Sonnets, Jonathan Swift’s Gulliver’s Travels, Voltaire’s Candide, Stephen Crane’s The Red Badge of Courage, Marcel Proust’s Swann’s Way, George Orwell’s 1984, and Donna Tartt’s The Secret History. | Prerequisites: EXPOS-UA 1 or EXPOS-UA 4
A programming intensive introduction to the creation of computer games. Using mostly two-dimensional sprite-based programming, we examine and experiment with animation, physics, artificial intelligence and audio. In addition, the course explores the mathematics of transformations (both 2D and 3D) and the ways they may be represented. | Prerequisite: (CS-UY 2134 or CS-UY 1134) and (CS-UY 2124 or CS-UY 1124) (C- or better).
This course introduces students to the fundamental skills and professional practices vital to pursuing a career within a range of creative fields and industries. Students will explore strategies for effective documentation and presentation of their creative work, the art of self-promotion and exhibiting work publicly in various forms and environments, as well as networking and career preparation. | Prerequisite: Junior or Senior Standing
This course allows students to harness the power of visual language in order to convey messages and meaning. The elements of visual foundation that will be covered include components (color, texture, image and typography), composition, and concept. Although non-digital mediums will be addressed, the understanding and use of industry-standard software is also a primary goal.
A site for IMA NY Students to find equivalent courses outside of IMA NY
For most students joining IMA in Fall 2022 and beyond, our new program structure affects the categorization of courses on this site.
Classes listed in the "IMA Major Electives" categories refer to the old IMA program structure. If you're under the new IMA program structure, these courses count as general IMA Electives.
You can still search the Interchange for most of your courses. You can find "IMA Major Distribution" courses listed here: