Keith Whatling

Keith Whatling

Wokingham, Berkshire, United Kingdom
Open to Work

I'm an imposter, I've been trying to learn to code for YEARS, but always get distracted by projects at work taht I can do with low code tools. I'm back again to become a "real boy"

17,752

Total Points

Points are earned whenever you take an important action on Treehouse.
Learn more about when and how points are earned.

Skills & Experience

  • Company

    Applied Information Sciences

  • Job Title

    Solutions Architect

  • Spoken Languages

    • English
    • Polish - Beginner
  • Awards

    • Doing Something New - Arriva 2013
    • Microsoft MVP

197 Achievements

  • Getting Started with TypeScript
  • Rendering the Game
  •  Building Constructor Methods and Generating Objects
  • Introducing 'Four in a Row'
  • Getters and Setters
  • Working with Classes in JavaScript
  • Object Basics
  • Introduction to Object-Oriented JavaScript
  • Exploring Async/Await
  • Understanding Promises
  • Asynchronous JavaScript with Callbacks
  • What is Asynchronous Programming?
  • Programming AJAX
  • AJAX Concepts
  • Traversing the DOM
  • Responding to User Interaction
  • Making Changes to the DOM
  • Getting a Handle on the DOM
  • The Browser Environment
  • JavaScript Tools and Workflows
  • JavaScript is Everywhere
  • Working with 'for' Loops
  • Simplify Repetitive Tasks with Loops
  • Multidimensional Arrays
  • Loop Through Arrays
  • Store Multiple Values in an Array
  • Loop Through Objects
  • Object Basics
  • Arrow Functions
  • Pass Information Into Functions
  • Create Reusable Code with Functions
  • The Math Object
  • Working with Numbers
  • Making Decisions in Your Code with Conditional Statements
  • Working With Strings
  • Storing and Tracking Information with Variables
  • Hello, JavaScript!
  • The Internet
  • Computer Languages
  • Computer Basics
  • Getting Data from a Database
  • Data, Databases and SQL
  • Create Function Using Arrow Syntax
  • Using Template Literals
  • Defining Variables With let and const
  • Getting Started With HTML
  • JavaScript Loops
  • JavaScript Functions
  • JavaScript Conditional Statements
  • Introducing JavaScript
  • Finishing the Game
  • Getting the REST You Need 2
  • Introducing CRUD Applications
  • Adding a List Page
  • Modeling and Presenting Data
  • Views
  • Controllers
  • Project Setup
  • Query Builder
  • Query Operators
  • Functional!
  • Now You're Querying!
  • What To Test
  • Test Driven Development
  • Writing Unit Tests
  • Unit Testing
  • Sets and Dictionaries
  • Lists
  • Arrays
  • Data Retreiver
  • Getting the REST You Need
  • Serialized!
  • Data Parser
  • Data Reader
  • Abstraction
  • System.Object
  • Polymorphism
  • Loops and Final Touches
  • Encapsulation with Properties
  • When To Use What Type of Chart
  • Introduction To Data Visualization
  • Save for the Web
  • Adding Images and a Mockup
  • Logo Design
  • Creating a Wireframe
  • Introducing Adobe Illustrator
  • Digital Media Basics
  • Create a Banner Ad
  • Hello, Photoshop!
  • Encapsulation and Arrays
  • Inheritance
  • Methods
  • What is Agile?
  • Object-Oriented Programming
  • Perfect
  • Perform
  • Console I/O
  • Getting Started With Git
  • Why Version Control Matters
  • GET and POST Requests in a Browser
  • Introduction to HTTP
  • Adding a New Web Page
  • Make It Beautiful with CSS
  • HTML: The Structural Foundation of Web Pages and Applications
  • Getting Familiar with HTML and CSS
  • Dice Roller
  • Python: Advanced Objects
  • Python: Inheritance
  • Python: Instant Objects
  • Dungeon Game 2
  • Python Sets
  • Python Tuples
  • Python Dictionaries
  • Python Slices
  • Python Lists
  • Letter Game App
  • Number Game App
  • Shopping List App
  • Logic in Python
  • Python Data Types
  • Basic Layout
  • Getting Started with Data Science
  • The Box Model
  • Understanding Values and Units
  • Python For Beginners
  • PHP Data & Structure
  • PHP Getting Started
  • Getting Started with WordPress
  • Takin' Names
  • Prepare and Plan
  • Making Strong Users
  • Exterminator
  • Basic Selectors
  • Getting Started with CSS
  • Responsive Web Design and Testing
  • Adding Pages to a Website
  • Styling Web Pages and Navigation
  • Customizing Colors and Fonts
  • CSS: Cascading Style Sheets
  • Creating HTML Content
  • HTML First
  • Beginning HTML and CSS
  • Introduction to Front-End Frameworks
  • Workflow Basics
  • Slices & Save for Web
  • Vector Shapes
  • Type Tools
  • Masks Basics
  • Layer Basics
  • Workspace Basics
  • Character Builder
  • Flask Templates
  • Welcome to Flask
  • Covering Your Bases
  • Be Assertive!
  • What Is Testing?
  • Gettin' CRUD-y With It
  • Our Diary App
  • Meet Peewee
  • Python Regular Expressions
  • Timezones
  • Math Quiz App
  • Dates and Times
  • Buggy Logs
  • Cleaner Code
  • Building Custom Filters
  • Building Custom Tags
  • Template Tags and Filters
  • Hack-n-Slash
  • Python Inheritance
  • Test Time!
  • Final Details
  • Django Templates
  • Model Administration
  • What a View
  • Introduction
  • Solving an Important Problem
  • Say Hello to Django
  • Introduction to Node.js
  • JavaScript Numbers
  • Python Objects
  • Dungeon Game
  • Tuples
  • Dictionaries
  • Slices
  • Lists Redux
  • Local Python
  • JavaScript Variables
  • Introducing JavaScript
  • Coding HTML Email
  • Pick a Number! Any Number!
  • Putting the "Fun" Back in "Functions"
  • Shopping List
  • Things That Count
  • Ins & Outs
  • Say Hello to Python
  • Newbie