Dear 7th Graders,
Many of you probably think that programming is for nerds. Well, you’re right. But you are all nerds, whether you like it or not. And programming is way more fun and than you might think. Think about applying to college or trying to find a job. Saying that you even know basic programming of Ruby or C++ or Malbolge or anything like that can help you out a lot. And it’s also really fun to build stuff by yourself. When you’re bored and by yourself at your house, instead of turning on the t.v. and watching some little redneck girl complaining about the quality of her Twinkie or the Kardashians whining about who gets what kind of nail polish, open up your computer and check it out. I guarantee that if you even put in as little as 5 minutes a day to learning programming, you’ll get a better grade in math and learn a great skill for life. If you need help, ask me or Mr. Nestlerode.
Something that you can do with programming on websites that is really entertaining is using HTML to change articles and text. All you have to do is press command + option + J on Mac Chrome to open up the console (google how to open dev console to find other ways if you have a different browser or you have a PC.) If you do this and go to the console and type in document.designMode = “on”, you can edit the page. Go to CNN and find an article. Edit the text to your heart’s content. Rewrite an article concerning Obama and his policies into an article about Obama and his obsession for Beanie Babies and My Little Pony. Show your parents. Laugh. Repeat. Trust me, even a little bit of knowledge makes you look like a computer whiz. Showing your grandparents this makes you look like the next Gary Wishbone, I’ve tried it.
Remember that it doesn’t actually edit the real website, it just edits the page that you’re on. So if you refresh your browser, it will go back to the original article.
The easiest language to learn first that would let you make your own websites is HTML/CSS. Codecademy has an awesome tutorial for it. And they’re not two different languages, CSS is just a way to make HTML pretty and stuff.
Extra stuff for students who want to learn more (and probably get better grades):
Programming 101: http://lifehacker.com/5401954/programmer-101-teach-yourself-how-to-code
HTML Tutorial: http://www.w3schools.com/html/default.asp
Python Tutorials: https://wiki.python.org/moin/BeginnersGuide/NonProgrammers
Khan Academy is ok if you’re looking for something simple that might be slightly buggy and annoying.
Codecademy is great, but the lessons can be annoying sometimes if you don’t get the problem.
Webmonkey is a great place to go for programming lessons and help once you become good enough to understand the basics of programming.
Good luck, nerds!
-Collin Abidi (PCS Junior, TA, Founder and CEO of Savage Graphix.)
With Collin’s advice in mind, below are resources we have put together and lessons for you to teach yourself programing and working with electronics. This will be a little tougher than the code.org puzzles, but they are still just puzzles to figure out.
Lesson 1 Intro to Arduino:
Go through these lessons here (Just chapter 1): http://learn.parallax.com/node/129
At each page there are a series of checkmarked items to accomplish do all of them.
Skip activities 3 and 4.
Lesson 2 Intro to some hardware (The LED).
Go here https://learn.adafruit.com/adafruit-arduino-lesson-1-blink?view=all
The main advantage of using the Arduino environment is it’s ability to communicate with the world around you. Although we are starting with simple LEDs, it will quickly expand to do so much more.
Lesson 3 More hardware (LEDs)
*Challenge 1: make 2 LEDs alternate blinking or make them blink at the same time
*Challenge 2: look up for loops and arrays in arduino, make 4 LEDs blink in succession (LED 1 blinks, LED 2 blinks, LED 3 blinks, LED 4 blinks. Think of lights on the runway at an airport.
Lesson 4 Device input
http://arduino.cc/en/reference/map *look at this one second
https://learn.adafruit.com/adafruit-arduino-lesson-8-analog-inputs/an-experiment **look at this one first
Use the potentiometer to read the value on one of the analog pins and Serial.print() it to the serial port. You will need to use analogRead to get the value.
The beauty of the Arduino is not just that it can control electronics, it’s possible to do that without any programming at all. Read the above
* Challenge 1 Map the results from the potentiometer to print a value between 1 and 10
*Challenge 1.5: Make the delay of a light blink change as the potentiometer turns
*Challenge 2: Set up 4 LEDs set it so the one that turns on is determined by the potentiometer
Lesson 5 Fancy LEDs
*This is going to get a little tricky but see how many colors you can make.
*Challenge 1: Without using a hex, create every light on the color diagram in the colors section of the lesson.
Lesson 6 Light Sensors
This lesson is about using a light sensor to light up different LEDs, and by changing the amount of light that reaches the sensor, you can make the LEDs blink. Be sure to read the photocell section and know how they work.
*Challenge 1: Experiment with different ways to change the light that reaches the light sensor to make the LEDs blink in different ways.
Google - seriously, there are many people all over the world who make projects and post them online and are more than willing to explain them. Generally searching for a part and “Arduino” will give you some sort of result, you just might need to sort through it.
http://inventorartist.com/rolly-bot/ -easy servo based robot
http://inventorartist.com/continuous-rotation-servo-hack/ hacking servos to be continuous
http://www.ele.uri.edu/courses/ele205/Arduino%20-%20Learning.pdf pretty good tutorials to go through
http://www.robotevents.com/robot-competitions/vex-robotics-competition/ Robotics Competition
http://codebam.xyz/programming Arduino tutories, but still young
This is my in process notes of where people should be working on for learning coding and working with the Arduino, it will be updated constantly.
Learn the basics of programming and computer science
Come up with lessons with challenging side parts that can lead to projects
Leave the lessons open for you to make up your own projects and have time to work on them
Hardware and software lessons
7 digit displays
Misc (rangefinder, PIR, accelerometer, LED display)
Basic integrating into the different lessons
LEDs, math with the sensors
Bulit in Functions-
As we go
Turning LEDs on and off in certain situations or making sounds
Buttons and State programming
Good for repeating, or counting through things
As we go
programming order and variable tracking, global vs local variables
What equipment we currently have:
LCD Character screen
http://www.electroingenio.com/arduino-en/bar-code-scanner-arduino-usb-shield-2/ cool priject
Welcome to the Bottom of the Page
There is nothing beyond this point... But wait! A poem has appeared! Shall we read it?
The PCS Experience
“The lazy brown fox jumps over the fence;
Pay attention in class to prevent being dense.
You should be concerned with what you do;
For your actions always have a consequence, it’s true!
However, make sure to have fun;
You can join a wild Nestlerode, always up for a run.
But if you are lucky you might be graced,
With the mighty Hunt, who is quite the ace.
Mansions and planets and worlds you shall explore,
But only if you join the ranks of the Hunt Horde.
With these thoughts in mind, you will endure,
9th, 10th, even 11th grade, you’ll be sure.
So remember that PCS is a wonderful place ‘cause it’s true,
And enjoy being a nerd, through and through.”
-Bill Savage, 2014
Picture developed by