Category Archives: IMA Electives (Legacy Structure – Programming & Data)

Courses that count in IMA’s Programming and Data category

Web Art as Site (ITPG-GT 2094)

Credits: 4
Duration: 15 Weeks
Dates: Tue

WEB ART AS SITE addresses the history and practice of art made for and inseparable from the web, while teaching basic coding for the web. We explore key examples of web art from the early days of the internet through today, asking questions about this idiosyncratic artistic medium like: How do different forms of interaction characterize the viewer and/or the artist? What happens to our reading practice when text is animated or animates? How is an internet-native work encountered, and how does the path we take to reach it affect our reading? Who is able to see a work of web art, and what does access/privilege look like in this landscape? How are differently-abled people considered in a web artwork? What feels difficult or aggressive in web art, and when is that useful? How do artists obscure or reveal the duration of a work, and how does that affect our reading? What are the many different forms of instruction or guidance online? As we ask these questions, we exploit the internet pedagogically, collaborating online, playing with anonymity, and breaking the internet spaces we know. Students learn web coding through specialized online tutorials; most of class time is reserved for discussion (of web art and supplementary readings) and critique. Throughout the semester, students will produce two major works of web art. Students need only a standard laptop, and will not be expected to purchase any software or text (cost of materials: $0).

Interactive Telecommunications (Graduate)
4 credits – 15 Weeks

How to Count Birds (ITPG-GT 2085)

On October 8th, 2015, a team in Ecuador identified 431 species of birds – the world record for number counted in a single day. Earlier that year in Myanmar, a scientist counted one Jerdon’s babbler, the first in nearly eight decades. In December of 2019, eBird announced that its database held over 737 million bird observations. This morning, in Brooklyn Bridge park, I counted 38 house sparrows, 4 black-and-white warblers and an ovenbird. This course will consider birding as a practice, and will dive deep into the processes by which observations become data. As a collective, we will investigate how crowd-sourced data is transforming ornithology, and will explore ways to tell stories about the natural world through visualization and more radical forms of data representation.

Interactive Telecommunications (Graduate)
2 credits – 7 Weeks

Sections (Spring 2023)


ITPG-GT 2085-000 (22309)03/23/2023 – 05/04/2023 Thu9:00 AM – 12:00 AM (Morning)at Brooklyn CampusInstructed by Thorp, Jeremy

Information Visualization (DATS-SHU 235)

Information visualization is the graphical representation of data to aid understanding, and is the key to analyzing massive amounts of data for fields such as science, engineering, medicine, and the humanities. This is an introductory undergraduate course on Information Visualization based on a modern and cohesive view of the area. Topics include techniques such as visual design principles, layout algorithms, and interactions as well as their applications of representing various types of data such as networks and documents. Overviews and examples from state-of-the-art research will be provided. The course is designed as a first course in information visualization for students both intending to specialize in visualization as well as students who are interested in understanding and applying visualization principles and existing techniques. Fulfillment: CS Electives, Data Science Data Analysis Required; Data Science Courses for Concentration in Artificial Intelligence. Prerequisite or Co-requisite: Data Structures. Students must be CS or DS major and have junior or senior standing.

Data Science (Undergraduate)
4 credits – 15 Weeks

Sections (Spring 2023)


DATS-SHU 235-000 (20423)01/30/2023 – 05/12/2023 Mon,Wed7:00 PM – 8:00 PM (Evening)at ShanghaiInstructed by Gu, Xianbin

Data Structures (CSCI-SHU 210)

Data structures are fundamental programming constructs which organize information in computer memory to solve challenging real-world problems. Data structures such as stacks, queues, linked lists, and binary trees, therefore constitute building blocks that can be reused, extended, and combined in order to make powerful programs. This course teaches how to implement them in a high-level language, how to analyze their effect on algorithm efficiency, and how to modify them to write computer programs that solve complex problems in a most efficient way. Programming assignments. Prerequisite: ICS or A- in ICP. Equivalency: This course counts for CSCI-UA 102 Data Structures (NY). Fulfillment: CS Required, Data Science Required, CE Required.

Computer Science (Undergraduate)
4 credits – 15 Weeks

Sections (Spring 2023)


