Yesterday I returned home from the SIGCSE 2013 Technical Symposium in my hometown of Denver, Colorado. This is the forth time I've been able to attend this conference which brings together over a thousand CS educators to share the latest research and innovations in computing education. This year's conference was very insightful, and it was especially nice being back in the city I grew up in. The sun was shining with a comfortable 65 degrees when the conference began, and it was snowing heavily on the final day. You just don't get weather like that in Arkansas.
I quickly wanted to jot down some of the take-away points:
- Use Live Coding whenever possible, and avoid discussing completed programs which bore the daylights out of students. I currently write a lot of code on the board, but I'm becoming convinced that my students might be better off if they watched me actually code in the IDE and run it.
- Start using version control in my upper level courses since it makes working in teams much easier, and employers are looking for students who are comfortable using it.
- Introduce user experience (UX) evaluations in my GUI course. We talk about how the user feels theoretically quite often in the course, but it can be a real eye-opener to witness what a real user thinks about your software in a formal evaluation setting.
- Integrate one of the nifty assignments or something similar into my CS1 course. I especially like the Twitter Trends assignment which introduces students to Data Science. As the moderator reminded us, "The one thing students are most likely to remember about your course are the projects."
- The next time I teach a game programming course, use the Kinect which has a great SDK and is available to educators for $150.
- Will MOOCs be the end of the traditional university? Short answer: No
- The inverted classroom seems to me to be the future of education. I would love to try it, but I can only imagine the amount of time it must take to create all those videos. Three years ago I spent a few months creating instructional videos for a book publisher, and it turned out to be a much more time-consuming task than I had originally envisioned, especially for a perfectionist like me. And the problem with CS is that our tools and topics seem to always be in flux, so a video may only last you a few years.
- Harvard's CS50 course has got some great online notes and is even filmed. Next time my CS1 students complain my course is too hard, I'll point them to the CS50 website.
- Microsoft's TouchDevelop is promising for writing mobile apps, but it frustrated me when I tried to use it. For students who are new to programming, it might not be that bad.
- Zyante's animated, interactive textbooks are intriguing. Must evaluate further for my CS1 course.
Finally, it was good to see some old friends. For those Denver friends I did not get a chance to see, I'm sorry, but I hope to return soon with my family and catch up with more of you.
Thanks for the nice summary.
ReplyDeleteI'll admit that I hate the use of the term "Live Coding" in the "Code in front of your class" context. The term already has a long history as a performative art. (I see that the paper the author cites uses "Live programming", which)
Samuel, you need to think of a better term for it that will catch on with computing educators. Face Coding? Try-To-Stay-Awake-While-I-Code Coding?
ReplyDelete