Computer Science:

Physical and conceptual computing

July 19 – August 7, 2020

Computer Science is a rich academic field that studies the computational structures and processes that appear throughout the natural and human worlds. The SLAI Computer Science Program approaches computer science with a liberal arts perspective, looking more broadly than programming alone.

Students who attend the program will learn how to think about finding computational solutions to problems of interest that lie beyond the realm of the computer screen, and how to program computers to implement such solutions. They’ll do this by engaging in classroom learning, participating in hands-on lab activities, and working in small teams on projects directed by college faculty and mentored by undergraduate research assistants.

The program culminates with a research symposium where students demonstrate the results of their work to each other and the broader community.  

Academic Credit Information

Summer Carls can earn up to six Carleton course credits (typically transfers as three semester credits) for successfully meeting faculty expectations and completing course requirements. In addition to receiving written feedback about course performance from faculty, students will receive one of the following three possible grade designations: satisfactory (S), credit (Cr), or no credit (NC). Formal academic transcripts are available upon request for Summer Carl alumni and will reflect the name of the course and grade earned.

Academic Structure

Of the multiple course topics listed on this page, Summer Carls will explore some topics in morning classes and one topic in an afternoon research group.

View SLAI’s Academic Structure Guide to learn more about how you can shape your program experience to fit your interests this summer.

2020 Courses and Faculty:


Robotics plays an important role in computing; it’s the way in which computers can make a physical difference in the world around them. Applications for robots include exploration, rescue operations, manufacturing, entertainment, making social connections, and so much more.  Robots have also been the basis for much research in artificial intelligence. 

Research section: “Creative Robot Programming” (for beginners and students with limited programming experience)

This research section is specifically designed for students who are relatively new to programming. We’ll be first looking at getting robots to perform a variety of basic tasks, which might include performing choreographed dances, interacting with a person, finding objects of interest, and avoiding obstacles.

We’ll be doing all of this using the leJOS Java programming environment on LEGO Mindstorms NXT robots, so we’ll be learning how to program along the way. We’ll then move to research projects which students will work on in teams, which might include designing a robot pet, making a robotic soccer player, navigating through a labyrinth, or any number of other potential possibilities.

Students working on these projects will build and program robots that can decide on appropriate actions to achieve goals set by the students, and to do so in a changing physical environment.

Weeks 2 and 3 class (non-research participants): “Robotics Algorithms”

In this course, our primary focus will be on understanding and implementing algorithms to solve a variety of robotics problems. The course will feature opportunities for students to work in teams on activities such as getting the robot to explore its world—by remote control or on its own—as well as learning how to solve problems for itself.

We’ll look at particular concepts and designs such as hierarchical and reactive architectures, reinforcement learning techniques, finite state machines, and PID control. You’ll then be implementing those techniques and improving on them with LEGO Mindstorms NXT robots and the leJOS programming environment.


Dave Musicant

Professor Dave Musicant

Dave Musicant is a professor of computer science at Carleton, where he has been since 2000. He received his Ph.D. in computer sciences from the University of Wisconsin-Madison in 2000. His research focuses on solving machine learning and data mining problems, and collaborative human/computing systems. Dave regularly teaches Introduction to Computer Science, Data Structures, Artificial Intelligence, Database Systems, Programming Languages, and Data Mining. He has also taught a general robotics course, as well as an interdisciplinary course titled “Art, Interactivity, and Robotics.”

Professor Musicant is the Director of the Summer Computer Science Institute.