Visiting Assistant Professor of Computer Science
Christopher Andrews is a Visiting Assistant Professor of Computer Science. He has a Ph.D. in Computer Science from Virginia Tech, an MS in Computer Engineering from Carnegie Mellon University and a BA in Theatre and Computer Science from Wesleyan University. Professor Andrews' research interests largely fall under the umbrella of Human Computer Interaction (HCI), the study of how computers can fit into and support human endeavors. More specifically, his interests include visual analytics, information visualization, generative art, graphics, and alternative (or just really large) displays.
Personal Homepage "http://www.cs.middlebury.edu/~candrews"
No items found
Courses offered in the past four years.
▲ indicates offered in the current term
▹ indicates offered in the upcoming term[s]
CSCI 0101 - The Computing Age ▲
The Computing Age
In this course we will provide a broad introductory overview of the discipline of computer science, with no prerequisites or assumed prior knowledge of computers or programming. A significant component of the course is an introduction to algorithmic concepts and to programming using Python; programming assignments will explore algorithmic strategies such as selection, iteration, divide-and-conquer, and recursion, as well as introducing the Python programming language. Additional topics will include: the structure and organization of computers, the Internet and World Wide Web, abstraction as a means of managing complexity, social and ethical computing issues, and the question "What is computation?" 3 hr. lect./lab
Fall 2013, Spring 2014, Fall 2014
CSCI 0202 - Computer Architecture ▲
A detailed study of the hardware and software that make up a computer system. Topics include assembly language programming, digital logic design, microarchitecture, pipelines, caches, and RISC vs. CISC. The goal of the course is teach students how computers are built, how they work at the lowest level, and how this knowledge can be used to write better programs. (CSCI 0201 previously or concurrently) 3 hrs. lect./lab
Fall 2013, Fall 2014
CSCI 0465 - Information Visualization
Information visualization is used to reveal patterns, trends, and outliers within abstract data. In this course we will cover topics such as the transformation of data to visual representations, common approaches to dealing with different types of data, perceptual issues that govern how visualizations are interpreted, and the development of interactive visualization tools. This course will culminate in a significant final visualization project. (CSCI 0201)
CSCI 0500 - Advanced Study ▲ ▹
Individual study for qualified students in more advanced topics in computer science theory, systems, or application areas. Particularly suited for students who enter with advanced standing. (Approval required) 3 hrs. lect.
Winter 2014, Spring 2014, Fall 2014, Spring 2015
CSCI 1003 - Generative Art
Generative art is process-driven creation in which the artist creates an autonomous system that produces the artwork as output. In this course we will write computer programs, focusing on algorithmic creation to generate images. We will discuss the nature of generative art and cover technical topics such as basic algorithmic drawing, image manipulation, randomness and noise, emergence, and visualization. There is no assumption of prior knowledge of programming, so significant time will be spent learning the basics of programming using Processing, a popular visually oriented programming language.