ABSTRACT
For the past four years, we have taught a reimagined software design course with typical and atypical components. Projects form the core of the course: Students work in teams of 4-6 people to develop non-mission-critical software for local non-profits, building their engagement with the community and helping them understand the broader impact of their work. These projects require multiple semesters to complete. Since students typically enroll for the course for one semester, this model gives students the novel experience of legacy software. We also provide each team with an alumni mentor who helps them navigate not only technical problems but also the challenges of working with a real-world, non-technical client. These aspects of the course also develop our students' soft skills. They learn to work with a team, to communicate with non-technical clients, to work with remote collaborators (or mentors), and to think ahead to those who will take on the project in the next semester. As we tell our students, these skills are often as crucial as their technical skills. In this paper, we report on the design of the course and describe some of the challenges associated with this model (e.g., projects that inadvertently reveal information, clients who switch management or expectations, and projects that become obsolete) and provide suggestions for those who might want to adopt a similar approach.
- Association for Computing Machinery (ACM) and IEEE Computer Society Joint Task Force on Computing Curricula. 2013. Computer Science Curricula 2013: Curriculum Guidelines for Undergraduate Degree Programs in Computer Science. ACM, New York, NY, USA. 999133. Google ScholarDigital Library
- Grant Braught, John Maccormick, James Bowring, Quinn Burke, Barbara Cutler, David Goldschmidt, Mukkai Krishnamoorthy, Wesley Turner, Steven Huss- Lederman, Bonnie Mackellar, and Allen Tucker. 2018. A Multi-Institutional Perspective on H/FOSS Projects in the Computing Curriculum. ACM Trans. Comput. Educ. 18, 2, Article 7 (July 2018), 31 pages. Google ScholarDigital Library
- Michael Buckley, Helene Kershner, Kris Schindler, Carl Alphonce, and Jennifer Braswell. 2004. Benefits of Using Socially-relevant Projects in Computer Science and Engineering Education. In Proceedings of the 35th SIGCSE Technical Symposium on Computer Science Education (SIGCSE '04). ACM, New York, NY, USA, 482--486. Google ScholarDigital Library
- Edward J. Coyle, Leah H. Jamieson, and William C. Oakes. 2006. 2005 Bernard M. Gordon Prize Lecture: Integrating Engineering Education and Community Service: Themes for the Future of Engineering Education. Journal of Engineering Education 95, 1 (2006), 7--11. arXiv:https://onlinelibrary.wiley.com/doi/pdf/10.1002/j.2168- 9830.2006.tb00873.xGoogle ScholarCross Ref
- Armando Fox. 2014. Using MOOCs to Reinvigorate Software Engineering Education (Keynote). In Companion Proceedings of the 36th International Conference on Software Engineering (ICSE Companion 2014). ACM, New York, NY, USA, 255--255. Google ScholarDigital Library
- Armando Fox and David Patterson. 2014. Engineering Software as a Service: An Agile Approach Using Cloud Computing. Strawberry Canyon LLC.Google Scholar
- I. A. Garcia and C. L. Pacheco. 2014. Using TSPi and PBL to Support Software Engineering Education in an Upper-level Undergraduate Course. Comput. Appl. Eng. Educ. 22, 4 (Dec. 2014), 736--749. Google ScholarDigital Library
- Paul Gestwicki. 2018. Design and Evaluation of an Undergraduate Course on Software Development Practices. In Proceedings of the 49th ACM Technical Symposium on Computer Science Education (SIGCSE '18). ACM, New York, NY, USA, 221--226. Google ScholarDigital Library
- Grinnell College. {n. d.}. Mission statement. Online document available at https://www.grinnell.edu/about/mission.Google Scholar
- Michael Hartl. 2016. The Ruby on Rails Tutorial, 4th Edition. Addison-Wesley.Google Scholar
- David K. Lange, Roger C. Ferguson, and Paul M. Leidig. 2011. An Update on the Use of Community-based Non-profit Organizations in Capstone Projects. In Proceedings of the 16th Annual Joint Conference on Innovation and Technology in Computer Science Education (ITiCSE '11). ACM, New York, NY, USA, 372--372. Google ScholarDigital Library
- Paul M. Leidig, Roger Ferguson, and Jonathan Leidig. 2006. The Use of Community-based Non-profit Organizations in Information Systems Capstone Projects. In Proceedings of the 11th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education (ITICSE '06). ACM, New York, NY, USA, 148--152. Google ScholarDigital Library
- Chang Liu. 2005. Enriching Software Engineering Courses with Service-learning Projects and the Open-source Approach. In Proceedings of the 27th International Conference on Software Engineering (ICSE '05). ACM, New York, NY, USA, 613--614. Google ScholarDigital Library
- Shaoying Liu, Kazuhiro Takahashi, Toshinori Hayashi, and Toshihiro Nakayama. 2009. Teaching Formal Methods in the Context of Software Engineering. SIGCSE Bull. 41, 2 (June 2009), 17--23. Google ScholarDigital Library
- Sandi Metz. 2012. Pratical Object-Oriented Design in Ruby: An Agile Primer. Addison-Wesley. Google ScholarDigital Library
- Lori Postner, Heidi J.C. Ellis, and GregoryW. Hislop. 2018. A Survey of Instructors' Experiences Supporting Student Learning Using HFOSS Projects. In Proceedings of the 49th ACM Technical Symposium on Computer Science Education (SIGCSE '18). ACM, New York, NY, USA, 203--208. Google ScholarDigital Library
- Elizabeth Sweedyk. 2011. How Middle School Teachers Solved Our SE Project Problems. In Proceedings of the 2011 24th IEEE-CS Conference on Software Engineering Education and Training (CSEET '11). IEEE Computer Society,Washington, DC, USA, 449--453. Google ScholarDigital Library
- Elizabeth Sweedyk and Robert M. Keller. 2005. Fun and Games: A New Software Engineering Course. In Proceedings of the 10th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education (ITiCSE '05). ACM, New York, NY, USA, 138--142. Google ScholarDigital Library
- Ursula Wolz and Sarah Monisha Pulimood. 2007. An Integrated Approach to Project Management Through Classic CS III and Video Game Development. In Proceedings of the 38th SIGCSE Technical Symposium on Computer Science Education (SIGCSE '07). ACM, New York, NY, USA, 322--326. Google ScholarDigital Library
Index Terms
- Developing Soft and Technical Skills Through Multi-Semester, Remotely Mentored, Community-Service Projects
Recommendations
Ideas for adding soft skills education to service learning and capstone courses for computer science students
SIGCSE '11: Proceedings of the 42nd ACM technical symposium on Computer science educationSoft skills such as communication, teamwork, and organization are important to students' future success in the working world. Faculty members know it, students know it, and employers are explicitly asking for these skills. Are computer science ...
Teaching and learning computer science soft skills using soft skills: the students' perspective
SIGCSE '14: Proceedings of the 45th ACM technical symposium on Computer science educationThis paper continues a previous paper [1] in which we described students' gradual understanding of computer science (CS) and software engineering (SE) soft skills. Our study focused on a course we taught on soft skills in CS and SE, offered by the ...
Integrating hard and soft skills: software engineers serving middle school teachers
SIGCSE '12: Proceedings of the 43rd ACM technical symposium on Computer Science EducationWe have developed and implemented, over four semesters, a model for engaging computer science majors in service learning for teachers of grades 6-8 at a K-8 school in an underserved community. This paper describes the design of a course focused on ...
Comments