For Students

The Service Learning Praticum (SLP) is taught through CS 4970 (Capstone Practicum I) in the fall, and CS 4971 (Capstone Praticum II) in the spring. Read on for more details...

 

Capstone Requirement

In January 2013, the CS faculty approved a degree requirement change that required all BS CS students to complete three "capstone" credits prior to graduation. This requirement could be fulfilled via two different tracks:

  • The 'research' track: in this track, students find a faculty member to work with on an independent project. This project could be research, either new or a continuation of research the student is already doing with the faculty member. Or it could be an implementation-based project. This could also be a group project, if the faculty member agreed to this. Students would register for 3 credits of CS 4980 (Capstone Research); faculty could choose to award those three credits across multiple semesters. This is similar to how the senior thesis project advising happened before this degree requirement change, expect that students now receive credit for the technical work performed (STS 4500/4600 only awards credit for the STS side of the senior thesis).
     
  • The 'capstone' track: in this track, students complete both CS 4970 (Capstone Praticum I) in the fall, and CS 4971 (Capstone Praticum II) in the spring. This project is a year-long project-based course. Students are split into groups, and are given an actual customer to interact with. While many of the details of the project are up to the instructor (group size, project domain, internal versus external customers, etc.), it will be the service learning practicum for the next few years. 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 other students (BS CS majors below their 4th year, as well as BA CS and BS CpE majors) will be allowed in by instructor permission.
     

Students who are graduating in 2016 or later must follow this requirement. Students who are graduating before 2016 may follow any set of requirements when they were a declared major, which means they can follow the previous set of requirements (i.e., without this capstone requirement). Note, however, that because of this change, fewer faculty may be willing to do individual projects.

 

Course Information

The Service Learning Praticum is a year-long software engineering course. Students will be grouped into teams of 5 or 6, and will develop software for local nonprofits. The course will go through all the stages of software development from requirements through development, and into testing and maintenance. There will be regular (every 2 weeks) meetings with the customer, and more frequent (1 or 2 per week) group meetings. The software developed will vary based on the nonprofit for which it is being built, but some examples include websites, mobile apps, or desktop applications. You can see example projects from previous and current semesters on the main SLP page. Students will be able to request which project they wish to work on.

The course ostensibly meets three times a week: Mondays will be a lecture on some software engineering topic, Wednesdays will be a group meeting (alternating weeks with the customer), and Fridays will be occasional group meetings during the lecture time. Note that this schedule may change depending on the customer meeting availability, lecture progress, course status, etc. The lecture schedule is intentionally light (as is typical of practicum courses) -- and there are no homework assignments or exams -- as there will be significant work to be done outside of class (i.e., the project development).

Students will take turns being the project lead and the secretary; each student will have each role for a "phase" (2-3 iterations, with each iteration being 2 weeks in length). Leads organize the meetings, and submit occasional reports on the group's progress. Secretaries take notes at the meetings.

The projects will be developed using an agile development methodology (a combination of XP, Rational, and Scrum). Web-based projects will likely use the CakePHP framework, although individual project requirements will vary.

The pre-requisite for the course is CS 2150.