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

Javascript Tutorial: http://www.w3schools.com/js/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.

Good luck!

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)

https://learn.adafruit.com/adafruit-arduino-lesson-2-leds?view=all

        *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://www.arduino.cc/en/tutorial/potentiometer

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

https://learn.adafruit.com/adafruit-arduino-lesson-3-rgb-leds?view=all

        *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

https://learn.adafruit.com/adafruit-arduino-lesson-9-sensing-light

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.

General Resources 

http://learn.sparkfun.com 

https://learn.adafruit.com/

http://playground.arduino.cc/ 

http://arduino.cc/en/Reference/HomePage 

http://www.jordanrejaud.com/learning.html

http://www.howtoons.com/

https://learn.adafruit.com/series/learn-arduino

https://opensourcehardwaregroup.com/Podcast/articles/

http://tronixstuff.com/tutorials/

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.

Project Resources

http://hacknmod.com/

http://inventorartist.com/rolly-bot/ -easy servo based robot

http://inventorartist.com/continuous-rotation-servo-hack/ hacking servos to be continuous

http://www.instructables.com/tag/type-id/category-technology/channel-arduino/

https://diy.org/

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.

Arduino Lessons

  1. Lesson 1
  1. Intro to the IDE and serial input and command line
  1. Lesson 2 Intro to LEDs
  2. Lesson 2.5 Intro to breadboarding
  3. Lesson 3 More Communication and sensors
  1. Light and temperature sensors
  2. Basic sensing information and the world around you
  3. Printing the information to the serial port
  4. What to do with this information?
  5. What does this information give you?
  6. *Getting that information into a game, changing LED brightness or the number that have lit up
  1. May need to use arrays to make it easier
  2. Will also need if statements or if else statements
  1. Lesson 4 Buzzers and buttons
  1. Introduce tone function
  2. debouncing buttons
  1. Lesson 5

Overall goals

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

LEDs

Piezzo Buzzer

Sensors

Potentiometers/Buttons

Servos

7 digit displays

Motors

Misc (rangefinder, PIR, accelerometer, LED display)

Software/Programming Goals

Syntax/Data Types-

        Basic integrating into the different lessons

Math-

        LEDs, math with the sensors

Bulit in Functions-

        As we go

Boolean-

        Turning LEDs on and off in certain situations or making sounds

if...else-

        Buttons and State programming

while-

        Sensors

for-

        Good for repeating, or counting through things

functions-

        As we go

programming order and variable tracking, global vs local variables

What equipment we currently have:

Servos

LCD Character screen

RGB lcd

Danger shield

Sensor set

Code.org- Process

  1. Stage 2
  1. Graphing
  2. Geometry
  3. Thinking about programming would be a good break for things
  1. Stage 7
  1. Reinforces repeat/for statements
  1. Stage 9-Functions
  1. Reviews for statements
  2. #5 Introduces while loops
  3. #10 Reviews if statements
  1. Stage 11
  1. #2 Introduces using functions
  2. #6 Uses for loop with a counter **and #7
  1. Stage 13*
  1. Harder loop practice
  2. #2actually defines functions
  3. #7 Uses it more
  1. Stage 15 More function uses
  1. #8 Uses an input as the function
  1. Stage 17 Debugging
  2. Stage 19 -Pretty drawings

 

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

TheNestlePlanet.jpg

 Picture developed by

SavageGraphics.jpg