Title: Effective Pedagogical Principles and Practices in Teaching Software Engineering through Projects
1Effective Pedagogical Principles and Practices
inTeaching Software Engineeringthrough Projects
- Valentin Razmov
- Dept. of Computer Science Engineering
- University of Washington
2My Goals
Inform
Involve
Inspire
3Outline
- Background, Context, and Goals
- Main Pedagogical Principles
- Learning Formula
- Practices Related to Doing
- Practices Related to Feedback
- Practices Related to Reflecting
4BackgroundCourse Goals and Organization
- Course Software Engineering (intro)
- Enrollments varied between 8 and 39
- Learning Goals How to work effectively in large
teams and deliver value on long-term projects - Organization
- Students work in teams of 6-8 on term-long
projects - Project milestones every 2.5 weeks
- Post-milestone events
- Informal feedback discussions and QA with
instructors - Anonymous peer feedback within teams
- Individual reflective writings on project-related
experiences
5Main Organizing Principles
- Giving students an opportunity to correct early
missteps - Blending soft topics into the curriculum
- Keeping open the bi-directional feedback channels
b/w students and instructor - Enabling prompt adjustments
- Having students own their decisions
- Keeping students motivation high and maintaining
their vested interest - Establishing a baseline for evaluating changes
between course offerings
6Learning Formula
- Learning (Doing Feedback Reflection)
- Synergy between the three components
- Positive feedback loop between them, not a fixed
contribution of each component - More/less of one element means more/less of the
others too
7Practices Related to Doing
- Incremental project deliveries
- Allows time to fail early, try again, and recover
- Builds confidence and creates space for feedback
- Early integration of project components
- a.k.a. zero-feature release
- Sets up all needed tools to work reliably
together - Use of professional tools
- Helps to recreate a realistic project environment
- Students propose and pick projects
- Increases dedication and gives students a stake
- A project is a playground for learning, not an
end goal
8Practices Related to FeedbackJust-in-Time
Feedback
- Increases relevance of feedback
- Feedback to/from students, to/from instructors
- Enables instructors to frequently see where
students are - Mechanisms
- Minute Paper
- Mid-term and end-of-term student surveys
- Reflective writings
- Anonymous feedback
- Classroom interaction systems (e.g., Classroom
Presenter)
9Just-in-Time Feedbackin Action
- Post-milestone in-class project retrospective
- Minute Paper using Classroom Presenter
10Just-in-Time Feedbackin Action (cont.)
- Student surveys
- Mid-term / end-of-term
- Specific questions to find out what worked well,
what did not work well, what changes may help - Goals evaluate risks, reveal surprises, and
compare with previous measurements - Survey evolution based on predictability of the
responses, need to elaborate on specific areas,
need to cover new themes/aspects featured in the
latest offerings
11Practices Related to FeedbackIterative Peer
Feedback
- Each student provides and receives feedback
- Automated collection, aggregation, and
dissemination of peer feedback results
12Practices Related to FeedbackFeedback on
Reflective Writings
- Feedback in electronic form
- Improves readability and speed
- Provides more space for comments
- Enables questions and answers in the same document
- Noting student grade could be separate
13Practices Related to Reflection
- Regular project and course retrospectives
- Goals
- Create a lasting record of what instructors
learned - A balanced, big picture view of course
- Formulate intention for change
- Transfer distilled lessons easily to other
instructors
14Practices Related to Reflection
- Regular project and course retrospectives
- Team size to promote need for communication
15Practices Related to Reflection
- Regular project and course retrospectives
- Team size to promote need for communication
- Timing reflective activities to capture
experiences - Shortly after project milestones works best
16Practices Related to Reflection
- Regular project and course retrospectives
- Team size to promote need for communication
- Timing reflective activities to capture
experiences - Shortly after project milestones
- Changing requirements reveals quality of design
- Possibly done as a thought exercise to avoid
chaos - E.g., localization
- Explicitly changing hats when switching roles
- Instructors play evaluator, coach, facilitator,
expert, customer - Motivating and carefully timing soft topics
17Summary of Results
- Distilled principles and practices to aid
(software) engineering instruction - Demonstrated practicality and positive effect in
a real course over multiple terms - Enabled steady incremental evolution of courses
- Selectively employed by different instructors in
several courses
18Acknowledgements
- Prof. Richard Anderson
- My colleagues and students at the University of
Washington - HP, Microsoft Research External Research
Programs, NSF
19Additional Resources
- Effective Feedback Approaches to Support
Engineering Instruction and Training in Project
Settings, by Valentin Razmov, PhD thesis, 2007.
20Discussion
Questions?