Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Coding for Non-Coders workshop

Coding for Non-Coders workshop

This deck is the (very) skinny outline of what's covered in my all-day workshop, Coding for Non-Coders. This workshop is based on my online video course hosted at the Ministry of Testing: https://ministryoftesting.com/dojo/series/coding-for-non-coders-jim-holmes

You can find the code for this workshop at my GitHub repository: https://github.com/jimholmes/CodingWorkshop

Jim Holmes

June 12, 2019
Tweet

More Decks by Jim Holmes

Other Decks in Technology

Transcript

  1. Today’s Goals • Understand why coding is valuable for you

    • Get comfortable with writing simple code • Learn to write code and use code tools • Learn how to collaborate with developers • Gain confidence in working with code
  2. Today’s Blocks 1. How Code Works 2.Libraries, Code, Writing Tests!

    3.More Tests, Lean Coffee (YOU choose what we cover!) 4.Code Katas
  3. This Course Will NOT •Make you a professional software engineer

    •Teach you in-depth coding concepts •Teach you how to use source control •Make you a master with an IDE
  4. This Course WILL •Give you a starting point for good

    conversations •Get you familiar with fundamentals of writing code •Get you comfortable enough to continue learning
  5. DISCLAIMER I am not a computer scientist. Some of this

    content may be metaphorically correct but technically incorrect.
  6. Coding for Non-Coders What The CPU Needs 0000 0000 0000

    0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0010 1101
  7. • CPUs only speak binary • Each type of CPU

    is unique • Text => Executable varies by language platform • Execution models vary (Interpreted, JIT, compiled) Coding for Non-Coders Recap
  8. • Procedural == Straight line of execution • C, Pascal,

    Cobol • Object Oriented == Everything is a Thing • Java, Python, C++, .NET, Java, many others • Functional == Highly structured • Lisp, Haskell, F#, many others Coding for Non-Coders General Types of Programming
  9. • camelCasing • Common in Java • PascalCasing • .NET

    and others • behavior_driven_development • Ruby, BDD enthusiasts Coding for Non-Coders Naming Conventions
  10. • Classes == A thing • Methods == Behaviors •

    Properties == Attributes/Characteristics • Inheritance == Share common traits • Encapsulation == Hide information Coding for Non-Coders A Bit on OOP