1. This is supposed to be FUN! If it's not fun, give me a chance to fix it? We are going to do a bunch of cool stuff here and it should be enjoyable. Not all the time, but over all. And if you aren't enjoying it, I really need to know that so I can improve the course, and make adjustments that avoid any issues. There are step by step instructions for how to contact me on the Instructor Information page. Please let me know how you feel. Be honest. Always be honest. In fact, that's our first assignment. Message me and introduce yourself, and tell me what you expect to do in this course and if you have any questions or concerns.

2. This is supposed to be a CHALLENGE. You are expected and invited to FAIL before you ACCOMPLISH. We are going to do real world, difficult, exercises and assignments that will have real impact and foster serious learning. It will be HARD. In school, you might have been taught to view failing as a bad thing. In the real world, in jobs, in science, in industry, the right sort of failure is expected, accepted, and welcomed. You must try, fail, adjust, and then succeed.

"But wait! Failing isn't fun!? How can I be having fun if I'm failing?" Well, first off, it depends on the type of failure. If you fail to get something the very first time you try it, that isn't really a failure, it's just a sign that your thinking doesn't match the real world and must be adjusted. As long as you seek and apply that adjustment, that isn't a bad failure, it's a good failure because it shows you where you need to adjust.

If you are going from the kitchen to the bathroom, and you try to just walk through the wall between them, it might sting a bit, but it shows you what doesn't work, and gives you the signal that you need to adjust your path planning to get to the bathroom. And, let's be honest, it's funny, right? And it makes attaining your goal so much better in the end. You accomplished something that you couldn't before.

Now, the bad sort of failing is if you don't try right from the start. Then you don't run into the wall and you don't learn how to succeed. Trying little silly ideas to accomplish a goal and laughing at the ones that don't work is learning, and learning leads to fun. Another bad sort of failing is trying things that are dangerous or that cause real damage; we will avoid doing that. Hopefully. It's best to try small things, and build on the successes incrementally; little by little. Poco a poco.

In business, at least in development, we fail constantly, every day, all the time, as quickly as possible. "Try this!" "OMG, that's hilarious!" "Ok, try this instead" "Hey! That worked! What's next?" As a teacher, I've watched students give up and drop out: Sad. I've watched students get upset with failures, and not have fun with it: Very sad. And I've also watched students just try and try and try and you know what? Those are the ones who succeed. If anything, part of this class is teaching you to succeed via repeated small failures.

JavaScript

The internet didn't get started until '83 when the first browser was invented. At that time, web pages did NOT move. They were completely static, like pages in a book, except you could scroll them up and down. And that's how it was for 12 years. 

in 1995, Netscape decided to add a scripting language to Navigator which was the most popular browser at the time. They tried to do this in two ways: working with Sun Microsystems to embed the existing Java programming language in their browser (that didn't work out), while also hiring Brendan Eich to embed the Scheme language in Navigator.

Netscape management soon decided that the best option was for Eich to develop a new language, with syntax similar to Java and less like Scheme or other current scripting languages. Although the new language and its engine were officially called LiveScript when first shipped as part of a Navigator release in September 1995, the name was changed to JavaScript three months later. Key point: Javascript is NOTHING like Java. It was just a marketing thing.

(By the way, is it "JavaScript" or "Javascript"? Who cares!? You know what I mean.)

How long did it take Eich to write Javascript? 10 days. Why? Because a lot of it was "borrowed" from other languages. How could he get the source code of those other languages? They were freely shared. FOSS is a good thing. And sharing is a good thing. Good programmers share with each other, and ask each other for help. And borrow each others code (with credit, when allowed). 

Today, Javascript is running the control panels for SpaceX Crew Dragon capsule as it returns the USA to taking humans into orbit at the International Space Station. 
https://www.zdnet.com/article/from-earth-to-orbit-with-linux-and-spacex/

Full applications, like document editors, spreadsheets, CAD programs: TinkerCAD (see the circuit sim inside it), Onshape, and openJScad, which is written in js and allows you to design physical objects for 3D printing or laser cutting in... Javascript!

There are flight simulators, and video games, like racing, scrollers, puzzles, all sorts of weird games for the browser. And starmaps.

You can full on record, mix and produce music in the browser. Or setup a very capable synth

And just about anything else you can imagine are written in Javascript and running in your browser. 

Robotics and YOU

Next, think about how automation, programming, and robotics affect your day to day life right now. Do you use a computer? Have a smart phone? Is there a thermostat in your home which controls the temperature? Does your family have a washing machine? Do you go to a laundromat? A dishwasher?  If you don't have a dishwasher, who is the "automation" who washes the dishes?

In all these cases, what are the costs? Buying the device, providing it with electricity / water / chemicals, fixing it if it breaks? Who makes money from that machine and who pays for it?

What sorts of things do you or your family need to live, and which things just make your life easier? Can you wash the dishes? Does having a dishwasher save time that has more value than the cost of the machine? What if you had a machine that made food out of air and light? Or a machine that could print a house from mud and grass?

How could you make money or make your life better by automating some task which must currently be done by a person? Who would have money to pay for that? Who's time could better be spent on something else?

Now that you've thought about all that, answer these questions:

"How will robotics affect my future?"

"What do you want to do with robotics in your life?"

"What do you want out of this single class?"