CSCI-SHU 210-000 (20398)01/30/2023 – 05/12/2023 Tue3:00 PM – 5:00 PM (Late afternoon)at ShanghaiInstructed by Tam, Yik-Cheung


CSCI-SHU 210-000 (20399)01/30/2023 – 05/12/2023 Thu3:00 PM – 5:00 PM (Late afternoon)at ShanghaiInstructed by Simikin, Sven


CSCI-SHU 210-000 (20400)01/30/2023 – 05/12/2023 Wed3:00 PM – 5:00 PM (Late afternoon)at ShanghaiInstructed by Simikin, Sven


CSCI-SHU 210-000 (20401)01/30/2023 – 05/12/2023 Mon11:00 AM – 1:00 PM (Morning)at ShanghaiInstructed by Tam, Yik-Cheung


CSCI-SHU 210-000 (20402)01/30/2023 – 05/12/2023 Wed11:00 AM – 1:00 PM (Morning)at ShanghaiInstructed by Simikin, Sven


CSCI-SHU 210-000 (20403)01/30/2023 – 05/12/2023 Fri11:00 AM – 1:00 PM (Morning)at ShanghaiInstructed by Simikin, Sven

Human-Centered Data Science (CDAD-UH 1044Q)

Credits: 4
Duration: 15 Weeks
Dates: Tue,Thu

Data science is changing our lives. While the importance of data science is widely acknowledged, there are also great concerns around it. How are data generated? How can they be used to make predictions and inform insights? What can be the potential dangers of applying data science techniques? What are the social and human implications of their uses? This multidisciplinary course explores these questions through hands-on experience on key technical components in data science and critical reviews of human and social implications in various real-world examples, ranging from social science to arts and humanities to engineering. In the course, students will 1) learn basic concepts and skills in data science (e.g., crawling and visualization); 2) apply these skills in a creative project; 3) discuss social and human implications of data science, including data privacy; algorithmic bias, transparency, fairness, and accountability; research ethics; data curation and reproducibility; and societal impacts. This course encourages students to reconsider our common-place assumptions about how data science works and be critical about the responsible use of data.

Core: Data and Discovery (Undergraduate)
4 credits – 15 Weeks

Music, the Mind and Artificial Intelligence (MPATE-UE 1113)

Credits: 4
Duration: 15 Weeks
Dates: Mon,Wed
Credits: 4
Duration: 15 Weeks
Dates: Mon,Wed,Wed
Credits: 4
Duration: 15 Weeks
Dates: Mon,Wed,Wed

Music is universal to all human cultures. This course will explore fundamental concepts of the psychological, emotional, and cognitive effects of music and what factors in the human body and brain are involved in producing them, with particular emphasis on cross-cultural study. Students will learn beginning methods of computational feature extraction and machine learning to explore simple artificial intelligence models that build on and articulate the conceptual frameworks of music and cognition introduced in the initial phase of the class.

Music Technology (Undergraduate)
4 credits – 15 Weeks

Real Estate Data Science, Artificial Intelligence, and Machine Learning (FINC-UB 36)

Exponential growth in the availability of high quality real estate and real estate-related data is fueling a major shift in development, investment, and lending decision-making processes. In this highly applied course, students will be introduced to major data analysis and machine learning platforms; a wide range of public and private real estate and urban data sources; approaches to exploratory data analysis, real estate data visualization, and communication of findings; applied statistical modeling, including forecast modeling; and, emerging and prospective real estate applications for artificial intelligence and machine learning. Assessment will include case work focusing on real-world real estate decisions and coding assignments. While the data and applications for this course are principally in the real estate sector, the applied skills learned may be of interest for students across a wide range of industries.

Finance (Undergraduate)
3 credits – 12 Weeks

Financial Information Systems (TECH-UB 50)

The financial services industry is being transformed by regulation, competition, consolidation, technology and globalization. These forces will be explored, focusing on how technology is both a driver of change as well as the vehicle for their implementation. The course focuses on payment products and financial markets, their key systems, how they evolved and where might they be going, algorithmic trading, market structure dark, liquidity and electronic markets. Straight through processing, risk management and industry consolidation and convergence will be viewed in light of current events. The course objective is to bring both the business practitioner and technologist closer together. Topics will be covered through a combination of lectures, readings, news, case studies and projects.

