Diese Präsentation wurde erfolgreich gemeldet.
Die SlideShare-Präsentation wird heruntergeladen. ×

Basics of Computer Coding: Understanding Coding Languages

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Nächste SlideShare
An introduction to coding
An introduction to coding
Wird geladen in …3
×

Hier ansehen

1 von 56 Anzeige

Basics of Computer Coding: Understanding Coding Languages

Herunterladen, um offline zu lesen

In this webinar, we will cover the different types of environments one may want to code for; whether that is apps, websites, programs that run on Windows, scripting, and more. Are you interested in learning code and considering if Java, PHP, CSS, Python or another language help bring a project to life? If you have a high-level approach to coding or are working on teaching patrons how to code or providing guidance to others, this will be a great resource to have.
We will learn about coding, types of code, and your " building-block" languages that eventually get you (or patrons) to the end goal of being a wizard coder. Resources for further education will be discussed in this webinar so you will have excellent next steps to continue your journey in a world of 1's and 0's.

In this webinar, we will cover the different types of environments one may want to code for; whether that is apps, websites, programs that run on Windows, scripting, and more. Are you interested in learning code and considering if Java, PHP, CSS, Python or another language help bring a project to life? If you have a high-level approach to coding or are working on teaching patrons how to code or providing guidance to others, this will be a great resource to have.
We will learn about coding, types of code, and your " building-block" languages that eventually get you (or patrons) to the end goal of being a wizard coder. Resources for further education will be discussed in this webinar so you will have excellent next steps to continue your journey in a world of 1's and 0's.

Anzeige
Anzeige

Weitere Verwandte Inhalte

Diashows für Sie (20)

Ähnlich wie Basics of Computer Coding: Understanding Coding Languages (20)

Anzeige

Weitere von Brian Pichman (20)

Anzeige

