John McDonald

John McDonald

Member Since August 6, 2013
Open to Work

13,958

Total Points

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

Skills & Experience

175 Achievements

  • What a Beautiful Vue!
  • Introducing Vue
  • Java Lists
  • Generics in Java
  • Interfaces in Java
  • Java Inheritance
  • Persisting Data with Hibernate
  • Getting Started with Hibernate
  • Gotchas and Wins
  • Iteration
  • Creation
  • Meet Objects
  • Harnessing the Power of Objects
  • Creating the MVP
  • Delivering the MVP
  • Perfecting the Prototype
  • Getting to Know Bootstrap 4
  • First Commits
  • Setting Up Your Local Environment for Spring Development
  • Java Maps
  • 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
  • Handling Errors When Manipulating Data
  • Deleting Data from a Database
  • Updating Data in a Database
  • Adding Data to a Database
  • Finding the Data You Want
  • Getting Data from a Database
  • Data, Databases and SQL
  • A World Full of Spiders
  • Introducing Data Scraping
  • Tuning the User Interface
  • User Input in Android
  • Basic Android Programming
  • Improving Our Code
  • Testing and Debugging
  • Getting Started with Android
  • Creating the Screen Layout
  • Pickups
  • Score, Enemies, and Game State
  • Player Input and Cameras
  • Box Modeling Techniques
  • Working with Primitives
  • Adding New Behavior
  • Thinking in Components
  • Organizing Code into Methods
  • The Unity Editor and Scene Setup
  • Introduction to Video Games
  • Displaying Contact Data
  • A High Level Overview
  • The Delegate Pattern
  • Creating Flexible Objects Using Protocols
  • Protocol Basics
  • Swift Types
  • An Introduction to Swift Programming
  • jQuery and AJAX
  • Programming AJAX
  • AJAX Concepts
  • Creating a Simple Drawing Application
  • Creating a Password Confirmation Form
  • Creating a Mobile Drop Down Menu
  • JavaScript Objects
  • JavaScript Arrays
  • JavaScript Loops
  • Using your New Tools
  • Getting Started with Java
  • Introduction to Data Persistence
  • Acting on List Item Taps
  • Lists with RecyclerViews
  • Using Parcelable Data
  • Custom ListViews
  • Standard ListViews
  • Updating the Data Model
  • Hooking up the Model to the View
  • Building the Weather UI
  • Working with JSON
  • Concurrency and Error Handling
  • Networking
  • Exploring an API
  • Using Git for Android
  • Getting Started with Genymotion
  • Getting Started with Android Studio
  • Publishing on Google Play
  • Finishing the User Interface
  • The Model-View-Controller Pattern
  • Intents and Multiple Activities
  • User Input
  • Testing and Debugging
  • Improving Our Code
  • Coding the Fun Facts
  • Basic Android Programming
  • Creating the Initial Screen Layout
  • Getting Started with Android
  • Queries & Results
  • Getting Started with PDO
  • Types
  • Variables and Constants
  • Selecting Elements and Adding Events with JavaScript
  • Creating a Simple Lightbox
  • Creating a Spoiler Revealer
  • Introduction to jQuery
  • Databases and International Concerns
  • Starting Right with PHP Best Practices
  • PHP Inheritance & Interfaces
  • PHP Properties & Methods
  • PHP Objects and Classes
  • PHP Internal Functions
  • PHP Returns & Closures
  • PHP Functions Basics
  • PHP Loops
  • PHP Conditionals
  • PHP Datatypes
  • PHP Data & Structure
  • PHP Getting Started
  • JavaScript Functions
  • JavaScript and the DOM
  • JavaScript Conditional Statements
  • JavaScript Numbers
  • JavaScript Variables
  • Introducing JavaScript
  • Functions
  • Objects and Arrays
  • Control Structures
  • Basics
  • Advanced Sass Concepts
  • Speeding up Workflow With Sass
  • Variables, Mixins, and Extending Selectors
  • Getting Started with Sass
  • Getting Started with CSS
  • Structuring Tables
  • Table Basics
  • Choosing Options
  • Organizing Forms
  • Form Basics
  • Debugging HTML and CSS Problems
  • Sharing a Website
  • 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
  • Getting Data from the Web
  • Rebuilding from Scratch
  • Exploring the Master-Detail Template
  • Creating a Website Structure
  • Fluid Foundation
  • Introduction to Responsive Web Design
  • Why Start a Business?
  • Cleaning URLs with Subfolders
  • Integrating Validation Errors
  • Introduction to Illustrator
  • Working with PHP Functions
  • Listing Inventory Items
  • Adding a Contact Form
  • Creating the Menu and Footer
  • Getting Started with PHP
  • Interrogating the App
  • Shaking Things Up
  • Pretty Little Things
  • Learning the Language
  • Newbie