Computing and Data Science (Undergraduate)
3 credits – 12 Weeks

Sections (Fall 2020)


TECH-UB 50-000 (21263)09/23/2020 – 12/16/2020 Wed6:00 PM – 9:00 PM (Evening)at Washington SquareInstructed by Donefer, Bernard

Info Technology in Business & Society (TECH-UB 9001)

Credits: 4
Duration: 14 Weeks
Dates:
Credits: 4
Duration: 14 Weeks
Dates: Tue
Credits: 4
Duration: 14 Weeks
Dates: Tue,Thu

Provides the background necessary to make decisions about computer-based information systems and to be an “end-user”. Two major parts of the course are hands-on experience with personal computers and information systems management. Group and individual computer assignments expose students to electronic spreadsheet analysis and database management on a personal computer. Management aspects focus on understanding computer technology, systems analysis and design, and control of information processing by managers.

Computing and Data Science (Undergraduate)
4 credits – 14 Weeks

Projects in Programming and Data Sciences (TECH-UB 24)

This course is the follow-on course to Introduction to Programming and Data Science, which is offered in the Fall. It is recommended for undergraduate students who 1) are interested in jobs in the rapidly growing fields of data science and data analytics or 2) who are interested in acquiring the technical and data analysis skills that are becoming increasingly relevant in all disciplines. Intro to Programming and Data Science forms the basis for this course, but it is not a pre-requisite. Students with basic knowledge of programming in Python and SQL are welcome to join. This course covers select topics that build on the prior course work and is largely project based. Much of the course will be project-based work, with students working on projects that utilize the skills used in this and the prior Programming and Data Science course.

Computing and Data Science (Undergraduate)
3 credits – 15 Weeks

Sections (Spring 2023)


TECH-UB 24-000 (19343)at Washington SquareInstructed by


TECH-UB 24-000 (19344)at Washington SquareInstructed by

Social Media & Digital Marketing (TECH-UB 38)

This course examines the major trends in digital marketing using tools from business analytics and data science. While there will be sufficient attention given to top level strategy used by companies adopting digital marketing, the focus of the course is also on business analytics: how to make firms more intelligent in how they conduct business in the digital age. Measurement plays a big role in this space. The course is complemented by cutting-edge projects and various business consulting assignments that the Professor has been involved in with various companies over the last few years. Prof Ghose has consulted in various capacities for Apple, AMD, Berkeley Corporation, Bank of Khartoum, CBS, Dataxu, Facebook, Intel, NBC Universal, Samsung, Showtime, 3TI China, and collaborated with Alibaba, China Mobile, Google, IBM, Indiegogo, Microsoft, Recobell, Travelocity and many other leading Fortune 500 firms on realizing business value from IT investments, internet marketing, business analytics, mobile marketing, digital analytics and other topics.We will learn about statistical issues in data analyses such as selection problem, omitted variables problem, endogeneity, and simultaneity problems, autocorrelation, multi-collinearity, assessing the predictive power of a regression and interpreting various numbers from the output of a statistical package, various econometrics-based tools such as simple and multivariate regressions, linear and non-linear probability models (Logit and Probit), estimating discrete and continuous dependent variables, count data models (Poisson and Negative Binomial), cross-sectional models vs. panel data models (Fixed Effects and Random Effects), and various experimental techniques that help can tease out correlation from causality such as randomized field experiments.

Computing and Data Science (Undergraduate)
3 credits – 15 Weeks

Sections (Spring 2023)


TECH-UB 38-000 (19338)01/23/2023 – 05/08/2023 Thu6:00 PM – 9:00 PM (Evening)at Washington SquareInstructed by

Introduction to Programming and Data Science (TECH-UB 23)

This course is recommended for undergraduate students without programming experience who are interested in building capabilities in the rapidly growing fields of data science and data analytics. This hands-on coding course does not have any prerequisites and is meant to help students acquire programming and data analysis skills that are becoming increasingly relevant for entrepreneurial, corporate, and research jobs. The course offers an introduction to programming (using Python) and databases (using SQL). We will cover topics related to collection, storage, organization, management, and analysis of data. There is a strong focus on live coding in the classroom, with discussion of examples.

