The interview below is a part of a series on New ATDP Courses for 2013. Shawn McDonald and Sam Pierce discuss their upcoming course, Web Development (AIC). (See course description.)
What is Web Development, and how is it different from advanced web design courses that ATDP has offered in the past? What will students be able to do by the end of the course?
Sam: So for those who were around in the 1990s and remember what the Internet looked like then, you can see how much the online environment has evolved. ATDP’s web design courses have had to evolve as well. Over the last three years, the “Elements of Web Design” class has matured and now covers more than twice as much as its original curriculum did when the course was introduced as “The Internet Classroom” (TIC) in 1996. And even now, at the end of our six grueling weeks, there’s a feeling among the students that we’ve only scratched the surface; indeed, today’s teenagers know well the potential capabilities of a contemporary website. So there is a clear and strong impulse to take the next step, into dynamic web applications. That’s why we want to reboot ATDP’s “Advanced Internet Classroom” (AIC).
Shawn: Which I took a decade ago, when it was last offered.* It wasn’t a programming course. It mostly was focused on more advanced CSS and HTML.
Sam: And then at the end, maybe you’d talk about how you could combine HTML with programming. This time, we want to start the course there, not end there.
Shawn: We want to kick it up a notch by adding JavaScript and PHP. We’re more focused on creating computer scientists.
Sam: And they’ll have opportunities to focus on their interests, whether that be database design (for future information scientists), advanced HTML5 scripting (future game designers), or backend development (future Mark Zuckerbergs). We’ll cover client-side code, server-side code, and students will become proficient enough to create truly dynamic, interactive websites.
Shawn: Yeah, you could build your own blog or poll. But not only that, if you can learn two languages in six weeks, maybe your next project is learning the WordPress API and building a plugin. Or maybe you’ll tackle Ruby on Rails or Django, which are both popular web frameworks. In that sense, it’s similar to the old course, where students went on to build cool things on their own.
*While we attempted to bring AIC back in 2010, it was merely a more advanced option which shared a large part of its curriculum with the beginner class. So few students enrolled that we ended up teaching both classes together.
Who should take this course?
Shawn: Someone who wants to make awesome things on the Internet.
Sam: I’d say, ideally, they’ll have both a sharp eye for detail and that motivation to create. He or she should be capable of independent study while also enjoying collaboration with others.
Shawn: We also require knowledge of HTML and CSS, plus one programming language. So, if you took Elements of Web Design and a semester of Java at school, you’re ready to go. We really want students who will take what they learn and go make things even after the course.
What are you most looking forward to about approaching this topic with ATDP students?
Shawn: I’m pretty excited to see what they will end up making. ATDP students impress me with their combination of motivation and talent. I mean, I’ve seen some amazing things in past years from students in the web design course, so I can’t wait to see what students do with more advanced tools.
Sam: Definitely. I’m also really excited to see how we can learn from the students, as a class. We’re going to be covering a broad range of technologies, and since we could easily teach an entire course on each one, I’m hopeful that students will latch on to what makes them cool or useful or unique and then share the tricks or techniques that they discover with the class. Where most computer science classes give a guided tour from entrance to exit, I would liken our approach in AIC more to a spelunking survey through the various languages, with a periodic regrouping at base camp to see how we can combine what we’ve unearthed with what we already know.
Tell me a little bit about your experience with ATDP computer courses. What sticks with you about those experiences and what will you carry with you into this new course?
Sam: What I’ve seen so far suggests that real learning in computer science can only happen with a keyboard. It needs to be hands-on. Accordingly, I’ve been deemphasizing what I do as lecture, trying to shift more of that to the student’s home preparations, so they can come to the lab ready to get their hands dirty. A trending adage in software development is to “fail early, fail fast, and fail often.” I hope our students are ready to make mistakes, because figuring out why something isn’t working turns out to be more illuminating than simply learning how something is meant to work. If we get together for this web development class and all our code turns out to be completely broken, that’s a good sign: there will be no shortage of lessons to learn. And laughing.
Shawn: Laughing at the students?
Sam: With! Laughing with the students!
Shawn: Right.
Sam: No coding without a sense of humor. That’s a rule I just made up.
Shawn: And that’s another thing that was great about the The Internet Classroom, the sense of community. I hope we can build more of that by adding an advanced course.
Sam: Mm, since it’s a direct continuation from TIC [Elements of Web Design].
Shawn: There are progressions in the math and reading courses, and now we’re creating a track for the computer science department. Kids can see some familiar faces with similar interests.