Josh Keenan

Josh Keenan

Hertfordshire, United Kingdom

20,315

Total Points

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

Skills & Experience

  • Spoken Languages

    • English
    • Spanish
    • Catalan

195 Achievements

  • Fundamental Concepts
  • Understanding Values and Units
  • Basic Selectors
  • Getting Started with CSS
  • Building a Layout with Flexbox
  • Flexbox Properties
  • Understanding Flexbox
  • Making Strong Users
  • Welcome to OOP
  • Django Authentication
  • Total Control
  • Basic ORM Usage
  • Security and Customization
  • Make the REST Framework Work for You
  • RESTful Django
  • Final Details
  • Same Old ORM
  • Django Templates
  • Model Administration
  • API Protection
  • GET and POST Requests in a Browser
  • Resourceful Blueprints
  • Additional Scraping Tasks
  • A World Full of Spiders
  • Introducing Data Scraping
  • Array Programming
  • Array Organization
  • Meet NumPy
  • Exploring pandas
  • Meet pandas
  • 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
  • Data Eruption
  • Chart Toppers
  • Getting Started with Data Visualization
  • The Lambda Lambada
  • Practice Functions
  • Packing and Unpacking
  • Getting Info In and Out of Functions
  • Introduction to Functions
  • Functional Workhorses
  • Sequence Operations
  • Introducing Dictionaries
  • Sequence Iterations
  • Iterating and Packing with Dictionaries
  • Getting to Know Tuples
  • Functional Rules
  • Dice Roller
  • Python: Advanced Objects
  • Python: Inheritance
  • Python: Instant Objects
  • Dungeon Game 2
  • Python Sets
  • Python Tuples
  • Build an Application
  • Using Lists
  • Meet Lists
  • All Together Now
  • Functions and Looping
  • Types and Branching
  • Meet Python
  • Getters and Setters
  • Working with Classes in JavaScript
  • Object Basics
  • Introduction to Object-Oriented JavaScript
  • jQuery and AJAX
  • Programming AJAX
  • AJAX Concepts
  • Introduction to Methods
  • Python Dictionaries
  • Python Slices
  • Python Lists
  • Go Further With Mongo
  • Working With Collections
  • Understanding MongoDB
  • Getting Started with MongoDB
  • Day 3: Getting Creative
  • Day 2: Advanced Selecting
  • Day 1: Joining Tables
  • Orientation: Selecting Data
  • Subqueries
  • Set Operations
  • Joining Table Data with SQL
  • Table Relationships
  • Database Keys
  • Database Normalization
  • Date and Time Functions
  • Aggregate and Numeric Functions
  • Working with Text
  • Ordering, Limiting and Paging Results
  • Updating Data in a Database
  • Handling Errors When Manipulating Data
  • Deleting Data from a Database
  • Adding Data to a Database
  • Introduction to HTTP
  • Getting the REST You Need
  • Building Forms with Bootstrap
  • Using Bootstrap Components
  • Responsive Layouts with the Bootstrap Grid
  • Getting to Know Bootstrap 4
  • Getting Started with Data Science
  • Setting Up Your Local Environment for Spring Development
  • Controlling Layout with CSS Display Modes
  • Getting Started with CSS Layout
  • Organizing Forms
  • Form Basics
  • Better SEO Through Content
  • Introduction to SEO
  • Fundamental Concepts
  • Designing with the Latest Features
  • Traversing and Manipulating the DOM with JavaScript
  • Selecting Elements and Adding Events with JavaScript
  • JavaScript and the DOM
  • Tacocat Challenge
  • Creating a Simple Drawing Application
  • What a View
  • Say Hello to Django
  • Letter Game App
  • Number Game App
  • Shopping List App
  • Logic in Python
  • Python Data Types
  • Python For Beginners
  • Finding the Data You Want
  • Getting Data from a Database
  • Data, Databases and SQL
  • Basic Layout
  • The Box Model
  • Understanding Values and Units
  • Basic Selectors
  • Getting Started with CSS
  • Debugging HTML and CSS Problems
  • Sharing a Website
  • Responsive Web Design and Testing
  • Creating a Password Confirmation Form
  • Creating a Mobile Drop Down Menu
  • Creating a Simple Lightbox
  • Creating a Spoiler Revealer
  • Introduction to jQuery
  • JavaScript Objects
  • JavaScript Arrays
  • JavaScript Loops
  • Adding Pages to a Website
  • JavaScript Functions
  • JavaScript Conditional Statements
  • Score, Enemies, and Game State
  • Pickups
  • Player Input and Cameras
  • JavaScript Numbers
  • The Unity Editor and Scene Setup
  • Introduction to Video Games
  • JavaScript Variables
  • Introducing JavaScript
  • How to Win Friends
  • Be Assertive!
  • What Is Testing?
  • Python Regular Expressions
  • Timezones
  • Math Quiz App
  • Dates and Times
  • Broadcasting
  • Takin' Names
  • Making Strong Users
  • Gettin' CRUD-y With It
  • Our Diary App
  • Meet Peewee
  • Character Builder
  • Local Python
  • Dungeon Game
  • Flask Templates
  • Welcome to Flask
  • Tuples
  • Dictionaries
  • Buggy Logs
  • Cleaner Code
  • Hack-n-Slash
  • Python Inheritance
  • Python Objects
  • Styling Web Pages and Navigation
  • Customizing Colors and Fonts
  • CSS: Cascading Style Sheets
  • Creating HTML Content
  • HTML First
  • Beginning HTML and CSS
  • Slices
  • Lists Redux
  • Pick a Number! Any Number!
  • Putting the "Fun" Back in "Functions"
  • Shopping List
  • Things That Count
  • Ins & Outs
  • Say Hello to Python
  • Newbie