Service Learning Practicum: Vision

How best can a computer scientist contribute to the community? This is the question that drives the existence of the Service Learning Practicum (SLP) in the Computer Science Department at the University of Virginia. The purpose of the SLP is two-fold:

  1. To give students experience with the development of large software projects. This is something that is taught in many courses, but due to the nature of collegiate classes (and the necessity for grades!), few courses allow for the development of large projects in large groups. In the SLP, students work in groups of 6 along with a mentor. The students develop a project in the same manner as a professional development company. All the skills, knowledge, and concepts that they learned in their various classes can be put to use, while learning aspects of teamwork, customer interaction, and management skills.

  2. Developing a project with no purpose is not only boring for all involved, but also a waste of everybody's time. This begets the second purpose of the SLP: to write quality software for nonprofits in our community. This allows the students to interact with a real customer, developing real software with a real purpose. Furthermore, the software will have a real and positive impact on our community.

The SLP ran as a "beta" test in the spring 2012 semester (12 students, 2 groups), and as a year-long course for the 2012-2013 academic year (39 students and 7 projects) and the 2013-2014 academic year. It is now a part of the BS CS curriculum, and is offered as CS 4970 (Capstone Practicum I) in the fall and CS 4971 (Capstone Practicum II) in the spring. While the two-semester project sequence may not always be the Service Learning Practicum, it will be for the next few years.


Get involved!

Are you interested in becoming involved with the service learning practicum? There are a number of different roles, depending on who you are.

Students would enroll in CS 4970 (Capstone Practicum I) in the fall, and CS 4971 (Capstone Practicum II) in the spring. Note that, because they are year-long projects, CS 4970 is a STRICT pre-requisite for CS 4971. As this is now one of the two ways to complete the new BS CS capstone requirement (see here for more details on the capstone requirement), all rising 4th year BS CS majors will be allowed to enroll. All others (BS CS majors below their 4th year, as well as BA CS and BS CpE majors) will be allowed in by instructor permission if there is enough room and enough projects. For more information, see the SLP: students page.

Mentors are local software engineering professionals who work with a team on a project. They do not do any software development, but instead help by imparting their wisdom and experience. For more information, see the SLP: mentoring page.

Nonprofits are who we develop the software for. If you are a nonprofit in the local area, and have a need for some quality software, please see the SLP: nonprofits page.


Current projects

We are looking for projects! Interested in applying? See the application page. We are currently (summer 2014) determine the projects for the upcoming academic year. Once we have the projects determined, they will appear here.


Previous projects

2013-2014 academic year

For the 2013-2014 academic year, there are 43 students who are working on 7 projects. Formally, it was a CS 4970: Capstone Practicum I course in the fall and (will be) a CS 4971: Capstone Practicum II course in the spring.

More details about these projects can be found here.

2012-2013 academic year

For the 2012-2013 academic year, there were 39 students who were working on 7 projects. Formally, it was a CS 4501 course in both semesters, as the current course numbers (CS 4970 and CS 4971) had not been approved yet. 27 of the 39 students used this as their senior thesis project.

More details about these projects can be found here.

Spring 2012

This course first ran as a one-semester version in the spring of 2012, taught by myself and Mark Sherriff. There were two projects:

  • Micro-volunteering website: a website that allows local community members with various skills (plumbing, electrical, computer-related, etc.) to assist local nonprofits who need a short job done. This website seeks to match up skilled volunteers with the nonprofits who need their services. (This project was continued in the 2012-2013 academic year.) read more...
  • ASPire: The Appalachia Service Project is an organization that brings in volunteer groups to perform home repair for low-income families. ASPire is a system that allows for efficient management of the various assets involved -- groups of volunteers, homes to be worked on, building supplies needed, etc. read more...

More details about these projects can be found here.


Press Coverage