Upload
johnnygoodman
View
310
Download
0
Tags:
Embed Size (px)
Citation preview
Introduction To CodingJohnny Goodman
We Tried To Get Jeremy To Teach
But...
3:49:17 PM Ashley Thompson: I will work on Jeremy.3:49:30 PM Ashley Thompson: He told me to contact his agent… which isn't a "no".
● You will see coding
● You will learn basic concepts
● You will know where to go to practice
● You will know where to go with questions
What Today's Session Will Do
● Teach you ever more advanced concepts
● Teach you how to code on your local box
● Teach you how to leverage existing code
● Build stuff that is day to day useful
What Future Sessions Will Do
There are too many concepts to pack into an hour.
We're going to go in smaller chunks.
We are "eating our veggies" today by learning a lot of concepts which will relate later.
No SQL Today
What Is Coding?
Playing with numbers and words until they are useful, then saving them and reusing them.
Computers vs. Humans
Computers are like this 10101101010101.
Humans are like this "hi! k. thx, bye"
This is "hi! k. thx, bye" in computer:
011010000110100100100001001000000110101100101110001000000111010001101000011110000010110000100000011000100111100101100101
Code Like A Human
I do not want to write a bunch of 1s and 0s.
I need a coding language to take my English and turn it into 1s and 0s for me.
Many good languages do this.
I like Ruby.
Where Do I Go To...Ruby?
To punch stuff in and see what Ruby does:
● http://tryruby.org/
To go through a structured, type it in course:
● http://www.codeacademy.com/tracks/ruby
Where Do I Go To...Ruby?
To ask questions to other coders:
http://stackoverflow.com/questions/tagged/ruby
Today's Coding Concepts
● Words and Numbers● Storage● Comments● Running Code● Comparisons● Arrays● Commands On Variables● If/Else Statement
Words
In code, you store words in Strings.
Examples:
● "I am a string because I am words"● "I am also a string"● "jello"
Quote signs tell the computer that its a String.
Numbers
In code, you store numbers in Integers.
Examples:
● 5● 555● 102125
No quote strings needed.
You'll need to do three things to store stuff:
● To make up a name● Type an equals sign● Type a word or number
Example:
save_me = "this will be stored to save_me"
Storing Values
pudding = "word or number"
The made up name pudding is commonly called a variable.
johnny = "hi hi"carolyn = "bye bye"
johnny and carolyn are variables.
Storing Values
Lets store "my words" to the my_value variable:
my_value = "my words"
Display that variable with the puts command:
puts my_value=> "my words"
Storing Values
Examples of how to store Strings:
words = "my words"oscar = "grouch"johnny = "occasionally grouchy"
Storing Values
Examples of how to store Integers:
total = 5 + 4another = 10 - 3last = 42 * 125
Storing Values
Another Example:
pudding = "tasty goodness"
puts pudding=> "tasty goodness"
This is because we stored "tasty goodness" to pudding, then said "print the value of pudding"
Storing Values
Storing Values
You can use variables just as if they were the original value they store.
Example:
one = 1two = 2three = one + twoputs three=> 3
Storing Values
You can overwrite variables with new data
var = "this won't last"puts var=> "this won't last"
var = "overwrite the current data"puts var=> "overwrite the current data"
Storing Values
You can store variables to other variables
Number Example:
one = 1also_one = one
puts also_one => 1
Comments tells the computer to skip the line.
The symbol for a comment is the # sign.
Here are what comments look like:
#var1 = "test"#my comment line will be skipped#var1 = "test2" a third skipped line
Comments
Comments are used by coders to add context, warning and overviews of code
#This will store "hi" to myvarmyvar = "hi"
#This will store 2 + 2 to the variable fourfour = 2 + 2
Comments
To run code:
1. Go to the command line
2. Type in Ruby code
3. Get a response from Ruby
Running Code, The Command Line
Where do you find command lines?
1. Inside tutorials like codeacademy/tryruby
2. On your computer, if ruby is installed (irb)
3. On other computers where ruby is installed, like if IT configures one and gives you creds
Running Code, The Command Line
Lets move to the command line and run examples we've worked on so far.
1. Johnny's command line
2. The code academy tutorial
Running Code, The Command Line
If Ruby is installed on your computer:
1. Create a file.
2. Make it end in .rb (instead of .doc, .txt, etc)
3. Navigate to the file's directory via command line
4. $>ruby my_file.rb
Running Code, From A File
If you have downloaded a Ruby focused text editor, you can also load and run the file right from the GUI.
Lets pause for examples.
Running Code, From A File
The == sign tells us if two values are equal:
1 == 1=> true
1 == 2=> false
Comparisons
one = 1two = 2
one == 1=> true
one == two=> false
Comparisons
Welcome Back
Arrays
Arrays let you store a group of the same data to one variable.
Some examples of groups:
people = ['johnny', 'robert', 'nelson', 'jayson']animals = ['sloth', 'toad', 'zebra']presidents = ['clinton', 'bush', 'obama']
Arrays
To get all that data back out
$> people => ["johnny", "robert", "nelson", "jayson"]$> puts peoplejohnnyrobertnelsonjayson
Arrays
To get only one element out, you need to learn a trick...
Arrays are zero indexed.
Meaning you count and reference the elements from 0.
Arrays
0 1 2 3
['johnny', 'robert', 'nelson', 'jayson']
Examples:
people[0] => 'johnny'people[2] => 'nelson'
Arrays
Commands On Variables
First, lets just look at it:
people=> ['johnny', 'robert', 'nelson', 'jayson']
people.count=> 4
Commands On Variables
You can call commands on variables.
Structure:
<variable>.<command>
Example:
people.count=> 4
Commands On Variables
Here's another one:
people=> ["johnny", "robert", "nelson", "jayson"]
people.reverse => ["jayson", "nelson", "robert", "johnny"]
Commands On Variables
If you want to see all the commands you are allowed to call on a given variable, use the methods command
people.methods=> [:inspect, :to_s, :to_a, :to_ary, :frozen?,:==, :eql?, :hash, :[], :[]=, :at, :fetch, :first, :last, :concat, :<<, :push, :pop, :shift, :unshift, :insert, :each, :each_index, :reverse_each, :length, :size, :empty?, :find_index, :index, :count]
More Helpful Array Commands
Add a new person to people:
people.push('jenny')=> ["johnny", "robert", "nelson", "jayson", "jenny"]
More Helpful Array Commands
Remove the last person from people:
people.pop=> "jenny"
people=> ["johnny", "robert", "nelson", "jayson"]
If/Else Statement
A variable's value can be used as a decision point that determines which code to run next.
You do this using an if / else statement.
If/Else Statement, Structure
If / Else Structure:
if variable == <value>#run this code if true
else#run this code if false
end
If/Else Statement, Example 1
one = 1
if one == one puts "true, one equals one"else puts "false, one does not equal one"end
=> "true, one equals one"
If/Else Statement, Example 2
one = 1
if one == 2 puts "true, one equals one"else puts "false, one does not equal one"end
=> "false, one does not equal one"
Command Line Examples
Time for command line examples...
The Big Picture
A web page does this:
1. Queries a database and stores data to arrays2. Loops through the arrays3. Manipulates elements of the arrays4. Displays results to the user
The Big Picture
You know:
1. How to create and store variables2. How to manipulate variables with commands3. About arrays4. How to decide which code to run via IF/Else
The Big Picture
You do not know:
1. How to loop through arrays2. How to wrap code in reusable methods3. How to wrap methods in reusable classes4. How to use other peoples code
The Big Picture
Once you fill those holes in, you have the core concept of how to build any web page.
You can also look at a web page and say "I know how they did that" in a conceptual way.
The Big Picture
Code is slowly automating everything.
Code is the new universal language.
Nearly every other skill will eventually be code involved or code dependant.
Be in the "can code" part of the work force.
Next Time
● Loops● Arrays + Loops● Classes and Methods● Connecting To Databases● Looping Through Database Query Results● Using Other People's Code In Yours