Computing and Data Science (Undergraduate)
3 credits – 15 Weeks

Sections (Spring 2023)


TECH-UB 23-000 (19340)at Washington SquareInstructed by


TECH-UB 23-000 (19342)at Washington SquareInstructed by


TECH-UB 23-000 (19345)at Washington SquareInstructed by

Introduction to Cryptography (CSCI-SHU 378)

The study of modern cryptography investigates mathematical techniques for securing information, systems and distributed computations against adversarial attacks. We introduce fundamental concepts of this study. Emphasis will be placed on rigorous proofs of security based on precise definitions and assumptions. Topics include: one-way functions, encryption, signatures, pseudorandom number generators and zero-knowledge proofs. Prerequisite: Algorithms, theory of probability, or permission of the instructor. Fulfillment: Mathematics Additional Electives; Honors Mathematics Electives; CS Electives.

Computer Science (Undergraduate)
4 credits – 15 Weeks

Sections (Fall 2022)


CSCI-SHU 378-000 (18506)09/05/2022 – 12/16/2022 Mon,Tue3:00 PM – 4:00 PM (Late afternoon)at ShanghaiInstructed by Guo, Siyao

Computer Science Senior Project (CSCI-SHU 420)

The purpose of the Senior Project is for the students to apply the theoretical knowledge they acquired during the Computer Science program to a concrete project in a realistic setting. During the semester, students engage in the entire process of solving a real-world computer science project. It requires students to pursue a long-term, mentored learning experience that culminates in a piece of original work. At the end of the semester, the proposed work comes to fruition in the form of a working software prototype, a written technical report, and an oral presentation at a capstone project symposium. Prerequisite: senior standing. Fulfillment: CS Required.

Computer Science (Undergraduate)
4 credits – 14 Weeks

Introduction to Computer Programming (CSCI-SHU 11)

An introduction to the fundamentals of computer programming. Students design, write, and debug computer programs. No prior knowledge of programming is assumed. Students will learn programming using Python, a general purpose, cross-platform programming language with a clear, readable syntax. Most class periods will be part lecture, part lab as you explore ideas and put them into practice. This course is suitable for students not intending in majoring in computer science as well as for students intending to major in computer science but having no programming experience. Students with previous programming experience should instead take Introduction to Computer Science. Prerequisite: Either placed into Calculus or at least a C in Pre-Calculus Fulfillment: Core Curriculum Requirement Algorithmic Thinking; EE Required Major Courses. Note: Students who have taken ICS in NY, Abu Dhabi, and Shanghai cannot take ICP.

Computer Science (Undergraduate)
4 credits – 14 Weeks

Sections (Spring 2022)


CSCI-SHU 11-000 (17503)02/07/2022 – 05/13/2022 Mon8:00 AM – 10:00 AM (Morning)at ShanghaiInstructed by Simon, Daniel


CSCI-SHU 11-000 (17504)02/07/2022 – 05/13/2022 Tue3:00 PM – 5:00 PM (Late afternoon)at ShanghaiInstructed by Simon, Daniel


CSCI-SHU 11-000 (23632)02/07/2022 – 05/13/2022 Wed8:00 AM – 10:00 AM (Morning)at ShanghaiInstructed by Simon, Daniel


CSCI-SHU 11-000 (23633)02/07/2022 – 05/13/2022 Wed8:00 AM – 10:00 AM (Morning)at ShanghaiInstructed by Liu, Yijian


CSCI-SHU 11-000 (23634)02/07/2022 – 05/13/2022 Thu3:00 PM – 5:00 PM (Late afternoon)at ShanghaiInstructed by Simon, Daniel


CSCI-SHU 11-000 (23767)02/07/2022 – 05/13/2022 Thu3:00 PM – 5:00 PM (Late afternoon)at ShanghaiInstructed by Liu, Yijian


CSCI-SHU 11-000 (26252)02/07/2022 – 05/13/2022 Tue9:00 PM – 10:00 PM (Evening)at ShanghaiInstructed by Spathis, Promethee


