This course and its co-requisite lab course will introduce students to the methods and tools used in data science to obtain insights from data. Students will learn how to analyze data arising from real-world phenomena while mastering critical concepts and skills in computer programming and statistical inference. The course will involve hands-on analysis of real-world datasets, including economic data, document collections, geographical data, and social networks. The course is ideal for students looking to increase their digital literacy and expand their use and understanding of computation and data analysis across disciplines. No prior programming or college-level math background is required.
This is the co-requisite lab to COMS BC 1016 (Introduction to Computational Thinking and Data Science)
This course will introduce students to the methods and tools used in data science to obtain insights from data. Students will learn how to analyze data arising from real-world phenomena while mastering critical concepts and skills in computer programming and statistical inference. The course will involve hands-on analysis of real-world datasets, including economic data, document collections, geographical data, and social networks. This class is ideal for students looking to increase their digital literacy and expand their use and understanding of computation and data analysis across disciplines. No prior programming or math background is required.
Independent Study. Instructor permission required.
Many stages of state-of-the-art robotics pipelines rely on the solutions of underlying optimization algorithms. Unfortunately, many of these approaches rely on simplifications and conservative approximations in order to reduce their computational complexity and support online operation. At the same time, parallelism has been used to significantly increase the throughput of computationally expensive algorithms across the field of computer science. And, with the widespread adoption of parallel computing platforms such as GPUs, it is natural to consider whether these architectures can benefit robotics researchers interested in solving computationally constrained problems online. This course will provide students with an introduction to both parallel programming on CPUs and GPUs as well as optimization algorithms for robotics applications. It will then dive into the intersection of those fields through case studies of recent state-of-the-art research and culminate in a team-based final project.
The ubiquity of computers and networks in business, government, recreation, and almost all aspects of daily life has led to a proliferation of online sensitive data: data that, if used improperly, can harm the data subjects. As a result, concern about the use, ownership, control, privacy, and accuracy of these data has become a top priority. This seminar course focuses on both the technical challenges of handling sensitive data, the privacy implications of various technologies, and the policy and legal issues facing data subjects, data owners, and data users.
This course is designed as a companion to mentored research and industry projects in computer science that enable students to apply their learning in real-world contexts. While the course staff can provide general support for projects, they may not have the technical expertise to support all projects in depth. Therefore, students are expected to have arranged for a mentored project during the course registration period and will need to present their project topic in the second class. For example, a student could be working on a research project mentored by a professor or helping a local company develop a web interface to their product mentored by a company software engineer. Mentors must commit to meeting with students at least every other week. The course will be run through a mix of lecture and group work led by the course instructor as well as guest instructors from both industry and academia. Lectures cover a variety of applied computing topics designed to complement student projects and engage students with often underexplored considerations for effective and sustainable real-world projects. Students are evaluated both by their mentor on their project progress as well as by the course staff and peers on written deliverables and presentations. Prerequisites: COMS W3134 Data Structures (or equivalent).
Ubiquitous computing is creating new canvases and opportunities for creative ideas.
This class explores the use of microprocessors, distributed sensor networks, IoT,
and intermedia systems for the purposes of creative expression. The course is delivered
in a mixed lecture and lab format that introduces the fundamental concepts
and theory behind embedded systems as well as issues particular to their creative
employment. The key objective of the course is for students to conceive of and
implement creative uses of computation.
This is an undergraduate seminar for special topics in computing arranged as the need and availability arises. Topics are usually offered on a one-time basis. Participation requires permission of the instructor. Since the content of this course changes each time it is offered, it may be repeated for credit.
This is an undergraduate seminar for special topics in computing arranged as the need and availability arises. Topics are usually offered on a one-time basis. Participation requires permission of the instructor. Since the content of this course changes each time it is offered, it may be repeated for credit.
This is an undergraduate seminar for special topics in computing arranged as the need and availability arises. Topics are usually offered on a one-time basis. Participation requires permission of the instructor. Since the content of this course changes each time it is offered, it may be repeated for credit.