Thomas Ma

Thomas Ma

Member Since June 15, 2020

12,689

Total Points

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

153 Achievements

  • Gettin' CRUD-y With It
  • Our Diary App
  • Meet Peewee
  • Covering Your Bases
  • Be Assertive!
  • What Is Testing?
  • Functional Rules
  • Create, Read, Update, Delete
  • Refactoring and Modularizing a REST API
  • Managing Data and Asynchronous Code
  • Updating Data in a Database
  • Deleting Data from a Database
  • Handling Errors When Manipulating Data
  • Adding Data to a Database
  • Updating and Uninstalling Packages with npm
  • Asynchronous Code in Express
  • Installing Packages with npm
  • HTTP Methods and Headers
  • Creating a Basic Template Engine in Node.js
  • Creating a Simple Server in Node.js
  • Finding the Data You Want
  • What is npm?
  • Performing CRUD Operations
  • Defining Models
  • Creating a Command Line Weather Application
  • Handling Errors in Node
  • Getting Data From an API With Node
  • Introduction to Node.js
  • Loop Through Objects
  • Getting Data from a Database
  • Getting to Know REST APIs
  • Data, Databases and SQL
  • Serving Static Files in Express
  • Applying Express Knowledge
  • Middleware
  • Deeper into Routing with Express
  • Using Templates with Express
  • Getting Started with Express
  • Getting Started with Sequelize
  • Handling Routes in Node.js
  • Adding the Game Logic
  • Making the Game Interactive
  • Rendering the Game
  •  Building Constructor Methods and Generating Objects
  • Introducing 'Four in a Row'
  • JavaScript is Everywhere
  • JavaScript Tools and Workflows
  • Object Basics
  • Multidimensional Arrays
  • Store Multiple Values in an Array
  • Loop Through Arrays
  • Working with 'for' Loops
  • Simplify Repetitive Tasks with Loops
  • Timezones
  • Math Quiz App
  • Dice Roller
  • Python: Advanced Objects
  • Dates and Times
  • Buggy Logs
  • Cleaner Code
  • Iterating and Packing with Dictionaries
  • Python: Inheritance
  • Python: Instant Objects
  • Introducing Dictionaries
  • Sequence Operations
  • Sequence Iterations
  • Packing and Unpacking
  • Getting Info In and Out of Functions
  • Introduction to Functions
  • Getting to Know Tuples
  • Build an Application
  • Using Lists
  • Meet Lists
  • All Together Now
  • Functions and Looping
  • Types and Branching
  • Meet Python
  • Chrome DevTools Basics
  • Testing for Accessibility
  • Mobile Accessibility
  • Accessible UI Patterns
  • Semantic HTML and WAI-ARIA
  • WCAG 2.0 (and Other Standards)
  • Access for Everybody
  • 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
  • Captioning Video
  • Media Basics
  • Structuring Tables
  • Table Basics
  • Combine and Minify Assets
  • Optimize Assets
  • Measuring Performance
  • Planning for Performance
  • Building Forms With Bootstrap
  • Using Bootstrap Components
  • Responsive Layouts With the Bootstrap Grid
  • Getting to Know Bootstrap 4
  • Traversing the DOM
  • Responding to User Interaction
  • Making Changes to the DOM
  • Getting a Handle on the DOM
  • The Browser Environment
  • Advanced Selectors
  • Going Further with Attribute Selectors and Pseudo-Classes
  • Selectors - Beyond the Basics
  • Choosing Options
  • Organizing Forms
  • Form Basics
  • Building a Layout with Flexbox
  • Flexbox Properties
  • Understanding Flexbox
  • Responsive Patterns
  • Media Queries
  • Responsive Theory
  • Positioning Page Content
  • CSS Layout Project
  • Page Layout with the Float Property
  • Controlling Layout with CSS Display Modes
  • Getting Started with CSS Layout
  • 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!
  • Understanding Values and Units
  • Designing with the Latest Features
  • Fundamental Concepts
  • Basic Layout
  • The Box Model
  • Basic Selectors
  • Getting Started with CSS
  • Going Further with HTML
  • Structuring Your Content
  • Images, Text and Links
  • Getting Started With HTML
  • 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
  • Newbie