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 teach students about 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 are grouped into groups of 6 students and one faculty adviser. 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, with two groups of 6 students each. Myself and Mark Sherriff were the faculty members involved, each working with one team. The SLP is now a year-long course for the 2012-2013 academic year, with 39 students and 7 projects.

In January 2013, the CS faculty approved a change to the curriculum requiring a capstone sequence for all BS CS majors. This requirement could be fulfilled by an independent project or by a two-semester capstone project sequence. 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 Praticum 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 way to complete the new BS CS 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. 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

For the 2012-2013 academic year, there are 39 students who are working on 7 projects. Formally, it was a CS 4501 course in both semesters. Many students used this as their senior thesis project.

  • Habitat for Humanity of Greater Charlottesville: a web portal that allows for recording and retrieval of information about local houses built by Habitat. Read more...
     
  • Virginia Discovery Museum scheduler: a system that allows for efficient scheduling of volunteers to daily and weekly shifts, as well as logging and statistical generation of the hours volunteered. Read more...
     
  • Center for Nonprofit Excellence data dashboard: a system that assists CNE in collecting data to help strengthen local nonprofits. Read more...
     
  • Virginia Institute of Autism Scheduler: a scheduling system that assists with the scheduling of teachers and students for each day's schedule. Read more...
     
  • giv2giv Micro-endowment Website: a website that allows for the donation of micro-endowments -- monetary gifts to nonprofits of small amounts that will have their yearly interest gifted to a chosen nonprofit. Read more...
     
  • Camp Holiday Trails Scheduler: a website that assists with the scheduling of camp staff and camper activities. Read more...
     
  • 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 is a continuation of the project from last spring.) Read more...
     

More details about these projects can be found here.

 

Previous projects

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...

 

Press Coverage