How do I explain coding to beginners?
I've been asked to do a webinar demonstrating the basic fundamentals of coding. How do I explain this in the simplest form to an audience that has never seen or wrote code before? Anyone have experience in teaching beginners or know of materials I can reference?
I'm taking some classes through the Flint Area Innovation and Entrepreneurship Meetup Group. Here's a web site that literally helps walk you through it and explains everything in their lessons. Then you start making web sites for yourself. And it is what we are using in our classes. I've done hard coding before, but when I did it, there was no CSS, and HTML was at its beginning stages. Some javascript, though. At any rate, here's the web site: https://dash.generalassemb.ly/
This is the best teaching tool I've seen to help people make basic web sites using coding. You'll love it!
Interesting. I have been thinking along the same lines. I put out a register of interest for such a course https://onlinedigitalbusiness.zenler.com/courses/register-of-interest-computer-programming-primer - so far much less interest than I envisaged.
I wonder if students will appreciate the connection between code and the "real" world. Languages like Scratch are good, but you are still manipulating images on a computer screen. I wonder if that's too abstract for some types of learners (i.e. Tactile learners).
You might consider using something like a Raspberry Pi and a LED/switch/speaker module (like a Pibrella). That way, the students can get hands-on experience with something that they can touch/see/hear. You could get them to do simple stuff like flash LEDs in response to button presses.
(I teach first aid...until I get my students working with bandages and CPR dummies, they aren't learning all that much.)
I designed and taught a command line programming course for middle-grade students. The basis for the training was a series of exercises (each representing a learning objective). For each exercise a working program stub was provided. For example, the first exercise consisted of a calculator with addition & subtraction functionality. The task was to implement multiplication & division operators. IMHO programming is best learned experientially.
I create elearning, virtual, and instructor-led training for a living, and have been writing actionscript and html for years. I like the idea someone had of starting off showing a kids' coding game. Disney has some cool ones, where kids grab a command, like (turn left 90 degrees and then turn right 45 degrees) and drag it into place in a stack of other commands. They can rearrange the order of any block they place, which changes the order of operation. It's written in words, but then you can toggle to what the code actually looks like for that command block. I think it illustrates really naturally, that code is just sets of commands stacked in order of operation. Then it would also depend on what language you're talking about, and whether it's object-oriented, etc. you could briefly explain nesting and encapsulation, parent/child relationships, etc but I would consider that the deepest you'd want to go for an introduction. Then I would provide some example code that people could take with them and actually use for themselves. Something like how to make a button or make a webpage close, or specify how to have a new page open in a new window, same window, or otherwise.
It's tough with a webinar because you can't interact with people nearly as well, and it's a short duration typically. Also maybe start the webinar off by doing a poll. Ask people why they're interested in coding, what their expectations are for the session, etc. That would help guide you and give people more of what they are hoping for.
Finish by giving them your email address and your website so people can follow up with you. Not only might that give you some leads and a little plug for your work, but it will also make people feel like you are genuinely interested in their success.
Good luck!
Paul
You could show them Scratch by MIT, the program that many people use to learn very young children the basics of coding.
https://scratch.mit.edu
As an instructor you need to understand the difference between explaining and demonstrating. In your question you ask how to explain coding and in your description you add "demonstrate". It is very easy to demonstrate coding. var d = 1; d+1 Answer: 2
Coding demonstrated. Now to explain coding that is a more complex question. If you are explaining basic programming fundamentals I would start with procedural programming and tell the audience about variables and conditions. Those things you can relate to every day life and even if they are not programmers, if they have ever used Excel they have probably seen variables and conditional statements in some form. This is an awesome course on programming for the non-programmer. You can take a look at the syllabus and integrate some concepts into your course.
https://www.coursera.org/course/pythonlearn
First off I would direct them to http://w3schools.com and introduce them to the many resources available. I would also introduce them to http://udemy.com
I really think you have to start with telling a story from their lives. See if you can solve a problem from daily life that can involve putting a simple form together in HTML, then say "now we want to be able to search this data", so you need to hook it up to back end, etc. Story telling and then making it tangible with an example from their daily life, will get their attention.
http://www.lynda.com/JavaScript-tutorials/Foundations-of-Programming-Fundamentals/83603-2.html
Great source of learn programming fundamentals ...