5 ms·
Totally agree. I have taught to some friends and my gf (pointing that it's people that I care about). What I tell them is that there's easy parts and difficult
by franciscop 10y ago
Totally agree. I have taught to some friends and my gf (pointing that it's people that I care about). What I tell them is that there's easy parts and difficult parts, and that things like SUM() in excel is a basic way of programming.
Then I teach them about html+css but starting only on the "easy-ish" part. So using my own library [1] for things like ".row" where you'd need either floats+negative margins or flexbox. Teaching them about images, images sizes (should be set at 100% in many situations), colors, backgrounds, paragraphs and links. That really motivates them.
Then some day they will need more advanced things, but if they can make a layout with the content then they become really motivated since they can see their programming real time.
I have to do this mainly because some people hate "irrationally" maths, so if I taught the same way I started learning --calculating primes-- then they'd be bored to death. Instead I like choosing something they are personally connected: what website do you like? Okay, let's do something similar...
I've even tried doing a small course for free [2], but so far it's not been really effective with those people I'm teaching, but some other friends asked me things about it :)
[1] http://picnicss.com/ http://picnicss.com/
[2] https://en.libre.university/subject/4kitSFzUe https://en.libre.university/subject/4kitSFzUe
- garrettgrimsley 10y agoYou aren't teaching programming, you're teaching web design. Programming doesn't have to start with calculating primes, but it does have to be actual programming. Maybe try introducing the to something like Scratch or Logo.
- lazerwalker 10y agoSerious question: how do you define "actual programming"? CSS is a markup language, sure (although technically Turing-Complete, depending on the spec), but it's still conceptually telling a computer what you would like to happen. It's more declarative than imperative, but given the wide number of different programming paradigms, I don't think that's a problem.
- rootlocus 10y ago> Serious question: how do you define "actual programming"? Solving problems by expressing algorithms in a language a computer can interpret. CSS / HTML are not used for expressing algorithms or computations. They're used for describing visual representations. They're an output format. CSS has a spec in which it's Turing-Complete? Even if it's true, nobody uses CSS like a Turing-Complete language. It's like saying JSON is Turing-Complete because it's JavaScript.
- erikpukinskis 10y agoWould you say Prolog is an output format too? It kind of is! My guess is you just don't consider declarative languages "real programming". What about running "rails new blog"? Is that programming? What if you add "-d mysql"? Does that count? What about changing a YAML config file? Not programming? Does it become programming if the config file is written in Python? What if it has a loop? Or what if you know that a certain key in the config file will trigger a loop? I don't think there is any firm line between computer use and computer programming. I think there is only a spectrum between specialized and generic computational primitives. HTML and CSS are somewhere in the middle of the spectrum, between tapping a button and applying voltage to circuits.
- rootlocus 10y ago> My guess is you just don't consider declarative languages "real programming". That's ridiculous. There's no "real" programming, and of course declarative programming is.. programming. However, with declarative programming you're still writing algorithms and doing computation (composing functions / querying predicates). > Does it become programming if the config file is written in Python? Is it an algorithm? No. It's just like JSON is for JavaScript. > I don't think there is any firm line between computer use and computer programming. Solving problems with algorithms is programming and while there is indeed a fuzzy line there, I still find it far-fetched to consider writing configuration files (which are static inputs without logic) or declaring html structure / css styles (which again, lack any logic) programming.
- chongli 10y agoHTML+CSS may not be programming, but spreadsheets definitely are[0]. [0] http://arstechnica.com/gaming/2013/04/how-an-accountant-created-an-entire-rpg-inside-an-excel-spreadsheet/ http://arstechnica.com/gaming/2013/04/how-an-accountant-crea...
- alanfalcon 10y agoYou're not teaching programming, but you are teaching coding, no? You're learning to code, and it's pretty easy. And you can graduate from coding to programming some basic javascript and get into fun stuff like Liquid (Shopify) without leaving the familiar browser environment and text editor of choice.
- franciscop 10y agoI'm seriously not gonna spend time arguing what is programming and what is not on HN, sorry.
- asenna 10y ago> but so far it's not been really effective with those people I'm teaching Interesting. The resource looks like a good start. Could you give some more detail on why you think it was not effective? I too am thinking of teaching web design and development basics to my gf and a few other people who are interested. Do you have any tips / more resources to look at which would help?
- franciscop 10y agoMainly because it was not enough and it has not a follow up resources. Now it's better than when I used to show it, but still not enough. So when people finish they are lost about how to continue, and it's definitely not enough. So I would need to spend a large amount of man-hours to teach it, but if it's just for a couple of people I find teaching them myself, with real-time feedback, corrections and explanations works much better as everyone has different needs.
- asenna 10y ago> but so far it's not been really effective with those people I'm teaching Interesting. The resource looks like a good start. Could you give some more detail on why you think it was not effective? I too am thinking of teaching web design and development basics to my gf and a few other people who are interested. Do you have any tips / more resources to look at which would help?