I've just finished teaching a seven week course called Fundamentals of Web Development. Its an introductory course for potential CS majors and non-majors alike. I enjoyed teaching this course, but I learned something that I think has been right in front of me for years, that became very apparent with this particular mix of students. Google, Stack Overflow, and the like were creating chaos for these students.
It was toward the end of the seven weeks when this little epiphany happened for me. We were working on a todo list web application. Its a nice practical example that uses just enough HTML, CSS, and Javascript to tie everything together. But, it has enough complexity that it really challeges some of the students who only have 5 weeks worth of computer science behind them.
My style in this class is to talk about some concepts in class, and then do some implementation of the next phase of the project. Just to get them started, and then have them try to finish up the next phase as a homework project before the next class meeting. My goal is to have everyone with a working app, something they can show their friends and family and something that feels useful to them.
What happened was that I saw a stream of students coming into my office with all manner of code. Most of it way beyond anything I would teach in this course. They were totally confused about how they should know some of the things they had obviously copied from some examples on the Internet.
So I asked a few of them how they found this stuff. They said "I googled javascript todo list." I don't prohibit students from using Google, but I do remind them that their work needs to be their own, and that if they don't understand the code they find, then its probably not a good idea to use in any way. Yeah, Right.
So, I googled "javascript todo list." Here's what I found.
- Top hit TodoMVC -- Nope, we are not ready for MVC yet at all.
- Next Building a Todo List with jQuery and localStorage Nope, we are not going down the jQuery path either.
- Next stackexchange - building a simple todolist application -- This one starts out by creating a TaskList object and then a Task object, and so forth. Again this is much more complicated than we are ready for.
And on it goes.
The problem is all of these examples are way beyond where we are at, and are all using techniques different from the simple techniques that I have taught them in class. So rather than being a help, Google is ending up sending these students into a rabbit hole from which they are not equipped to find their way out. The more I thought about it, the more I realized how often this probably happens in other introductory CS courses.
Forty Two Says Deep Thought
The problem isn't that google is bad, the problem is that these students are not equipped to ask the right question to get a helpful answer. So this has really got me wondering how others handle this situation.
- Should I insist that they come and talk to me if they are confused rather than Googling?
- Do I outlaw using Google to get hints?
- Should I point them at some resources that are more appropriate?
- Should I be spending time teaching them the appropriate ways to search for help?
- Start a project to create a StackOverflow like site for computer science students that would give an answer appropriate to the students skill level?
Googling and using StackOverflow are good skills for a computer scientist to have, but for the first time, I'm thinking that teaching some search engine literacy in computer science may be worth some time. I'm very interested to hear the experiences of my other colleagues.
Comments
comments powered by Disqus