Middlebury

 

Christopher Andrews

Visiting Asst. Professor of Computer Science

Email: 
Phone: work802.443.5686
Download Contact Information

Courses

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

DED

Fall 2013, Spring 2014, Fall 2014

More Information »

CSCI 0202 - Computer Architecture      

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

DED

Fall 2013, Fall 2014

More Information »

CSCI 0465 - Information Visualization      

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)

DED

Spring 2014

More Information »

CSCI 0500 - Advanced Study      

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

More Information »

CSCI 0701 - Senior Seminar      

Senior Seminar
This senior seminar provides a capstone experience for computer science majors at Middlebury College. Through lectures, readings, and a series of two to three week individual and group assignments, we will introduce important concepts in research and experimental methods in computation. Examples will include: reading research papers; identifying research problems; dealing with big data; experimental design, testing and analysis; and technical writing in computer science.

Fall 2014

More Information »

CSCI 1003 - Generative Art      

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.

DED WTR

Winter 2014

More Information »