First, some context. The course is on Database Design. If you haven't closed your browser window yet, thank you. Their project involved creating a database of their own choosing (i.e. to store their own data). I have 13 students who all chose to model 13 different things including: music libraries, web design client tracking, movies, TV shows, a room booking system, ski team participant tracking and more. The course ran for 4 weeks, 5 hours a day, 5 days a week (I know, seems like the ironman/woman of courses).
My rationale in allowing students to create a database of their own choosing is it allows them the freedom to model data they understand. One of the challenges facing a database designer is understanding the client's data, the relationships it has with other data, and their requirements for processing/viewing the data. If I allow students to model their own data, I effectively remove that roadblock from their learning allowing them to focus on learning the language and art (yes, there is art in database design) of designing databases. Had I assigned them a 'canned' database to design, they would not only have to learn how to design a database but also have to wrap their heads around data that is not their own. That is two strikes too many in my books.
I provide a basic outline of what I want (divided into phases and then a final submission to help them stay on track - description can be seen here). I try to make each phase as open as possible.
Now some reflections:
- I find students have reservations about starting a PBL task. I think this comes from the fact that I am not providing them with everything they need to begin. I am asking them to fill in the details. However, once the ball gets rolling, I find students begin to go above and beyond the project requirements and become very invested in their databases.
- I attempted to restrict the students too much by forcing them to create certain items for their databases. My issue was I wanted them to do everything we discussed in class to 'try it out'. However, it ended becoming an academic exercise as they tried to create solutions for my requirements that fit their databases. This violated the purpose of the project as I laid it out for my students: to apply their learning to a real-world context. In their second project, I tried to relax the restraints and allow students the flexibility of choosing what they wanted to implement. This of course means some students will not be able to do all the of the items I teach, which I know is fine in one part of my brain. However, another part is having a bit of a tough time letting go of the idea that everything that is taught must be used.
- Next time I will stop grading the intermediate phase submissions. I think the allocation of a grade here may be preventing students from completely digesting the copious amounts of feedback I include. Instead, I will only provide a grade on the final submission (part of the requirements for the final submission is to apply the feedback given in the phases). I am currently pondering some sort of level system (On Track, Not On Track) but I worry that that is no better than a grade. I think I may go cold turkey and not provide any sort of numerical/psuedo-numerical label and only provide written feedback/suggestions.