-
Notifications
You must be signed in to change notification settings - Fork 15
/
sigcse-2014.html
188 lines (160 loc) · 7.31 KB
/
sigcse-2014.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>SIGCSE 2014: A Service Learning Practicum Capstone</title>
<meta name="description" content="A Service Learning Practicum Capstone">
<meta name="author" content="Aaron Bloomfield">
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<link rel="stylesheet" href="../slides/reveal.js/css/reveal.min.css">
<link rel="stylesheet" href="../slides/reveal.js/css/theme/default.css" id="theme">
<link rel="stylesheet" href="../slides/css/slp.css">
<link rel="stylesheet" href="../slides/reveal.js/lib/css/zenburn.css"><!-- For syntax highlighting -->
<script><!-- If the query includes 'print-pdf', use the PDF print sheet -->
document.write( '<link rel="stylesheet" href="../slides/reveal.js/css/print/' + ( window.location.search.match( /print-pdf/gi ) ? 'pdf' : 'paper' ) + '.css" type="text/css" media="print">' );
</script>
<!--[if lt IE 9]>
<script src="../slides/reveal.js/lib/js/html5shiv.js"></script>
<![endif]-->
<!-- <style>
.reveal li {
font-size:80%;
line-height:120%;
}
</style> -->
</head>
<body>
<div class="reveal">
<div class="slides">
<section data-markdown><script type="text/template">
# A Service Learning Practicum Capstone
## SIGCSE 2014
<center>[Aaron Bloomfield](http://www.cs.virginia.edu/~asb), The University of Virginia</center>
<center>[Mark Sherriff](http://www.cs.virginia.edu/~sherriff), The University of Virginia</center>
<center>Kara Williams, [The Center for Nonprofit Excellence](http://thecne.org)</center>
</script></section>
<section data-markdown><script type="text/template">
## Service Learning Practicum (SLP)
- Main info page: http://www.cs.virginia.edu/~asb/slp
- Including lists of all the projects
- Course materials: http://github.com/aaronbloomfield/slp
- A work in progress!
- Viewable online at http://aaronbloomfield.github.io/slp
- Paper: http://dl.acm.org/citation.cfm?id=2538862.2538974
</script></section>
<section data-markdown><script type="text/template">
## Service Learning Practicum (SLP) Goals
1. To create a year-long software engineering capstone experience for senior CS undergraduates
2. To give back to the community by developing software for local nonprofits
</script></section>
<section>
<h2>The SLP Cycle</h2>
<img src="sigcse-2014/slp-cycle.png" alt="SLP cycle" class="stretch">
</section>
<section data-markdown><script type="text/template">
## Who
- Team of 6 or 7 senior undergraduates
- Customer team member
- One mentor
- (and the course instructor, obviously)
This praticum was done in conjunction with [The Center for Nonprofit Excellence](http://thecne.org)
</script></section>
<section data-markdown><script type="text/template">
## Technologies used
- MVC frameworks: [CakePHP](http://cakephp.org/) or [Ruby on Rails](http://rubyonrails.org/)
- Source code control: [subversion](http://subversion.apache.org/) or [git](http://git-scm.com/)
- Note that [github](https://github.com/) has licensing issues!
- Front-end framework: [jQuery UI](https://jqueryui.com/) or [Twitter Bootstrap](http://getbootstrap.com/)
- Development management: [Redmine](http://www.redmine.org/)
- Testing: [PHPUnit](http://phpunit.de/http://phpunit.de/) or Rails unit testing ([built-in](http://guides.rubyonrails.org/testing.html) or [RSpec](http://rspec.info/)); [Jenkins](http://jenkins-ci.org/)
- Database: [MySQL](http://www.mysql.com/)
</script></section>
<section data-markdown><script type="text/template">
## Development Methodology
- Combines aspects of Rational, Scrum, and XP
[![scrum diagram](sigcse-2014/Scrum_process.svg)](http://en.wikipedia.org/wiki/File:Scrum_process.svg)
</script></section>
<section data-markdown><script type="text/template">
## Legal Issues
The legal agreement between the students and the nonprofit:
- no warranty
- perpetual
- non-commercial
- non-distributable
- non-revocable
- allow for modification of the software
- would not infringe on the students' ownership of their code
Other issues: instructor provided software, [GPL](https://www.gnu.org/copyleft/gpl.html) code usage
</script></section>
<section data-markdown><script type="text/template">
## Obtaining Feedback
- Reports each (2-week) iteration:
- Weekly report
- Termination and Post-reflection of Sprint report ([TPS report](http://en.wikipedia.org/wiki/TPS_report#In_popular_culture))
- Meeting report(s)
- Customer and mentor "check-in" reports
- Surveys througout the year:
- Beginning of semester survey
- End of phase survey (6)
- End of year survey
</script></section>
<section>
<h2>Sample project: Women's Initiative scheduler</h2>
<img src="sigcse-2014/twi-screenshot.png" alt="TWI screenshot" class="stretch">
</section>
<section>
<h2>Sample project: Micro-volunteer website</h2>
<img src="sigcse-2014/cne-screenshot.png" alt="CNE screenshot" class="stretch">
</section>
<section data-markdown><script type="text/template">
## Lessons Learned
- Customer involvement
- Project start-up and transition
- Maintenance
- Requirement solicitation
</script></section>
<section>
<h2>Ideal Burndown Chart</h2>
<img src="sigcse-2014/burndown-ideal.png" alt="ideal burndown" class="stretch">
</section>
<section>
<h2>Actual Burndown Chart</h2>
<img src="sigcse-2014/burndown-actual.png" alt="actual burndown" class="stretch">
</section>
</div>
</div>
<script src="../slides/reveal.js/lib/js/head.min.js"></script>
<script src="../slides/reveal.js/js/reveal.min.js"></script>
<script>
// Full list of configuration options available here:
// https://github.com/hakimel/reveal.js#configuration
Reveal.initialize({
controls: true,
progress: true,
history: true,
center: true,
slideNumber: true,
theme: Reveal.getQueryHash().theme, // available themes are in /css/theme
transition: Reveal.getQueryHash().transition || 'default', // default/cube/page/concave/zoom/linear/fade/none
// Parallax scrolling
// parallaxBackgroundImage: 'https://s3.amazonaws.com/hakim-static/reveal-js/reveal-parallax-1.jpg',
// parallaxBackgroundSize: '2100px 900px',
// Optional libraries used to extend on reveal.js
dependencies: [
{ src: '../slides/reveal.js/lib/js/classList.js', condition: function() { return !document.body.classList; } },
{ src: '../slides/reveal.js/plugin/markdown/marked.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
{ src: '../slides/reveal.js/plugin/markdown/markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
{ src: '../slides/reveal.js/plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } },
{ src: '../slides/reveal.js/plugin/zoom-js/zoom.js', async: true, condition: function() { return !!document.body.classList; } },
{ src: '../slides/reveal.js/plugin/notes/notes.js', async: true, condition: function() { return !!document.body.classList; } }
]
});
</script>
</body>
</html>