For details on when courses have been offered in past semesters, please use the Course Search feature in your Buff Portal or at classes.colorado.EDU. If you need a full schedule of courses from a past semester, please contact a CS advisor. 

Special Topics Archive

CSCI 4830

Computer Vision

Computer Vision is one of the fastest growing and most exciting disciplines in today’s academia and industry. This course is designed to open the doors for students who are interested in learning about the fundamental principles and important applications of computer vision. This course will introduce a number of fundamental concepts in computer vision such as: image formation, camera imaging geometry, feature detection and matching, multiview geometry including stereo, motion estimation and tracking, and classification. We’ll develop basic methods for applications that include finding known models in images, recovering depth from stereo, camera calibration, image stabilization, and image stitching (panoramas). There will be very little focus on the machine learning aspect of CV. This course intends to develop the intuitions and mathematics of the methods in lecture, and then to learn about the difference between theory and practice in the problem sets.

Instructor: Ioana Fleming
Additional Info: Strongly recommended prerequisites: Linear Algebra and basic Matlab programming knowledge.

Technology & the Young

This class will go beyond the issues of the moment (things like, "which websites are kids looking at?") and explore the larger abiding issues of how young people respond to, appropriate, and create new technologies. The underlying goal will be to use these larger historical themes as ways to guide the design and creation of new technologies for the young.

Instructor: Mike Eisenberg
Additional Info: The course will include widespread readings on the history of childhood and technology; seminar-type discussions of what it means (or should mean) to design technology for young people; and opportunities for independent research and study.

Machine Learning

This course will provide an introduction to the theory and techniques of machine learning. Students will be introduced to the fundamental mathematics and best practices in both supervised and unsupervised machine approaches, using realworld data. Students will learn to use state-of-the art tools as well as create their own implementations to gain a deeper understanding of the algorithms. The course will have both written and programming assignments.

instructor: Alvin Grissom II
Additional Info: Students should be comfortable with Python or Java. While we will review the requisite mathematics in the course, due to the intensely mathematical nature of machine learning, this course assumes a reasonable level of mathematical maturity. Experience in the following courses will be helpful, but these are not hard requirements. Those in doubt should contact the instructor: Calculus, Data Structures, Discrete Mathematics, Algorithms.

Data Science Team

This course offers students hands-on experience applying data science techniques and machine learning algorithms to realworld problems. Students will work in small teams on internal challenges, many of which will be sponsored by local companies and organizations, and will represent the university in larger teams for external challenges at the national and global level, such as those hosted by Kaggle. Students will be expected to participate in both internal and external challenges, attend meetings, and present short presentations to the group when appropriate.

Instructor: Rafael Frongillo
Additional Info: Suggested prerequisite: CSCI 3202 Intro to Artificial Intelligence

Spring 2016

CSCI 7000

Information Visualization 

Information visualization studies interactive visualization techniques that help people analyze abstract data without a physical correspondence such as tabular, hierarchical, network, or textual data. This course introduces design, development, and validation approaches for interactive data visualizations with applications in various domains, including the analysis of text collections, software visualization, network analytics, and the biomedical sciences. It also covers underlying principles, provides an overview of existing techniques, and teaches the background necessary to design innovate visualizations.

Instructor: Carsten Goerg
Additional Info: Active participation in the class is required. Students will participate in discussions of assigned readings, review and present one paper, and work on a visualization project over the course of the semester. Prerequisites: Knowledge in HumanCentered Computing, User-Centered Design, Computer Graphics, Algorithms, and Programming Experience will be helpful but are not required. Textbook: Tamara Munzner. Visualization Analysis and Design. AK Peters Visualization Series. CRC Press, 2014.

Program Synthesis

Instructor: Pavol Cerny

Technology & the Young

This class will go beyond the issues of the moment (things like, "which websites are kids looking at?") and explore the larger abiding issues of how young people respond to, appropriate, and create new technologies. The underlying goal will be to use these larger historical themes as ways to guide the design and creation of new technologies for the young.

Instructor: Mike Eisenberg
Additional Info: The course will include widespread readings on the history of childhood and technology; seminar-type discussions of what it means (or should mean) to design technology for young people; and opportunities for independent research and study.

Computer Storage

This course offers a unique opportunity to get a comprehensive view of storage from the hardware to the local software stack to the remote protocol stack. Using Oracle's ZS series network storage appliance based on the ZFS file system as a foundation, we will explore these concepts both from a functionality perspective, as well as a scalability perspective. Today’s commercial storage systems must manage not just terabytes of data, but petabytes and beyond. We will examine the issues when manipulating local storage (on the storage appliance itself) , when using a network (client interaction with a networkattached storage device), and when using the cloud for storage.

Instructor: Mark Maybee
Additional Info: The course is structured as a series of lectures covering major elements of storage system architecture. Experts who are directly responsible for elements of the ZFSSA hardware and software stack will present a number of the lectures.

Robot Perception/Planning/Ctrl

Covering topics related to robotic autonomy including the ability of an autonomous agent to sense its environment, make decisions and execute on those decisions. Possible topics include simultaneous localization and mapping, online calibration, semantic scene understanding, deep learning and neural networks, model-predictive control and online model identification.

Instructor: Chris Heckman
Additional Info: Suggested prerequisites are CSCI-3656 Numerical Computation and CSCI-3104 Algorithms.

Data Science Team

This course offers students hands-on experience applying data science techniques and machine learning algorithms to realworld problems. Students will work in small teams on internal challenges, many of which will be sponsored by local companies and organizations, and will represent the university in larger teams for external challenges at the national and global level, such as those hosted by Kaggle. Students will be expected to participate in both internal and external challenges, attend meetings, and present short presentations to the group when appropriate.

Instructor: Rafael Frongillo
Additional Info: Suggested prerequisite: CSCI 3202 Intro to Artificial Intelligence

Spring 2016