Although the World-Wide Web was initially conceived as a vehicle for delivering documents, it is now being used as a platform for sophisticated interactive applications, displacing the traditional mechanism of installable binaries. Web-based applications offer numerous advantages, such as instant access, automatic upgrades, and opportunities for collaboration on a massive scale. However, creating Web applications requires different approaches than traditional applications and involves the integration of numerous technologies. This class will introduce you to the Web technologies and give you experience creating Web applications. In the process you will learn about markup languages, scripting languages, network protocols, interactive graphics, event-driven programming, and databases, and see how they all work together to deliver exciting applications.
II. HTML AND CSS
III. URLS AND LINKS
If you read my recent story “Codecademy and the Future of (Not) Learning to Code,” you’ll know that I believe strongly in (at least) two things related to ed-tech: we have to talk seriously about “what works” — you know, actual teaching and learning — and we have to talk seriously about what works “for whom.”
This is particularly true when it comes to teaching programming. The stakes are high, as it’s clear that technology will increasingly drive our culture, our schools, our work, our scientific discovery, our innovations and so on. We need to make sure everyone — and really I do mean everyone — has the requisite skills so that that future isn’t a “black box,” intimidating and inaccessible.
Ryan Seashore, the founder ofCodeNow has heard me rant about all of this before. We met a couple of weeks ago at the DC Startup Weekend EDU where he pitched an idea on building a Web-based tool — something akin to Codecademy perhaps — aimed at helping teach under-served youth how to program. That’s easier said than done, of course, and I don’t mean just technologically. How do you make sure that the program you’ve designed addresses the needs of a teenage African American girl with no programming know-how, for example, not just those of 20-something-year-old white male, with or without a CS degree but with ample experience coding. Seashore’s team did indeed build a working prototype for this over the course of the 54-hour-long Startup Weekend event.
But CodeNow is taking a multi-pronged approach to teaching high school-age kids to code, beyond just building that one tool. The non-profit, founded earlier this year, offers several programs, including free weekend training sessions and bootcamps. The weekend sessions, Seashore says, introduce programming not by emphasizing math and science skills — subjects in which students often have preconceived notions about their abilities — but by focusing on logic and computational thinking and, of course, by focusing on fun. The program is project-based too, which means that students work towards building something — a website, a game, an animation, and so on — not necessarily focusing on the programming languages that might get them there.
For the weekend training sessions, CodeNow uses tools like Scratch,Hackety Hack, and Lego Mindstorms. CodeNow is also working on curriculum that students can undertake on their own (this was part of what the team worked on during Startup Weekend EDU) — but one that keeps them in contact with their peers and mentors. CodeNow’s bootcamp will offer a longer, more intensive training in Ruby. Students who complete the entire program get a free netbook, as well as access to an alumni network and other internship and mentoring opportunities.
While it’s focused on the DC area currently, Seashore says he hopes to be able to expand the program to other cities soon.