Live data from Hacker News

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

news.ycombinator.com

41–48 of 48 posts

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

#41
Hi, I'm a non-CS major at BU on a throwaway account. Don't worry, you're not alone.

We can SSH onto an Ubuntu server named HARVEY to test Linux versions mySQL, PERL, PHP, Python, Ruby and display our own web pages.

http://harvey2.binghamton.edu/

We also have access to an FTP site for software like Mathematica, Maple, and Matlab, and there is another page for access to a bunch of VMs that have certain software packages on them. Look at ssl.binghamton.edu.

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

#42
I would focus on JavaScript. No CoffeeScript [1]. Start with basic HTML and CSS on the frontend; nothing fancy with HTML/CSS yet, just a couple of workshops. Then basics of JavaScript. Then jQuery (leave the DOM for another day). Then you can consider branching out into select (can't cover them all) advanced topics like D3.js, HTML5 canvas, SVG, WebGL (using three.js).

You may find that that's all you can cover in a semester. If not, I think it's important to also cover the server-side. Start with jQuery AJAX calls against an already created RESTful API to teach the basic request-response HTTP model. Then have students implement the API (no database needed) in Node.js. If you still have time (I doubt it), introduce the concepts of databases with MongoDB [2].

Python and Ruby are great ecosystems, but if you still have to teach JS, I feel like it's a bit hard on beginners to juggle multiple languages. Also, I'm divided on the utility of teaching a huge framework like RoR/Django vs. a lighter framework like Sinatra, Flask, or Express.js (node).

[1] You want to minimize cognitive overhead, especially with 2/3 non-CS-majors. And since anyone learning CoffeeScript needs to know JS, you might as well start with JS.

[2] MongoDB is a lot quicker for hacks than SQL.

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

#43
Having been a back end developer for years, and more recently moving to Django, I think teaching a good framework is a good way to go.

For me I can often see multiple (often hacky) approaches to getting something done, but looking through the docs, it seems that the Django developers have made the decisions for me, and they probably have more experience than me.

Looking back through my old code, I did a lot of things manually (reversing URLs) when I read a bit more in the docs, I see the Django developers have put something in to do that already. Usually a lot more cleanly than my solution.

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

#44
As a student I would love to learn how to secure a website on frontend and backend. Too many tutorials skip this part, like which algorithms to use for hashing passwords. It sounds simple, but every month some major site has a breach and we find out passwords were stored plain-text.

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

#45
post #38
post #10

I don't think web development is the hard thing to teach as much as problem solving well. I would have them build anything and everything with the caveat that no matter how good they were (or weren't) the quality of their code would suck looking back in 5 years and to start with bad code, and incrementally add concepts like switches, functions, etc., much like very young coders did at age 10-15 when building anything…

> I don't think web development is the hard thing to teach as much as problem solving well. True, but there's a lot to be said for having first-time programmers (and especially college students) do Web development. It's a familiar environment, which means that they'll know that they're doing something relevant and practical, rather than abstract. They'll be excited to see that they can create Web sites and applicatio…

I don't disagree with what you've said in any way.

Programming is simply clear step by step thinking to make something happen. Focusing too much on the syntax and strategies in the beginning can be a distraction from the raw and immediate feedback from your work.

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

#46
post #14
post #10

I don't think web development is the hard thing to teach as much as problem solving well. I would have them build anything and everything with the caveat that no matter how good they were (or weren't) the quality of their code would suck looking back in 5 years and to start with bad code, and incrementally add concepts like switches, functions, etc., much like very young coders did at age 10-15 when building anything…

> I would have them build anything and everything with the caveat that no matter how good they were (or weren't) the quality of their code would suck looking back in 5 years Great point! I had a similar experience growing up, but I think a lot of people that want to learn quickly give up. What do you think we can do to keep people excited about it? I was talking to a few friends at UMich and they suggested we have th…

I thought about it a little, I'd probably not let them program much in the beginning and simply create results that they can keep hacking on through a high level tool.

To that effect, I'd probably recommend at this time appery.io .. to make mobile web based apps, which also bring in data.

Appery introduces enough about building apps, as well as the data and logic flow in a browser that people can learn one language (javascript) to see what's possible and branch out from there.

What do you think? Feel free to get in touch.

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

#47

Hi, I'm a non-CS major at BU on a throwaway account. Don't worry, you're not alone. We can SSH onto an Ubuntu server named HARVEY to test Linux versions mySQL, PERL, PHP, Python, Ruby and display our own web pages. http://harvey2.binghamton.edu/ We also have access to an FTP site for software like Mathematica, Maple, and Matlab, and there is another page for access to a bunch of VMs that have certain software package…

Thanks! I'm aware of Harvey but is there anyway to configure a domain name? Feel free to reach out at daniel@danoc.me.

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

#48
First make it work, then make it pretty.

Solve problems that matter to them.

Get to useful, first. (Their definition, not yours.) Then dig and build further.

I've experienced too much pedagogy that takes weeks or months to get to anything that really interests the student.

There is also too much that is "plug and chug", where one never learns more than how to follow a list and assemble components, without understanding them nor the platform on which they run.

My preference would be to engage them with something of interest, and then let that interest motivate the journey further into the details and the context.

If this doesn't interest them, they are probably in the wrong class. (Even if they "need" this for their "career".)

P.S. It's much more motivating to teach someone who is interested in and excited by what they are accomplishing. I mention this with respect to keeping "a few other students" -- as well as yourself -- engaged in your project.

So... make it engaging for your audience, and thereby make it engaging for yourselves.

Good luck.

Post reply on HN