Live data from Hacker News

Ask HN: What would you teach adults new to programming in a 2 hour class?

news.ycombinator.com

1–10 of 21 posts

Ask HN: What would you teach adults new to programming in a 2 hour class?

#1
I teach what I call "creative technology" to kids (my company is adaandleo.com). Parents keep asking me to teach THEM about this stuff. In particular, I keep getting asked, "How can I understand what programming IS?"

In other words, what these parents want is:

* a taste of what the experience of programming is like

* to experience what's unique to computer science, as opposed to adjacent fields

* to walk away feeling that they have programmed

What they are not looking for (from me):

* useful vocational knowledge (I mean, they wouldn't mind some, but that's not the point)

* the same circuits-Scratch-3d design "art class and tech class had a baby" curriculum I give kids

HN, any ideas?

Some things that come to mind:

* I could use a platform like coderpad.io to manage coding environments in a lightweight way

* It seems to me that Python and Ruby are roughly close to the sweet spot of clarity to a beginner; I want to avoid too much cleverly terse syntax, and be able to focus on basic building blocks such as arrays, functions, and loops.

* I keep coming back to CS intro concepts like sorting arrays and recursion, but a) I'm not sure how to neatly visualize these, and b) I worry they're not really that representative of programming work

* on the other hand, if I were TOTALLY realistic I'd have them try to update XCode certificates for two hours :)

Re: Ask HN: What would you teach adults new to programming in a 2 hour class?

#2
I honestly believe that learning to program is similar to learning to speak languages. You can't truely learn them after childhood. Atleast not in the way that you could when you were a child - in the way we learn our native languages. That certainly doesn't mean that someone can't 'learn what programming is' but I have serious doubts that someone who learns to program as an adult will ever actually program like a native.

I could be wrong on this and I'm sure there are some exceptions. But I suspect the answer to your question could only really come from a gifted teacher. Asking a seasoned developer how to teach someone who has never programmed is probably akin to asking seasoned artist how to draw like a child. They probably can't really know the answer because of their level of sophistication and the fact that their brains have long since migrated the skill from the section of the brain that learns to the section of the brain that masters.

I'm certainly no teacher but perhaps something with a gentle learning curve such as basic HTML where the reward to effort ratio is faily high. Or the classic 'guess a number from 1 to 10' type of program which is easy to accomplish with a little assistance and teached loops, print to console and variables.

Re: Ask HN: What would you teach adults new to programming in a 2 hour class?

#3
I don't think it's possible to do any better than this: https://www.youtube.com/watch?v=dlbMuv-jix8

Admittedly, when I found my way to Sussman's course, I had already been programming for awhile, so the "magic" was less of Wow, I can write a computer program that does neat stuff! and more Wow, this makes everything I've been doing so much more clear and simple!

Re: Ask HN: What would you teach adults new to programming in a 2 hour class?

#4
Two hours isn't really enough time to go from zero knowledge to programming. The first two hours or so are, almost inevitably, going to be spent learning the syntax and the interface; real programming begins when you start using that knowledge to solve problems.

Re: Ask HN: What would you teach adults new to programming in a 2 hour class?

#5

Two hours isn't really enough time to go from zero knowledge to programming. The first two hours or so are, almost inevitably, going to be spent learning the syntax and the interface; real programming begins when you start using that knowledge to solve problems.

If they're highly motivated, perhaps they might be willing to spend some time learning the boring stuff (syntax, etc...) via Codeacademy or something similar. Then you could use your in-person session to build some actual neat program from scratch.

Re: Ask HN: What would you teach adults new to programming in a 2 hour class?

#6

I honestly believe that learning to program is similar to learning to speak languages. You can't truely learn them after childhood. Atleast not in the way that you could when you were a child - in the way we learn our native languages. That certainly doesn't mean that someone can't 'learn what programming is' but I have serious doubts that someone who learns to program as an adult will ever actually program like a na…

I don't agree with either of your points, spoken language or programming language. I served in the military and studied CS. I graduated when I was 31 and have had a great career. I also learned Arabic while in the military. I don't think there is anything unique about my experience. The idea that adults stop learning is garbage. The brain is much more complex then that.

Re: Ask HN: What would you teach adults new to programming in a 2 hour class?

#8
I think I would do the following:

- set up a web page with some minimal and familiar interactions.

- with the adult student, visit that webpage and let them use it.

- then bring up the browser's web dev tools and show them some ways they can modify the content and behaviour.

- to wrap up maybe go to a website they use regularly, and bust out the web dev tools and do some minor modifications.

Why I think this approach would be good:

- people are familiar with web pages, so it provides them with some context of programming and how it effects the 'real world'. (Different to just programming something that would seem highly abstract, such a command line app)

- letting them see the web dev tools after having interacted with the page would hopefully enforce the idea that they are going behind the scenes/seeing the insides of something they use. The idea that code and programming 'powers' things they use.

- modifying the code, should give the student that they can manipulate and change what they are interacting with on the screen. Again, conveying the power of programming, and perhaps a taste of what its about.

- final thing is to modify something/peek behind the curtain of something they like and use often. Hopefully to convey the idea that fundamentals of programming apply to the big brand websites as much as the toy website they have been playing with.

I'd be interested in hearing feedback on the above approach!

Re: Ask HN: What would you teach adults new to programming in a 2 hour class?

#9
post #8

I think I would do the following: - set up a web page with some minimal and familiar interactions. - with the adult student, visit that webpage and let them use it. - then bring up the browser's web dev tools and show them some ways they can modify the content and behaviour. - to wrap up maybe go to a website they use regularly, and bust out the web dev tools and do some minor modifications. Why I think this approach…

I agree with doing something with javascript in the browser. I remember my first programming class in college. There was such a large disconnect between what I was being taught and what I was expecting. Normal people understand programming as building programs, the software that they use in their daily lives. If you start with a terminal and compiler teaching syntax they're not going to be able to relate to that.
Post reply on HN