NodeFly Buzz: Real Time Web With Node.js

NodeFly Buzz aims to let everyone know about fun, cool and innovative uses of Node.js. And Code School provides education for web technologies, including Node.js. Since any resource that promotes Node.js is cool in our books, we reached out. Eric Allam, one of the professors of the “Real Time Web with Node.js” course on the Code School site, responded back to tell us about Code School and the Node.js course. But before we dig in, a bit about Eric from his site bio:

Eric is a late bloomer: he didn’t have his own computer until college, but when he discovered programming he fell in love, and hasn’t looked back since. An auto-didactic, he taught himself PHP and .NET but quickly moved onto Ruby when Rails first hit back in 2004. He was one of the first developers at the Orlando start-up Izea, but didn’t really hit his stride until coming over to the good folks at Envy Labs.

NodeFly: Code School is a browser-based resource to learn new technologies via video, challenges and screencasts. Could you tell us how this course became part of Code School? 

Eric Allam: We built some of our backend executors on Node.js (like the Backbone and jQuery courses) and it was a blast, so we decided to make a course for it. It was also something a lot of our subscribers wanted to learn and so it really was a no brainer.

image

NodeFly: The course Syllabus has seven levels, ranging from an introduction and bringing us through events, streams, modules, express, socket.io and persisting data. How did the syllabus come together? Were there other things you would have liked to focus on as well?

Eric Allam: There are some really cool interesting concepts in Node.js like non-blocking, streams and events that you will have to know no matter what you are using Node.js to build. So we knew we had to include those. Node.js also make building HTTP servers really easy and you can do some cool things in only a few lines of code (like streaming responses), not to mention that many of our subscribers are Web Developers (we started Code School mostly with Rails content), so we chose to focus on building out a simple HTTP app, even though Node.js can be used for much more than HTTP. I would have liked to have gone more into pure socket based applications and also gone more in depth into creating NPM modules since NPM is really one of the things that makes Node.js so great and fun to work with.

NodeFly: Are there any Node.js concepts or syllabus levels that students seem to find most challenging?

Eric Allam: Once you get streams, you get Node.js, but sometimes it takes a student a little while to get there. There is a kind of euraka! moment with Node.js once you get Streams, and it’s been really cool to see some of our students get there.

NodeFly: The course includes challenges that provide “hands-on” practice for students. How effective have the challenges been with helping your students master the concepts?

Eric Allam: Node.js actually fits in really well with our simple in-browser challenges. We try to empower our students by being able to immediately get hands on practice without having to go through the hoops of getting everything installed on their computers. And we try to make it fun, and since Node.js is fun just in itself, it was a really good fit.

NodeFly: In addition to auto-didactics, there are lots of other people out there who may be interested in this course and learning new technologies. What’s the feedback been like from students who have completed the course?

Eric Allam: We’ve had a lot of feedback from people who say things like they finally “get” Node.js. It think that is because there are a lot of new concepts in Node.js that people aren’t used to, and we really went to great lengths in our videos to try and lay out those concepts in ways that were intuitive. For example, here is one of my favorite reviews we got for the course:

I was trying to understand Node.js for a while, but this course really gave me a good grasp of what node.js really is. Gregg (Pollack, the second Node.js professor) started with very intuitive introductions and I close out with very nice working examples. I think these courses are really designed well and thought. I wish that our organization also had this kind to technology to train our staff and many people in the field. 

image

NodeFly: There are prerequisites for this course: intermediate knowledge of JavaScript, intermediate Programming Knowledge. Can you tell us about your other courses that can help provide a good foundation?

Eric Allam: I actually think that http://www.codecademy.com/ is a great place to get started with Javascript programming, and recommend people check that out if they’ve never done any Javascript at all. We are currently working on our own intro to Javascript course but we currently don’t have much to offer people in that regard. A lot of Node.js programmers came from the Rails world so it might not be a bad idea to learn some of Rails, and we have a couple courses (including an upcoming Rails 4 course) that you can check out here: http://www.codeschool.com/paths/ruby

NodeFly: In addition to teaching the world Node.js, you both have your plates pretty full. Anything you’d both like to share? Anything else Node.js-related in the pipeline?

Eric Allam: Nothing we can comment on at the moment but we are definitely not done teaching Node.js, especially with the release of v0.10.

NodeFly: Sounds great! Thanks for sharing, Eric!


If you’d like to take a look at the Node.js course, as well as other course offerings, go to the Code School web page and take a look around.

Want to tell us all about a company or project that rocks the Node.js world? Email us at feedback@nodefly.com!