addressalign-toparrow-leftarrow-rightbackbellblockcalendarcameraccwchatcheckchevron-downchevron-leftchevron-rightchevron-small-downchevron-small-leftchevron-small-rightchevron-small-upchevron-upcircle-with-checkcircle-with-crosscircle-with-pluscrossdots-three-verticaleditemptyheartexporteye-with-lineeyefacebookfolderfullheartglobegmailgoogleimageimagesinstagramlinklocation-pinmagnifying-glassmailminusmoremuplabelShape 3 + Rectangle 1outlookpersonplusprice-ribbonImported LayersImported LayersImported Layersshieldstartickettrashtriangle-downtriangle-uptwitteruseryahoo

SoCal.js Message Board › Teaching Node.js

Teaching Node.js

Dave S.
user 12325611
Los Angeles, CA
Post #: 1
So I have a little different question. I'm a JS hacker and also a UCLA professor in humanities. That's a long story itself, but anyway, I'm teaching a class to a bunch of literature and history undergrad students that's going to involve some programming. I was going to teach them Python for server-side code and JS for web page stuff (i.e. doing graphs with D3.js), but I thought it might be easier to use Node.js and just teach them one language. Most of them won't have programmed at all, and I'm completely new to Node, but I have time to learn it. I've also taught nonprogramming students JS in about 10 weeks pretty well, but that was all client-side stuff.

My question is this: would you teach Node to someone who had never programmed before? Even though I've done a lot of AJAX, I'm a little intimidated by Node's asynchronous event model. I think it would be hard for my students to get it, too.

A related question: can you write basic Node code, like reading from files and databases, without callbacks? I know some Node libraries have synchronous APIs, but how common is that?

Anyway, thanks in advance for any help.
Glenn B.
hap2000
Moorpark, CA
Post #: 31
Jason Roberts of Tech Zing Live is working a program to help kids learn programming. It might be a bit to simplified, but than again it might be just perfect.

http://catalystacadem...­
http://catalystacadem...­
http://techzinglive.c...­
http://www.codusopera...­
David G.
user 5836611
Group Organizer
Los Angeles, CA
Post #: 1
Wow. Really awesome that you're doing this.

Ok, now onto your actual question:

In my experience syntax tends to be a sticking point for people new to programming, so I think you'll save some trouble by only having one language in the system.

Also, it seems like the focus is on the client. If you can really limit what you want them to do on the server, it should be fine. In other words, if only things the server needs to do are sending static files or acting as a thin database connector, you could give them enough copy/paste server code to get the job done and not have to worry about explaining the async event model.
Dave S.
user 12325611
Los Angeles, CA
Post #: 2
Glenn and David -- thanks so much for your suggestions. And sorry it's taken me so long to respond. I'll take a look at Catalyst--I have a friend who's used Code Academy for the same thing, so I'm curious how different Catalyst is. And as far as templates go, that was an idea I hadn't considered because there's going to be some analysis on the server side, but it might work if I give them templates that do the basic DB-connection/response-writing stuff. I'll give that a shot. Thanks!
Ryan
user 11905233
Los Angeles, CA
Post #: 2
Hey Dave,

In terms of your students understanding the concepts for server-side JavaScript, take a look at some sample screencasts here as I feel they're able to communicate their topics in general well: http://www.codeschool...­

The syntax I feel for non-programmers for Node.js may be a bit daunting but anyone with a little programming experience would be able to pick it up naturally.

Glenn and David -- thanks so much for your suggestions. And sorry it's taken me so long to respond. I'll take a look at Catalyst--I have a friend who's used Code Academy for the same thing, so I'm curious how different Catalyst is. And as far as templates go, that was an idea I hadn't considered because there's going to be some analysis on the server side, but it might work if I give them templates that do the basic DB-connection/response-writing stuff. I'll give that a shot. Thanks!

Powered by mvnForum

Our Sponsors

People in this
Meetup are also in:

Sign up

Meetup members, Log in

By clicking "Sign up" or "Sign up using Facebook", you confirm that you accept our Terms of Service & Privacy Policy