CSCI-SHU 11-000 (26253)02/07/2022 – 05/13/2022 Thu9:00 PM – 10:00 PM (Evening)at ShanghaiInstructed by Spathis, Promethee

Introduction to Computer and Data Science (CSCI-SHU 101)

This course has three goals. First, the mastering of a modern object-oriented programming language, enough to allow students to tackle real-world problems of important significance. Second, gaining an appreciation of computational thinking, a process that provides the foundations for solving real-world problems. Finally, providing an overview of the very diverse and exciting field of computer science – a field which, arguably more than any other, impacts how we work, live, and play today. Prerequisite: Introduction to Computer Programming or placement exam. Equivalency: This course counts for CSCI-UA 101. Fulfillment: Core Curriculum Requirement Algorithmic Thinking; Computer Science Major Required Courses; Computer Systems Engineering Major Required Courses; Data Science Major Foundational Courses; Electrical and Systems Engineering Major Required Major Courses.

Computer Science (Undergraduate)
4 credits – 14 Weeks

Sections (Spring 2022)


CSCI-SHU 101-000 (17449)02/07/2022 – 05/13/2022 Tue8:00 AM – 10:00 AM (Morning)at ShanghaiInstructed by Gu, Xianbin


CSCI-SHU 101-000 (17509)02/07/2022 – 05/13/2022 Thu8:00 AM – 10:00 AM (Morning)at ShanghaiInstructed by Yin, Wen


CSCI-SHU 101-000 (17572)02/07/2022 – 05/13/2022 Thu8:00 PM – 9:00 PM (Evening)at ShanghaiInstructed by Yin, Wen


CSCI-SHU 101-000 (17596)02/07/2022 – 05/13/2022 Wed9:00 AM – 11:00 AM (Morning)at ShanghaiInstructed by Gu, Xianbin


CSCI-SHU 101-000 (17751)02/07/2022 – 05/13/2022 Fri9:00 AM – 11:00 AM (Morning)at ShanghaiInstructed by Yin, Wen

Natural Language Processing (CS-UH 2216)

The field of natural language processing (NLP), also known as computational linguistics, is interested in the modeling and processing of human (i.e., natural) languages. This course covers foundational NLP concepts and ideas, such as finite state methods, n-gram modeling, hidden Markov models, part-of-speech tagging, context free grammars, syntactic parsing and semantic representations. The course surveys a range of NLP applications such as information retrieval, summarization and machine translation. Concepts taught in class are reinforced in practice by hands-on assignments.

Computer Science (Undergraduate)
4 credits – 7 Weeks

Sections (Fall 2024)


CS-UH 2216-000 (9051)08/26/2024 – 10/11/2024 Mon,Wed2:00 PM – 3:00 PM (Early afternoon)at Abu DhabiInstructed by Habash, Nizar

Computer Systems Organization (CS-UH 2010)

Credits: 4
Duration: 15 Weeks
Dates: Mon,Wed

The course focuses on understanding lower-level issues in computer design and programming. The course starts with the C programming language, moves down to assembly and machine-level code, and concludes with basic operating systems and architectural concepts. Students learn to read assembly code and reverse-engineer programs in binary. Topics in this course include the C programming language, data representation, machine-level code, memory organization and management, performance evaluation and optimization, and concurrency.

Computer Science (Undergraduate)
4 credits – 15 Weeks

Computer Networks (CS-UH 3012)

Credits: 4
Duration: 15 Weeks
Dates: Tue,Thu
Credits: 4
Duration: 15 Weeks
Dates: Tue,Thu,Fri

Have you ever wondered how the internet or Facebook is able to support a billion simultaneous users? This course teaches students the design and implementation of such Internet-scale networks and networked systems. Students learn about the principles and techniques used to construct large-scale networks and systems. Topics in this course include routing protocols, network congestion control, wireless networking, network security, and peer-to-peer systems. Upon completing this course, students are able to initiate and critique research ideas, implement their own working systems, and evaluate such systems. To make the issues more concrete, the class includes several multi-week projects requiring significant design and implementation. The goal is for students to learn not only what computer networks are and how they work today, but also why they are designed the way they are and how they are likely to evolve in the future. Examples are drawn primarily from the internet.

Computer Science (Undergraduate)
4 credits – 15 Weeks