Basics of Computer Coding: Understanding Coding Languages

  1. 1. Basics of Computer Coding: Understanding Coding Languages BRIAN PICHMAN | Evolve Project !
  2. 2. What Code Should I Learn? Welcome In this webinar, we will cover the different types of environments one may want to code for; whether that is apps, websites, programs that run on Windows, scripting, and more. Are you interested in learning code and considering if Java, PHP, CSS, Python or another language help bring a project to life? If you have a high-level approach to coding or are working on teaching patrons how to code or providing guidance to others, this will be a great resource to have. We will learn about coding, types of code, and your " building-block" languages that eventually get you (or patrons) to the end goal of being a wizard coder. Resources for further education will be discussed in this webinar so you will have excellent next steps to continue your journey in a world of 1's and 0's.
  3. 3. Evolve Project | Brian Pichman 3 The importance of coding is everywhere Why Code? ! • Can help teach troubleshooting in a more meaningful way • Make a “computer” do what you want it to do • Job market opportunities • Build something useful and start a business • Most of todays technological advancements are through the use of code • Automation of repetitive tasks or procedures
  4. 4. Evolve Project | Brian Pichman 4 What we will cover today Agenda ! 2 Resources What you could use to get started 4 Coding Platforms What could you “code” 3 Coding Basics Understand the commonly used coding terms 1 Introduction 5 Requirements What do you need to be successful? 7 Job Applications Understand what careers require what languages 6 Coding Languages What are the different languages and what do they look like 8 Fun Things!
  5. 5. Evolve Project | Brian Pichman 5 A set of commands that a computer can understand So What Is Coding? ! Coding is involved in almost every aspect of our lives. From posting on Facebook, to your smart phones, to games, to websites, to this very webinar. Coding makes things happen, and they are simply instructions to make the “magic” happen. Think of coding for computer programs as writing down the steps needed to do something.
  6. 6. Evolve Project | Brian Pichman 6 How Do Computers Work Coding is made up of three things ! ! " # $ Algorithm An ordered set of steps to solve a problem (not always a mathematical problem) Process A series of actions/steps to achieve an end result (do THIS to get THAT) Procedure A series of actions performed in a specific order. (Follow these STEPS to get THAT)
  7. 7. Peanut Butter and Jelly! Describe in “Natural Language” how to make a peanut butter and jelly sandwich
  8. 8. Evolve Project | Brian Pichman 8 To Get You Started Resources ! Codecademy is an online interactive platform that offers free coding classes in 12 different programming languages including Python, Java, JavaScript, Ruby, SQL, and Sass, as well as markup languages HTML and CSS The Open Education Consortium (OEC) is a non-profit, global, members-based network of open education institutions and organizations. OEC represents its members and provides advocacy and leadership around advancement of open education globally.
  9. 9. Evolve Project | Brian Pichman 9 To Get You Started Resources ! Coursera is an online learning platform founded by Stanford professors Andrew Ng and Daphne Koller that offers *free* courses, specializations, and degrees. Code Avengers is an online education company based out of Hamilton, NZ and founded in 2012 by Dr Michael Walmsley (PhD computer-assisted learning). It is subscription based and is made to make coding fun and engaging.
  10. 10. Evolve Project | Brian Pichman 10 To Get You Started Resources ! CoderDojo is a global volunteer-led community of free programming workshops for young people between 7 and 17. The movement is a grassroots organization with individual clubs acting independently. Khan Academy is a non-profit educational organization created in 2008 by Salman Khan with the goal of creating a set of online tools that help educate students. The organization produces short lessons in the form of YouTube videos. Its website also includes supplementary practice exercises and materials for educators
  11. 11. Evolve Project | Brian Pichman 11 So Many Options!
  12. 12. Evolve Project | Brian Pichman 12 To Get You Started There are even great apps ! GetHopscotch.com – an app that teaches coding through building games. Make your own Pokemon Go game, frogger, and more. LightBot is an app that teaches programming concepts through solving puzzles.
  13. 13. Evolve Project | Brian Pichman 13 Some Other Coding Resources Cod e.org: • Cod e.org® is a nonp rofit d ed icated to exp and ing access to comp uter science in schools and increasing p articip ation b y women and und errep resented minorities. Our vision is that every stud ent in every school has the op p ortunity to learn comp uter science, just like b iology, chemistry or algeb ra. Cod e.org provides the leading curriculum f or K-12 comp uter science in the largest school d istricts in the United States and Cod e.org also organizes the annual Hour of Code camp aign which has engaged 10% of all stud ents in the world . Cod e.org is sup p orted b y generous d onors includ ing Amazon, F aceb ook, Google, the Inf osys F ound ation, Microsof t, and many more. • Scratch help s child ren create stories, games, animations, and also lets them share these projects with others around the world. More info at http://scratch.mit.edu/. • www.kod ab le.com gives children opportunities to program in order to solve puzzles. Looking f or insp iration: https://medium.freecodecamp.org/successfully-teaching- yourself-how-to-cod e-f6aac23db44a
  14. 14. Evolve Project | Brian Pichman 14 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)
  15. 15. Evolve Project | Brian Pichman 15 ! Few Basic Programming Terms Coding Basics " #$% Variables and Arrays Operators Flow Control Functions
  16. 16. Evolve Project | Brian Pichman 16 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 Variables & Arrays Coding Basics ! Examples (concept) $string_myhomelibrary = “Montgomery Library”; $numeric_variable= 100; $myname = “Brian”;
  17. 17. Evolve Project | Brian Pichman 17 An array is a type of variable (or bucket) that holds many pieces of information. Variables and Arrays Coding Basics ! 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”
  18. 18. Evolve Project | Brian Pichman 18 • 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 Operators Coding Basics !
  19. 19. Evolve Project | Brian Pichman 19 Flow Control – Readable Programming Languages Coding Basics ! 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. Choice With choice, instructions are executed based on variables, commands, outputs, etc. Continual With continual, instructions are executed based on variables, commands, outputs, etc … as they remain true
  20. 20. Evolve Project | Brian Pichman 20 Flow Control – Readable Programming Languages Coding Basics ! Sequence OPEN the door WALK inside the room SIT on a chair PICKUP a book READ the book. 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 } Continual While (or repeat) while (something is true) { do something here } for for (something is true) { do something here }
  21. 21. Evolve Project | Brian Pichman 21 Putting Flow Control 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.
  22. 22. Evolve Project | Brian Pichman 22 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. Functions Coding Basics !
  23. 23. What could you “code” for 23 Coding Platforms ! With coding websites and web apps; there are front end (what users see) and back end (what admins see) that have to be considered Websites and Web Apps Web Based You may not realize it, but the servers and databases that run the things you use every day also has a level of coding involved Infrastructure Databases / Servers As more new technology for self- driving cars and digital assistants grows, there will be a need for these kinds of engineers The Hottest Trend Machine Learning / AI Often referred to as “thick” clients, applications that can be installed are coded – and each different operating systems requires different code Software Applications
  24. 24. What could you “code” for 24 Coding Platforms ! Video Gaming Video games is much more than great graphics, every character interaction, move, and story has to be coded Make Games Work Apps that run on mobile devices need specialized coders as well! There’s an app for that Mobile Apps
  25. 25. Evolve Project | Brian Pichman 25 Flash Light Examples Understanding AI ! If an ML algorithm makes an inaccurate prediction, then the engineer needs to correct. In DL, the algorithms can determine on their own if a prediction is accurate or not. Deep Learning Allow machines to make to their own accurate decisions without intervention from engineer Neural Networks" # If detects {dark} turn on {light} Logic Rules $ it’s performing a function with the data given and gets progressively better at that function Machine Learning Eventually, the system can turn on the light with other queues such as “I can’t see” DL “Code” Flashlight will turn on automatically as it learns other words for “dark” picking up on phrases that contains the word ML “Code”: % ♥ '
  26. 26. Evolve Project | Brian Pichman 26 • When editing or using filters in photos (do X to eyes and Y to ears) • Identification of license plates from an image in a toll violation • Facebook’s ability to identify and recommend faces in photos • iPhone users can have their phone categorize people by facial patterns – in which you then define their name • Google’s Image Recognition Examples How we see AI In Everyday Life Image Recognition ! Think of how we can use facial imaging to determine moods
  27. 27. Evolve Project | Brian Pichman 28 You probably see this everyday if you use Siri, Google Home, or an Echo Product. Overtime or with training, a system can tailored results based on identifying the user asking. For example, Google Home will provide my personal driving times to work if it hears me ask “how long will it take me to get to work” versus a friend asking who it has no data on. Examples How we see AI In Everyday Life Voice Recognition ! Think of how a system can respond and remember a user based solely on their voice
  28. 28. Evolve Project | Brian Pichman 30 And How We Use It Other Forms of AI ! Optical Character Recognition Think of how a picture of your license plate allows a machine to translate that to text and run a query to determine who violated a toll. Also see this in scanners that can take an image and convert this to text. Consider how you can take a photo of another language and have it translate to yours Advance User Preferences This is the concept of an AI providing solutions based on historic user’s preferences and comparing it to similar users. Compare how Amazon or Netflix makes recommendations based on your purchases or views – or even how Amazon guesses when you might run out of a specific product. Sensory Data Analysis Your wearables that detect heart rate for instance can determine without user intervention if you are working out and even what kind of work out such as jogging or bicycling.
  29. 29. What do you need to know to be an AI Engineer? 31 Skills For Learning ! Understanding data and how to read data sets is valuable https://dzone.com/articles/ten-machine- learning-algorithms-you-should-know-to Math and Algorithms Statistics Learning how inputs of code can interact physical parts Hardware + Software Robotics Learning to code at a basic level with syntax and flow; then move to Python (most common) https://www.geeksforgeeks.org/top-5-best- programming-languages-for-artificial- intelligence-field/ Coding Languages Coding Learning this is a huge skill to master, along with object recognition https://www.pyimagesearch.com/start- here-learn-computer-vision-opencv/ How Do Computers See Computer Vision
  30. 30. Evolve Project | Brian Pichman 32 Coding for Websites !
  31. 31. Evolve Project | Brian Pichman 33 There are many ways to program Requirements ! Getting Started If you’re programming, you’ll need a spot to “host” your code. If its web facing, you could use sites like Blue Host or Google Cloud computing. For internal applications, you can set up a “LAMP” stack, and often be able to host everything off a single computer. Lastly, you’ll need to run software to actually code There are are also different ways to code: These would be often hardware specific applications that allow the creation or customization of physical hardware, drivers, or firmware. Machine Languages Operating Systems like Mac, Windows, and Linux can be given commands to do things. Job Control, Shell Scripting, Text Processing Scripting " # Use a computer screen to do most of the coding for you. For example, you don’t need to code the dimensions of a “text box” just put one in and resize it to what you need GUI – Graphical User Interface $ # $ "
  32. 32. Evolve Project | Brian Pichman 34 Software to code: Microsoft Visual Studio
  33. 33. Evolve Project | Brian Pichman 35 Software to code: Dreamweaver
  34. 34. Evolve Project | Brian Pichman 36 Software to code: Notepad++
  35. 35. Traditional Programming Languages • FORTRAN • FORmula TRANslation. • Developed at IBM in the mid-1950s. • First programming language • Designed for scientific and mathematical applications by scientists and engineers.
  36. 36. Traditional Programming Languages (cont’d.) • COBOL • Common Business Oriented Language. • Developed in 1959. • Typically used for business applications.
  37. 37. Traditional Programming Languages (cont’d.) • 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.
  38. 38. Traditional Programming Languages (cont’d.) • 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.
  39. 39. Object-Oriented Programming Languages • 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
  40. 40. Object-Oriented Programming Languages • 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.
  41. 41. Special Programming Languages • Scripting Languages • JavaScript and VBScript • PHP and ASP • Perl and Python • Command Languages • sh, csh, bash, cmd
  42. 42. Special Programming Languages • 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.
  43. 43. 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)
  44. 44. • 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
  45. 45. Source: https://www.udemy.com/
  46. 46. Source: https://www.udemy.com/
  47. 47. Source: https://www.udemy.com/
  48. 48. Source: https://www.udemy.com/
  49. 49. Evolve Project | Brian Pichman 51 Raspberry Pi (Teaching Python) http://www.circuitbasics.com/how-to-write-and-run-a-python- program-on-the-raspberry-pi/
  50. 50. Evolve Project | Brian Pichman 52 Arduino IDE
  51. 51. Evolve Project | Brian Pichman 53 Looking “Under the Hood” with Developer Tools https://developers.google.com/web/tools/chrome-devtools/beginners/html
  52. 52. .mit.edu Scratch is a programming language for everyone. Create interactive stories, games, music and art and share them online.
  53. 53. Evolve Project | Brian Pichman 55 Finch Robot
  54. 54. Evolve Project | Brian Pichman 56 Feel free to reach out! Questions / Contacts ! 815-534-0403 " www.evolveproject.org bpichman@evolveproject.org # Twitter: @bpichman linkedin.com/in/bpichman slideshare.net/bpichman $

×