minh nguyen

minh nguyen

Member Since July 25, 2016

55,848

Total Points

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

726 Achievements

  • Introduction to Optionals
  • Introduction to Enumerations
  • Running Apps on a Device
  • Improving Our User Interface
  • Structs As Data Models
  • View Controllers and Views
  • Java Maps
  • Java Lists
  • Interfaces in Java
  • Quantitative Methods
  • Usability Studies
  • Qualitative Studies
  • Measuring Your Designs
  • Persuasive Patterns
  • UI Patterns
  • Designing with Patterns
  • Applying IA
  • Evaluating IA
  • Main Principles
  • What is Information Architecture?
  • The Design Solution
  • The Design Problem
  • Design Principles
  • What is Product Design?
  • Building a Flashcard App
  • Sweeping Vues: Loops, Methods, Directives
  • What a Beautiful Vue!
  • Introducing Vue
  • Getting Started with iOS Development
  • Differentiating Between Objects
  • Class Inheritance
  • Classes in Swift
  • Complex Data Structures
  • Adding Power to Functions
  • Functions in Swift
  • Control Flow With Conditional Statements
  • Control Flow With Loops
  • Building Out WordPress Navigation
  • The WordPress Loop
  • WordPress Header and Footer Templates
  • Working with CSS and JS in WordPress Themes
  • More Advanced PHP for WordPress
  • PHP Basics for WordPress
  • Telling the Story
  • Designing for Your User’s "To-be"
  • Understanding your User’s “As-is” Scenario
  • Becoming Acquainted with Your User
  • Becoming a Design Thinker
  • How to Make Wireframes in Adobe XD
  • How to Make Wireframes in Sketch
  • How to Make Wireframes in Balsamiq
  • How to Make Wireframes on Paper
  • What is Wireframing?
  • Principles of Design
  • Elements of Design
  • Putting it all Together
  • Refining the App
  • Building the Application
  • Setting up with Create React App
  • Going Further with Routing
  • Navigating, Nesting and Redirecting Routes
  • Getting Started with React Router
  • React Component Patterns
  • Stateful Components and Lifecycle Methods
  • Managing State and Data Flow
  • Build Modular Interfaces with Components
  • Stateful Components
  • Introducing Props
  • Thinking in Components
  • First Steps in React
  • The Role of Selectors in JavaScript
  • Pseudo-classes and Combinators
  • Selector Basics
  • JavaScript Objects and Conditionals
  • Adding the Game Logic
  • Making the Game Interactive
  • Rendering the Game
  •  Building Constructor Methods and Generating Objects
  • Introducing 'Four in a Row'
  • Checking Out and Returning a Book
  • Starting with Some Methods
  • Exploring Async/Await
  • Understanding Promises
  • Asynchronous JavaScript with Callbacks
  • JavaScript Arrays and Loops
  • Practice forEach
  • JavaScript Functions
  • Data Types and Variables
  • What is Asynchronous Programming?
  • How Jenkins Works
  • The Rough Plan
  • Practicing Classes
  • Demystifying the Portfolio
  • Using the Discovery Service
  • Using the Conversation Service
  • Introducing the Watson APIs
  • Refactoring and Modularizing a REST API
  • Create, Read, Update, Delete
  • Managing Data and Asynchronous Code
  • Getting to Know REST APIs
  • Asynchronous Code in Express
  • Angular Form Validation
  • Angular Basic Forms
  • Services in Angular
  • Angular Components
  • Setting Up an Angular Application
  • Dictionaries in Swift
  • Introduction to Collections
  • Swift Operators
  • Swift Types
  • An Introduction to Swift Programming
  • Functional Workhorses
  • Functional Rules
  • Covering Your Bases
  • Be Assertive!
  • What Is Testing?
  • Reusable GraphQL
  • Making Changes with Mutations
  • Fetching Data with Queries
  • Getting Started with GraphQL
  • More TODO with the MEAN Stack
  • Creating and Editing Data in a MEAN App
  • Setting Up MongoDB
  • Going MEAN with Angular
  • Going MEAN with Express
  • Introduction to MEAN
  • Improving Our Todo App
  • Services in Angular
  • Using Angular's Built-in Directives
  • Controllers and Scope
  • Getting Started with Angular
  • Callbacks and the DOM
  • Callbacks with Timers
  • JavaScript Frameworks, Libraries, and Developer Roles
  • JavaScript Outside of the Browser
  • Introduction to Callback Functions
  • Combining Array Methods
  • AWS and "The Cloud"
  • Playing a Counting Game
  • Next Steps
  • Financing Our Company
  • Selling Your Product
  • Marketing Your Product
  • Product Market Fit
  • Discovery
  • Creating a Long Term Business
  • Protecting Yourself With Contracts
  • Establishing a Proper Workflow
  • Pricing and Project Proposals
  • Finding Your First Project
  • Starting a Freelance Career
  • Business Plan for Freelance Business
  • Business Plan Basics
  • Segmenting and Protecting Data
  • Adding User Sign-In and Sign-Out
  • Adding User Registration
  • Test Time!
  • Introducing ASP.NET Identity
  • Character Builder
  • Welcome to Flask
  • Array Manipulation
  • Array Iteration
  • Planning Our Service
  • Getting the REST You Need 2
  • Completing the Project
  • Data Access Design Patterns
  • Entity Framework and ASP.NET MVC
  • Project Setup
  • Art Direction with the Picture Element
  • Image Delivery with Srcset and Sizes
  • Entity Framework and Databases
  • Writing Unit Tests
  • Unit Testing
  • Event Planning
  • Build a Pomodoro App
  • Design a Better App
  • Dockerize a Web App
  • Managing Images and Containers
  • Building Images Using Dockerfiles
  • Fundamentals of Docker
  • Docker Use Cases
  • Introducing CRUD Applications
  • Query Operators
  • Functional!
  • Timezones
  • Math Quiz App
  • Dates and Times
  • Now You're Querying!
  • Buggy Logs
  • Adding a List Page
  • Dice Roller
  • Cleaner Code
  • Modeling and Presenting Data
  • Views
  • Controllers
  • The Internet
  • Project Setup
  • Get Involved in Open Source
  • Python: Advanced Objects
  •  Create a Web Presence on GitHub
  • Graphic Basics
  •  Working on a Team
  • Working By Yourself
  • Hello, GitHub!
  • GitHub and Other Remote Repositories
  • Python: Inheritance
  • Managing Committed Files
  • Python: Instant Objects
  • First Commits
  • Dungeon Game 2
  • Sets and Dictionaries
  • Python Sets
  • Python Tuples
  • Lists
  • Python Dictionaries
  • Arrays
  • Python Slices
  • Data Retreiver
  • Serialized!
  • Python Lists
  • Data Parser
  • Build an Application
  • Using Lists
  • Data Reader
  • Meet Lists
  • Abstraction
  • System.Object
  • Polymorphism
  • All Together Now
  • Loops and Final Touches
  • Planning Your Users’ Journey
  • Strategy: Determining Goals for your Product
  • Understanding Our Users
  • Intro to User Experience (UX) Design
  • JavaScript Tools and Workflows
  • JavaScript is Everywhere
  • Encapsulation with Properties
  • Encapsulation and Arrays
  • Functions and Looping
  • Inheritance
  • Machine Learning Vocabulary
  • Introduction to Machine Learning
  • Types and Branching
  • Bells and Whistles
  • Meet Python
  • Writing Your Own Java Annotation
  • Review Functional Programming Fundamentals
  • Reduction and Aggregation
  • Meet Streams
  • What to Test
  • How To Test
  • Why Test
  • Efficiency!
  • Gotchas and Wins
  • Iteration
  • Creation
  • Vulnerabilities: Configuration, Components, and Logging
  • Vulnerabilities: Authentication, Access, and Sensitive Data
  • Vulnerabilities:  Injection, XSS, CSRF
  • The OWASP Top 10 Explained
  • Maintaining Secure Web Apps
  • Protecting Data and Keeping Attackers Out
  • Why Protect Your Web Apps
  • Security: Solutions
  • Security: Concerns
  • Security in Practice
  • Common Attacks and Defenses
  • Introduction To Data Visualization
  • The Data Analysis Process
  • Getting to Know Your Data
  • Introducing Data Analysis
  • Build a Spreadsheet
  • Spreadsheet Best Practices
  • Spreadsheet Functions & Formulas
  • Getting Started With Spreadsheets
  • Introducing Spreadsheets
  • Hello Internet!
  • Communicating with a RESTful API
  • Setting Up an Authorization System
  • Adding an Authentication System
  • Build a Library
  • Day 3: Getting Creative
  • Day 2: Advanced Selecting
  • Day 1: Joining Tables
  • Orientation: Selecting Data
  • Test Doubles
  • Acceptance Tests
  • Organizing your Tests
  • Creating Your Tests
  • Next Steps
  • Improving Our Tests
  • Behavior Driven Development with Mocha & Chai
  • Environment Variables
  • Introducing Unit Testing
  • Serving Static Files in Express
  • Applying Express Knowledge
  • Middleware
  • Deeper into Routing with Express
  • WordPress Plugins
  • WordPress Themes
  • The WordPress Customizer
  • Managing Media in WordPress
  • Video Marketing
  • Email Marketing
  • Search Engine Optimization
  • Usability Testing
  • Usability Basics
  • Social Media
  • Better SEO Through Tools
  • Better SEO Through Code
  • Better SEO Through Content
  • Introduction to SEO
  • Using Templates with Express
  • Getting Started with Express
  • 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
  • Building Forms With Bootstrap
  • Using Bootstrap Components
  • Responsive Layouts With the Bootstrap Grid
  • Getting to Know Bootstrap 4
  • Working with jQuery Collections (2017)
  • Understanding jQuery Events and DOM Traversal (2017)
  • Introducing jQuery (2017)
  • Going Further with HTML
  • Images, Text and Links
  • Structuring Your Content
  • Getting Started With HTML
  • Abstract Classes in PHP
  • Using Interfaces in PHP
  • Designing Interfaces in PHP
  • Parsing Specific Formats
  • Basic File Handling
  • Browser Persistent Data with PHP
  • Ruby Objects
  • Ruby Strings and Escape Sequences
  • Ruby Syntax
  • Adding a New Web Page
  • Make It Beautiful with CSS
  • PHPDB Stage 3: Using Relational Data
  • HTML: The Structural Foundation of Web Pages and Applications
  • Getting Familiar with HTML and CSS
  • Create Function Using Arrow Syntax
  • Using Template Literals
  • Defining Variables With let and const
  • Finishing the Game
  • Introducing JavaScript
  • Using the Rails Console
  • Creating Rails Apps
  • Introduction to PHP for WordPress
  • Building Page Templates in WordPress
  • Starting a WordPress Theme
  • Installing WordPress Locally
  • Java's Functional Toolset
  • File Uploads and Entity Updates in Spring + Hibernate
  • Data-Driven Application Design
  • User Messages in Spring
  • Getting Started with CRUD in Spring + Hibernate
  • Integrating Hibernate with Spring
  • Persisting Data with Hibernate
  • Getting Started with Hibernate
  • Data Persistence & ORMs
  • Using the MVC Architecture with Spring
  • Modeling, Storing, and Presenting Data with Spring
  • Creating Spring Controllers and Thymeleaf Views
  • Creating an SVG
  • Introduction to SVG
  • Design Patterns
  • Page Layout
  • Exploration
  • Discovery
  • Spring Components and Configuring Our App
  • Using Java's Built-In Annotations
  • Diving into Web Development
  • Graphical User Interfaces
  • IDE Exploration
  • How it Works
  • Extending the Family
  • Inheritance
  • Workflows
  • Working With Remote Repositories
  • Merging
  • Branches
  • Getting Started With Git
  • Captioning Video
  • Media Basics
  • Tools for Testers
  • Exploring the Java Collections Framework
  • Organizing Data
  • Getting There
  • Delivering the MVP
  • Creating the MVP
  • Harnessing the Power of Objects
  • Meet Objects
  • Perfecting the Prototype
  • Using your New Tools
  • Getting Started with Java
  • Managing Content in WordPress
  • How to Install WordPress on Your Computer
  • Custom Post Types in WordPress
  • WordPress Themes
  • Local WordPress Development
  • WordPress Plugin Best Practices
  • WordPress Widgets
  • Customizing WordPress Themes
  • What Is WordPress?
  • Actions, Dispatch and Reducers. Oh my!
  • Modularizing the React Scoreboard Application
  • Getting Started with Redux
  • Going Further with Routes
  • Navigating and Nesting Routes
  • Getting Started with React Router
  • Component Lifecycle
  • Designing Dataflow
  • Stateful Components
  • Thinking in Components
  • Completing and Testing the API
  • Communicating with Mongo Through Mongoose
  • Modeling Data for the API
  • Building API Routes in Express
  • Building a REST Service
  • Express Middleware
  • Sessions and Cookies
  • User Registration and Login
  • What is Authentication?
  • Using a jQuery Carousel
  • Add a Sticky Navigation Bar
  • Introducing jQuery Plugins
  • DOM Traversal
  • DOM Manipulation
  • Moving Forward with UX
  • Tools UXers Use
  • How UXers Think
  • What Do User Experience Designers Do?
  • What is User Experience (UX)?
  • Color Theory
  • Principles
  • Elements
  • Improving Usability
  • Mobile Usability
  • Website Usability
  • What is Usability?
  • Events
  • Hello, jQuery!
  • Improving the Application Code
  • Editing and Filtering Names
  • Adding and Removing Names
  • Traversing the DOM
  • Responding to User Interaction
  • Making Changes to the DOM
  • Go Further With Mongo
  • Working With Collections
  • Understanding MongoDB
  • Getting Started with MongoDB
  • Doing More with Express
  • Serving Static Files in Express
  • Using Templates with Express
  • The Request and Response Objects in Express
  • Developing Express Apps Like a Boss
  • Getting Started with Express
  • Improving your Gulp Workflow
  • Compile Sass with Gulp
  • Gulp your JavaScript workflow!
  • Welcome to Gulp.js
  • Updating and Uninstalling Packages with npm
  • Installing Packages with npm
  • What is npm?
  • HTTP Methods and Headers
  • Creating a Basic Template Engine in Node.js
  • Handling Routes in Node.js
  • Creating a Simple Server in Node.js
  • Creating a Command Line Weather Application
  • Handling Errors in Node
  • Getting a Handle on the DOM
  • The Browser Environment
  • Getting Data From an API With Node
  • Introduction to Node.js
  • Classes
  • Objects and New Collection Types
  • The Cooler Parts of ES2015
  • ES2015 Basics
  • Build a Simple Contact List
  • Ruby Iteration
  • Ruby Loops
  • Build a Grocery List Program
  • Ruby Hashes
  • Ruby Arrays
  • Ruby Logical Operators
  • Ruby Control Structures
  • Ruby Operators
  • Ruby Methods
  • Ruby Numbers (Ruby Basics)
  • Ruby Strings (Ruby Basics)
  • How Ruby Works
  • Error Handling
  • Creating Distributable OOP Packages
  • Autoloading and Composer
  • Databases and International Concerns
  • Starting Right with PHP Best Practices
  • Updating and Deleting Records
  • Database Security
  • Queries & Results
  • Getting Started with PDO
  • Why Version Control Matters
  • Build a Website With Bootstrap
  • Reading and Writing Reports
  • Creating Records
  • Project Setup
  • Prototyping With Bootstrap
  • What is Authentication
  • GET and POST Requests in a Browser
  • Introduction to HTTP
  • First Steps in React
  • Introduction to Front-End Frameworks
  • Building Forms with Bootstrap
  • Using Bootstrap Components
  • Responsive Layouts with the Bootstrap Grid
  • Final Project: Create a Typographic Site
  • Laying Out Type for the Web
  • Basic Web Typography
  • How to Choose and Use Webfonts
  • Introduction to Typography
  • Professional Development
  • Applying & Interviewing
  • The Job Search
  • Networking
  • Personal Branding
  • Setting Your Course
  • Careers in the Tech Industry
  • Self-Assessment
  • Introduction to Illustrator
  • Adding 3D Effects with CSS
  • Getting Started with CSS Transforms
  • Transition Timing Functions and Delays
  • Getting Started with CSS Transitions
  • 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
  • Getting the REST You Need
  • Contact Forms & Mailers
  • Slim and Templates
  • Custom Media Players
  • Captioning Video
  • Media Basics
  • Combine and Minify Assets
  • Optimize Assets
  • Measuring Performance
  • Planning for Performance
  • Installing Programs
  • Environment and Redirection
  • Console Processes
  • Console Users and Permission
  • Moving Around in the Console
  • Chrome DevTools Basics
  • Web Apps
  • Websites
  • Introduction
  • How To Test Our Code
  • Quiz Practice Project
  • Prototypal Inheritance
  • Constructor Functions & Prototypes
  • Introduction to Methods
  • AJAX and APIs
  • jQuery and AJAX
  • Programming AJAX
  • AJAX Concepts
  • Traversing and Manipulating the DOM with JavaScript
  • Selecting Elements and Adding Events with JavaScript
  • JavaScript and the DOM
  • Structuring Tables
  • Table Basics
  • Creating a Simple Drawing Application
  • Creating a Password Confirmation Form
  • Getting to Know Bootstrap 4
  • Creating a Mobile Drop Down Menu
  • Creating a Simple Lightbox
  • Creating a Spoiler Revealer
  • Introduction to jQuery
  • Advanced Selectors
  • Going Further with Attribute Selectors and Pseudo-Classes
  • Selectors - Beyond the Basics
  • JavaScript Objects
  • JavaScript Arrays
  • JavaScript Loops
  • Positioning Page Content
  • CSS Layout Project
  • Page Layout with the Float Property
  • Controlling Layout with CSS Display Modes
  • Getting Started with CSS Layout
  • JavaScript Functions
  • JavaScript Conditional Statements
  • JavaScript Numbers
  • JavaScript Variables
  • Introducing JavaScript
  • Choosing Options
  • Organizing Forms
  • Form Basics
  • Dependency Management
  • PHPDB Stage 5: Search
  • PHPDB Stage 4: Pagination with LIMITs
  • Securing and Maintaining a MySQL Database
  • SQL Calculating, Aggregating and Other Functions
  • Joining Relational Data Between Tables in SQL
  • Manipulating Schema with SQL
  • Creating Tables and Manipulating Data with SQL
  • Reading Data from Databases with SQL
  • Installing MySQL Server and MySQL Workbench
  • Introduction to Data, Databases and SQL
  • PHPDB Stage 2: Querying the Database with PHP
  • PHPDB Stage 1: Databases and PHP
  • Finding the Data You Want
  • Getting Data from a Database
  • Data, Databases and SQL
  • PHP Email Form Errors
  • PHP Email Forms
  • PHP Inventory
  • PHP Includes
  • PHP on the Web
  • Building a Layout with Flexbox
  • Flexbox Properties
  • Understanding Flexbox
  • Fundamental Concepts
  • Designing with the Latest Features
  • 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
  • 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
  • Setting Up Your Local Environment for Spring Development
  • Methods
  • Object-Oriented Programming
  • Perfect
  • Perform
  • Console I/O
  • Prepare and Plan
  • Building a Collection
  • Building the Recipe
  • Understanding Classes
  • Why Object-Oriented Programming?
  • PHP Internal Functions
  • PHP Returns & Closures
  • PHP Functions Basics
  • PHP Loops
  • PHP Arrays
  • PHP Conditionals
  • Daily Exercise Program
  • Unit Converter
  • Getting to Know PHP
  • Relating Models
  • Laravel CRUD
  • Validation & Flash Messages
  • Laravel Forms
  • Laravel & Databases
  • Laravel Controllers
  • Laravel Project Setup
  • Laravel Getting Started
  • PHP Datatypes
  • PHP Data & Structure
  • PHP Getting Started
  • Customizing Drupal
  • Modules and Themes
  • Site Building with the Drupal Interface
  • Learn About Drupal
  • Flask Templates
  • Make the REST Framework Work for You
  • Responsive Patterns
  • Media Queries
  • Responsive Theory
  • Layer Basics
  • Workspace Basics
  • Design Foundations Final
  • Becoming a Problem Solver
  • Understanding Aesthetics
  • Introduction to Design
  • The Django Admin
  • Same Old ORM
  • Django Models
  • Django Forms
  • Building Custom Filters
  • Building Custom Tags
  • Template Tags and Filters
  • Final Details
  • Django Templates
  • Model Administration
  • What a View
  • Say Hello to Django
  • Gettin' CRUD-y With It
  • Our Diary App
  • Meet Peewee
  • Hack-n-Slash
  • Python Inheritance
  • Python Objects
  • Dungeon Game
  • Tuples
  • Dictionaries
  • Slices
  • Lists Redux
  • Newbie