Live data from Hacker News

Ask HN: How would you teach web development to college students?

news.ycombinator.com

21–30 of 48 posts

Re: Ask HN: How would you teach web development to college students?

#21
post #17

So, this is web development in general, not specifically CS software engineering, or electrical engineering, right? Some thoughts, mostly motivated by experience of both what I'd wish I'd known and also in mentoring at Rails Girls and similar community events: ~ Spend some time to explain how the modern web works. Go to " http://www.example.com" and talk about the series of requests that are made (socket, IP, DNS, HT…

I don't know that explaining all of how the web works initially would catch the interest of the 2/3s of the people who aren't CS majors. A lot of people would probably get bored really quickly and stop showing up.

OP wanted suggestions for how to teach it--was just relaying what I thought would be useful.

A simple "How to set up your own website" would be a good opener, and you could get Blue Host (over in Provo) to probably sponsor hosting.

Re: Ask HN: How would you teach web development to college students?

#22
post #20

So, this is web development in general, not specifically CS software engineering, or electrical engineering, right? Some thoughts, mostly motivated by experience of both what I'd wish I'd known and also in mentoring at Rails Girls and similar community events: ~ Spend some time to explain how the modern web works. Go to " http://www.example.com" and talk about the series of requests that are made (socket, IP, DNS, HT…

This is incredibly helpful. Thanks! > So, this is web development in general, not specifically CS software engineering, or electrical engineering, right? We really just want to encourage people to get together and build stuff, but the weekly lessons will teach web development. It'd be great to expand to other areas (especially hardware) in the future. > Make sure that students are actually doing stuff for everything…

See my other reply--you can probably get Bluehost (Provo lol) to sponsor some server time or little VPSes for people to play with.

I think the idea of lecture + lab is exactly the right way to play this.

Re: Ask HN: How would you teach web development to college students?

#23
post #17

So, this is web development in general, not specifically CS software engineering, or electrical engineering, right? Some thoughts, mostly motivated by experience of both what I'd wish I'd known and also in mentoring at Rails Girls and similar community events: ~ Spend some time to explain how the modern web works. Go to " http://www.example.com" and talk about the series of requests that are made (socket, IP, DNS, HT…

I don't know that explaining all of how the web works initially would catch the interest of the 2/3s of the people who aren't CS majors. A lot of people would probably get bored really quickly and stop showing up.

I think can definitely be done if it's taught quickly. Much of that can be condensed into 10 minutes then taught again when people are starting to get the hang of things.

Re: Ask HN: How would you teach web development to college students?

#24
post #17

Earlier quoted context omitted.

I don't know that explaining all of how the web works initially would catch the interest of the 2/3s of the people who aren't CS majors. A lot of people would probably get bored really quickly and stop showing up.

OP wanted suggestions for how to teach it--was just relaying what I thought would be useful. A simple "How to set up your own website" would be a good opener, and you could get Blue Host (over in Provo) to probably sponsor hosting.

Right, suggestions on how to teach it, when most of the audience doesn't have a technical background...

As for "How to setup your own website", I think that shouldn't be the first thing, but close to the first thing. I think making simple HTML pages (and maybe a tiny bit of CSS) would be better first.

Also, I don't know if Binghamton has hosting for students, but some colleges do. It might be worth asking, even if it's not generally available, you have a sizable number of students, and you're doing something the University might like and think looks nice publicly.

Re: Ask HN: How would you teach web development to college students?

#25
post #20

Earlier quoted context omitted.

This is incredibly helpful. Thanks! > So, this is web development in general, not specifically CS software engineering, or electrical engineering, right? We really just want to encourage people to get together and build stuff, but the weekly lessons will teach web development. It'd be great to expand to other areas (especially hardware) in the future. > Make sure that students are actually doing stuff for everything…

See my other reply--you can probably get Bluehost (Provo lol) to sponsor some server time or little VPSes for people to play with. I think the idea of lecture + lab is exactly the right way to play this.

I'd love to teach Git and Github but I think that'll a bit complicated for the non-CS majors.

And I like the web hosting idea. Who are the non-evil web hosts and registrar's nowadays?

Do you think we should just go with one and encourage them to FTP everything?

Re: Ask HN: How would you teach web development to college students?

#26
First I would ditch any notion of teaching back end programming and focus on front-end only [0]. The things you can do with, and are required to learn and master to be good with, HTML/CSS/Javascript are so extensive and deep that alone could be overwhelming to people new to web development. So, first and foremost just focus the course on frontend technologies (and feel free to use things like Coffeescript or Clojurescript instead of Javascript, they probably make better teaching languages than the wtf-laden JS).

Also, if 2/3 are non-CS majors, you're going to need to teach basic problem-solving and analytical thinking skills. Teach and reinforce the basic problem solving process of taking a complex problem (or programming objective) and breaking down into its component parts, solving each, finding multiple solutions if possible, then building it back into a whole again. Set expectations of multiple possible answers, of hacking at the problem till you start grokking it, etc. It's not about getting that one right answer, it's about getting something that works then continually improving it. Learning programming carries a lot of frustration which can be very off-putting and demoralizing, so ingraining the expectations, problem-solving skills, and habits needed to overcome that is crucial (and also a super general life skill).

Look into using platforms designed for teaching like Processing [1] and its JS version Processing.js [2]. Also see if you can find teaching-oriented stuff around D3.js and/or Canvas. Programming visualizations is one of the more fun and rewarding pure front-end web activities students can do, plus makes for nice portfolio sites, and there's a legit job market for it.

Finally, consider adopting Salman Kahn's approach of the "inverted classroom" - have the students watch video lectures or read the texts for homework, and spend every second of classtime programming with teacher/expert supervision and guidance. The old days of sitting in a classroom being lectured at and then having to go home and do the actual practice on your own without immediate feedback are a total anachronism now, imho.

[0]: Though I might make an exception for Scheme per the essay "A Scheme Story" linked at the end of PG's essay "Beating the Averages" (http://paulgraham.com/avg.html).

[1]: http://processing.org/

[2]: http://processingjs.org/

[3]: http://d3js.org

[4]: http://updates.html5rocks.com/tag/canvas

Re: Ask HN: How would you teach web development to college students?

#27
post #25

Earlier quoted context omitted.

See my other reply--you can probably get Bluehost (Provo lol) to sponsor some server time or little VPSes for people to play with. I think the idea of lecture + lab is exactly the right way to play this.

I'd love to teach Git and Github but I think that'll a bit complicated for the non-CS majors. And I like the web hosting idea. Who are the non-evil web hosts and registrar's nowadays? Do you think we should just go with one and encourage them to FTP everything?

See if you could get your university to give you some web space and FTP access. It'd be the cheapest route.

Re: Ask HN: How would you teach web development to college students?

#28
post #25

Earlier quoted context omitted.

See my other reply--you can probably get Bluehost (Provo lol) to sponsor some server time or little VPSes for people to play with. I think the idea of lecture + lab is exactly the right way to play this.

I'd love to teach Git and Github but I think that'll a bit complicated for the non-CS majors. And I like the web hosting idea. Who are the non-evil web hosts and registrar's nowadays? Do you think we should just go with one and encourage them to FTP everything?

dkuntz has the right idea--if BU IT can hook you guys up with a box that'd be ideal:

https://it.byu.edu/byu/help.do?&sysparm_document_key=kb_know...

My alma mater gave everyone Unix accounts with public www folders by default, but I don't know if that's the case for you guys.

Tell the kids to use FTP, SCP, or whatever is easiest--test it out yourself and get it working. FTP can be quite easy, but make sure you can walk them through whatever workflow you decide on.

Re: Ask HN: How would you teach web development to college students?

#29
post #12

Speaking of what I would love to do as a college student, I think it would be awesome if a professor was doing something as a challenge against me. Meaning, I think a lot of time students are told to learn by the professor explaining some of the most basal subjects that we all take for granted anyways (like server architecture, HTTP, etc) and not getting to the juicy cool stuff that we can all do with the web. What m…

I do like the idea but I'm worried that people would lose interest if we spent too much time on code I wrote.

I think there is value in that though and might incorporate some personal projects and existing into the lecture.

Re: Ask HN: How would you teach web development to college students?

#30
post #25

Earlier quoted context omitted.

I'd love to teach Git and Github but I think that'll a bit complicated for the non-CS majors. And I like the web hosting idea. Who are the non-evil web hosts and registrar's nowadays? Do you think we should just go with one and encourage them to FTP everything?

dkuntz has the right idea--if BU IT can hook you guys up with a box that'd be ideal: https://it.byu.edu/byu/help.do?&sysparm_document_key=kb_know... My alma mater gave everyone Unix accounts with public www folders by default, but I don't know if that's the case for you guys. Tell the kids to use FTP, SCP, or whatever is easiest--test it out yourself and get it working. FTP can be quite easy, but make sure you can wa…

Also, you might have better luck talking to the administration over the IT guys. My experience with IT guys has been "the policy must be followed... Unless someone higher up says otherwise".
Post reply on HN