Engagement Description
Bates College offers a range of introductory Computer Science (DCS 109) courses with shared
learning goals and different themes. I have previously taught DCS 109 courses related to
software development and robotics and included a small community-engaged learning project
with the local middle school. I would like to expand on this work and develop an introductory
course that centers community-engaged learning and our ongoing collaboration with Lewiston
Middle School.
The idea would be to develop mutually beneficial learning opportunities for Bates and middle
school students. For example, Bates students would deepen their mastery of course content as
they become "teachers" of some of that content to the middle schoolers, and middle schoolers
would push my students to become effective science communicators through the questions they
pose and the projects they are asked to work on. Bates students would also experience the
self-efficacy of being able to deploy their knowledge and skills for public purposes – an
experience I hope would inspire them to develop habits of civic engagement in the context of this
course and beyond. Middle school students would experience the self-efficacy of gaining new
knowledge and skills, and they would have opportunities to "rub shoulders" with college kids,
ask questions about college, and imagine college as a live option for themselves – something of
real value in the low college-going community of Lewiston, Maine.
Computer Science is particularly well suited for this style of community-engaged learning. My
students have little to no prior experience with Computer Science and are building similar skills
as the middle school students. For example, one of the most challenging aspects of my course is
learning how to problem-solve and how to think “like a computer.” Through observing middle
school technology and engineering classes and discussions with the middle school teachers about
their learning standards, I have identified the following common guiding questions:
1. Why should we care about technology? This includes learning about digital
citizenship, reasoning about the good and bad of technology, and the real-world impacts
of technology.
2. How do we design new technology to solve problems? This includes breaking down
big problems into smaller parts to design solutions, using modeling activities and
systematic processes to solve problems, learning through doing, iteration, and testing.3. How do we tell computers what to do? This includes using algorithmic and
CEL Budget Request for this course: