Introduction to Coding

Понравилась презентация – покажи это...

Слайд 0

Introduction to Coding with Brian Pichman and Chad Mairn

Слайд 1

What is computer programming? A set of commands a computer understands – like a recipe. Computer programs can help cure diseases; drive cars; create video games; make animated movies/graphics; build websites and apps; and much more. Basic coding concepts are used by most every program and most every programmer. To learn more visit http://www.bfoit.org/itp/Programming.html

Слайд 2

Why learn to code? Why not? Learn the importance of clarity/brevity of expression. Be able to think and problem solve more accurately. Build something useful and maybe start a business. Have a better understanding of how technology works. Have fun! Do you think it is valuable to learn to code? Why? You are here today, so that is a good sign. ?

Слайд 3

Read more at http://goo.gl/Hgy16A

Слайд 4

Is coding a cryptic visual of typed languages? Or a process? Or both?

Слайд 5

Computer programming has a reputation of being cryptic and too complex for the average person; however, when you get familiar with basic programming logic you will see patterns everywhere!

Слайд 6

“It has often been said that a person does not really understand something until he teaches it to someone else. Actually a person does not really understand something until after teaching it to a computer, i.e., express it as an algorithm.” Donald Knuth, in American Mathematical Monthly

Слайд 7

Describe in natural language how to make a peanut butter and jelly sandwich.

Слайд 8

Some great resources to help you learn to code

Слайд 9

.com Learn to code interactively, for free.

Слайд 10


Слайд 11


Слайд 12


Слайд 13


Слайд 14


Слайд 15


Слайд 16


Слайд 17

Some Other Coding Resources Lightbot is a programming puzzle game that gives the user a one-to-one relationship with programming concepts. Try it today at http://light-bot.com/! Hopscotch: Coding for Kids is an iPad programming language. Download it today at https://www.gethopscotch.com/ . Code.org wants to bring Computer Science classes to every K-12 school. Check it out at http://code.org/ and find some excellent computer programming tutorials. Scratch helps children create stories, games, animations, and also lets them share these projects with others around the world. More info at http://scratch.mit.edu/. www.scratchjr.org is a free iPad app that brings coding to students as young as age five. www.kodable.com gives children opportunities to program in order to solve puzzles. http://www.allcancode.com is similar. Visit Medium for a “2 minute read” listing other ideas and resources to help inspire children and teens to code. There are several MOOCs (Massive Open Online Course) and other freely available resources that offer computer programming classes. Coursera, Udacity, and Edx are great examples. Also, Khan Academy has some great resources for kids and adults too! A Google search query for computer programming resources for kids limited to the last year can be found at http://goo.gl/RaUups.

Слайд 18

Download it for free and get great handouts at http://raptor.martincarlisle.com RAPTOR is a flowchart-based programming environment. DEMO

Слайд 19

What is a programming language? A programming language is set of rules that provide a way of telling a computer: What operations to perform Communicating an algorithm Receives an input from the user and generates an output. A programming language is a system for describing a computation (math) or algorithms (logic) in a machine-readable and human-readable form. Has words, symbols, and grammatical rules (natural language) Grammatical rules = Syntax Each language has a different set of syntax rules Has semantics (meaning)

Слайд 20

A Few Basic Programming Components (pretty much regardless of language) Variables & Arrays Operators Flow Control Functions

Слайд 21

Variables & Arrays A variable is a bucket that holds one piece of information. A variable can change value when Specific conditions are met Based on user input Examples (concept) $string_myhomelibrary = “Montgomery Library”; $numeric_variable= 100; $myname = “Brian”;

Слайд 22

Variables & Arrays An array is a type of variable (or bucket) that holds many pieces of information. Example (language doesn’t matter here; the concept does): $FavoriteCities = array(“Orlando”, “Boulder”, “Miami”) $FavoriteCities[0] holds “Orlando” $FavoriteCities [1] holds “Boulder” $States = array(“1” => “Prime”; “FL”=> “Florida”, “CO” => “Colorado”) $States[“FL”] holds “Florida”

Слайд 23

Operators Arithmetic +, -, *, / (add, subtract, multiply, divide) Assignment = (assign the value of 2 to the variable called v) $v = 2; += (“Add the value of 3 to the variable that already holds 1”) $v += 3; // $a now holds 5

Слайд 24

Flow Control Very readable programming languages Sequence Choice (if then, if then else, if then else if) Continual

Слайд 25

Flow Control - Sequence Reads like a book, the instructions are executed in the same order they where given: OPEN the door WALK inside the room SIT on a chair PICKUP a book READ the book.

Слайд 26

Flow Control - Choice With choice, instructions are executed based on variables, commands, outputs, etc.

Слайд 27

Flow Control - Choice If Then if (something is true/conditions are met) { then do this } If Then Else Else: XYZ Starts the same as “If Then” but allows a result if condition is false Else If if (something is true/conditions are met) { then do this } elseif (another something is true/conditions are met) { then do this instead }

Слайд 28

Flow Control - Continual With continual, instructions are executed based on variables, commands, outputs, etc … as they remain true While (or repeat) while (something is true) { do something here } for for (something is true) { do something here }

Слайд 29

Flow Control – Putting It Together 1) Sequence Go to the library Check out a book Read the book Return the book 2) Choice If you have a library card, you can check out books. Otherwise open a library card account. 3) Repeat Continue to read the book till there are no more pages.

Слайд 30

Functions A function is type of procedure or routine A function usually returns a value A procedure preforms an operation but typically doesn’t provide a value Most languages have pre-built or pre-defined functions in its library. For instance, the “delete” function means to “remove”. You don’t have to code what “remove” does; only what to remove.

Слайд 31

Ways to Program Machine Language (Mechanical, Firmware, Drivers) Job Control, Shell Scripting, Text Processing GUI Programming (Graphical User Interface) Types: Application Specific Programming Web Applications / Software Applications Front End Systems (what the users see) Back End Systems

Слайд 32

FORTRAN FORmula TRANslation. Developed at IBM in the mid-1950s. First programming language Designed for scientific and mathematical applications by scientists and engineers. Traditional Programming Languages

Слайд 33

COBOL COmmon Business Oriented Language. Developed in 1959. Typically used for business applications. Traditional Programming Languages (cont’d.)

Слайд 34

BASIC Beginner’s All-purpose Symbolic Instruction Code. Developed at Dartmouth College in mid 1960s. Developed as a simple language for students to write programs with which they could interact through terminals. Traditional Programming Languages (cont’d.)

Слайд 35

C Developed by Bell Laboratories in the early 1970s. Provides control and efficiency of assembly language Often used for system programs. UNIX is written in C. Traditional Programming Languages (cont’d.)

Слайд 36

C++ It is C language with additional features. Widely used for developing system and application software. Graphical user interfaces can be developed easily with visual programming tools. Windows Based Object-Oriented Programming Languages

Слайд 37

JAVA An object-oriented language similar to C++ that eliminates lots of C++’s problematic features Allows a web page developer to create programs for applications, called applets that can be used through a browser. Objective of JAVA developers is that it be machine, platform and operating system independent. Object-Oriented Programming Languages

Слайд 38

Scripting Languages JavaScript and VBScript Php and ASP Perl and Python Command Languages sh, csh, bash, cmd Special Programming Languages

Слайд 39

HTML HyperText Markup Language. Used on the Internet and the World Wide Web (WWW). Web page developer puts brief codes called tags in the page to indicate how the page should be formatted. XML Extensible Markup Language. A language for defining other languages. Special Programming Languages

Слайд 40

Considerations when choose languages Proprietary Microsoft Languages (C#, C++, Visual Basic) Oracle (Java) Open Source PHP Python Standardized Languages HTML Databases Microsoft SQL (Microsoft), MySQL (Open Source), NoSQL (now Apples)

Слайд 41

What do you want to make? Games Mobile Applications Web Applications Software Applications Databases

Слайд 42

Source: https://www.udemy.com/

Слайд 43

Source: https://www.udemy.com/

Слайд 44

Source: https://www.udemy.com/

Слайд 45

Source: https://www.udemy.com/

Слайд 46

When it comes to mechanics of the task, learning to speak and use a programming language is in many ways like learning to speak a human language you have to learn new vocabulary, syntax and semantics (new words, sentence structure and meaning) require continual practice Things to Consider

Слайд 47

Formerly: Run-time performance At one point, a well performing computer was costly, so lightweight languages had to be used, concise commands, and less “flashy” design Now: Life cycle (human) cost is more important Ease of use for both user and programmer Cost of maintenance (debugging, updates, etc) What determines a “right” language

Слайд 48

Part two

Слайд 49

Quick Review Computer programming is a set of commands a computer understands – like a recipe. Basic coding concepts are used by most every program and most every programmer. A programming language is set of rules that provide a way of telling a computer what operations to perform, communicating an algorithm, and receives an input from the user and generates an output. Learning to code will emphasize the importance of clarity/brevity of expression, you will be able to think and problem solve more accurately, and essentially have a better understanding of how technology works. There are a few basic computer programming components that exist in most programming languages. They are variables & arrays, operators, flow control, and functions There are a ton of other great/free resources available online to help you learn to code.

Слайд 50

Download it for free and get great handouts at http://raptor.martincarlisle.com RAPTOR -- a flowchart-based programming environment. Hands-on with …

Слайд 51

http://getfirebug.com/ See how things on the Web work behind the scenes using …

Слайд 52

SCRATCH Basics .mit.edu  Scratch is a programming language for everyone. Create interactive stories, games, music and art and share them online. DEMO

Слайд 53

Finch Robot – MSRP $100

Слайд 54

Ozobot – MSRP $60

Слайд 55

Lego WeDo / Lego Mindstorms

Слайд 56

Sphero – MSRP $130 (libraries99 code = -30) https://www.youtube.com/watch?v=S95KiPws54M

Слайд 57

Dash and Dot

Слайд 58

Tickle App

Слайд 59

Hopscotch App

Слайд 60


Слайд 61

www.slideshare.net/chadmairn @cmairn www.slideshare.net/bpichman @bpichman

Слайд 62

Contact Us Brian Pichman bpichman@evolveproject.org Chad Mairn mairn.chad@spcollege.edu