COVID-19: Essential Information

Andrea Vaccari

Assistant Professor of Computer Science

 
 work(802) 443-2250
 Fall 2021: Monday - 15-16:30 - in person; Wednesday - 18:30-20 - on zoom (https://calendly.com/avaccari to book); by appointment
 75 Shannon 217

I received my M.S. in physics from the Università degli Studi di Milano, Italy in 1996 and my Ph.D. degree in electrical engineering from the University of Virginia, Charlottesville, in 2014.

In 1998, I started working at the National Radio Astronomy Observatory where I was responsible for the design, development and production of the Atacama Large Millimeter Array (ALMA) Front End embedded monitor and control system until 2012. I joined the Virginia Image and Video Analysis (VIVA) laboratory in the Department of Electrical and Computer Engineering at the University of Virginia in 2010. After receiving my Ph.D., I continued to work there as research scientist and instructor for undergraduate and graduate courses. In January 2018 I moved to Vermont and joined the Department of Electrical and Biomedical Engineering at the University of Vermont as lecturer and, in July 2018, I became assistant professor of Computer Science at Middlebury College.

My main research interests include image and signal processing with emphasis on remote sensing and biomedical/biological images, model-based data mining for large spatiotemporal datasets, and graph signal processing as well as novel approaches in experiential undergraduate and graduate education.

Webpage

 

Courses

Course List: 

Courses offered in the past four years.
indicates offered in the current term
indicates offered in the upcoming term[s]

CSCI 0101 - Introduction to Computing      

Introduction to Computing
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?" (Juniors and Seniors by waiver) 3 hr. lect./1 hr. lab DED

Spring 2019, Fall 2019

More Information »

CSCI 0145 - Introduction to Computing      

Introduction to Computing
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?" (Juniors and Seniors by waiver) (formerly CSCI 0101) 3 hr. lect./1 hr. lab DED

Spring 2022

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) (Seniors by waiver) 3 hrs. lect./lab DED

Spring 2020, Fall 2020, Spring 2021, Fall 2021

More Information »

CSCI 0435 - Embedded Systems      

Embedded Systems
In this course we will learn about microcontrollers (compact single-chip integrated circuits at the core of embedded systems), including their architecture and how they interface with the outside world. In laboratory assignments, we will experiment with different families of microcontrollers, analyze various types of interfaces, and learn how to connect with external sensors and devices. While gaining hands-on familiarity with the different aspects of embedded systems, teams of students will engage in a semester-long project to design and build their own embedded system. (CSCI 0202) 3 hrs. lect./1.5 hrs. lab. DED

Fall 2019, Fall 2021

More Information »

CSCI 0452 - Image Processing      

Image Processing
In this course students will learn basic image processing concepts and explore practical cross-disciplinary case studies in teams. They will use open-source tools to tackle real-world image and video analysis problems ranging from enhancing and denoising to tracking and extracting information from images and videos. Collaboratively, students will get to apply these tools to a problem of their choice in a semester-long project. (CSCI 0200 and CSCI 201) 3 hrs. lect./lab. DED

Fall 2018

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.

Fall 2018, Spring 2019, Fall 2019, Fall 2020, Spring 2021, Fall 2021, Spring 2022

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. (Approval only).

Fall 2018, Spring 2019, Spring 2021

More Information »

INTD 1242 - Carbonomics & Renewable Energy      

Carbonomics and Renewable Energy at Middlebury College
What is the cycle of carbon from its generation to its exchange on the market? What are the environmental, social, and equity impacts associated with renewable energy projects and assets? How does Middlebury generate, manage, and monitor its growing and increasingly complex portfolio of renewables to reach carbon neutrality? We will explore these questions through lectures and group projects. By the end of this course students will be able to propose ways to optimize the management of Middlebury’s portfolio with an understanding of its relationship to financial, equity, and environmental considerations. WTR

Winter 2021

More Information »