Elise Kain

Elise Kain

Charlottesville, VA

54,392

Total Points

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

727 Achievements

  • Principles of Design
  • Elements of Design
  • Serving Static Files in Express
  • Applying Express Knowledge
  • Middleware
  • Deeper into Routing with Express
  • Using Templates with Express
  • Getting Started with Express
  • Practical Jenkins
  • Pipelines
  • How Jenkins Works
  • Putting it all Together
  • Actions, Dispatch and Reducers. Oh my!
  • Modularizing the React Scoreboard Application
  • Getting Started with Redux
  • Going Further with Routing
  • Navigating, Nesting and Redirecting Routes
  • Getting Started with React Router
  • Positioning Page Content
  • CSS Layout Project
  • Page Layout with the Float Property
  • Controlling Layout with CSS Display Modes
  • Getting Started with CSS Layout
  • Traversing the DOM
  • Responding to User Interaction
  • Making Changes to the DOM
  • Optimization Best Practices
  • Asset Optimization
  • Why Web Performance Matters
  • Getters and Setters
  • Working with Classes in JavaScript
  • Object Basics
  • Introduction to Object-Oriented JavaScript
  • Refactoring and Modularizing a REST API
  • Create, Read, Update, Delete
  • Managing Data and Asynchronous Code
  • Getting to Know REST APIs
  • Regular Expressions
  • WebDriver Input Actions
  • WebDriver Waits
  • Use Selenium with Testing Frameworks
  • Exploring Best Practices
  • Test Drive
  • Meet Selenium
  • Searching Names
  • Sorting Algorithms
  • Creating a Command Line Weather Application
  • Handling Errors in Node
  • Getting Data From an API With Node
  • Introduction to Node.js
  • Building a Layout with Flexbox
  • Flexbox Properties
  • Understanding Flexbox
  • React Component Patterns
  • Stateful Components and Lifecycle Methods
  • Managing State and Data Flow
  • Build Modular Interfaces with Components
  • The Role of Selectors in JavaScript
  • Pseudo-classes and Combinators
  • Selector Basics
  • Stateful Components
  • Introducing Props
  • Thinking in Components
  • First Steps in React
  • Improving Quality Assurance Practices
  • Bug Reporting
  • Executing Tests
  • Writing Manual Test Cases
  • Why We Test
  • Common Commands
  • Directories and Files
  • The Command Shell
  • Merge Sort and Linked Lists
  • The Merge Sort Algorithm
  • Building a Linked List
  • Exploring Arrays
  • Branches on Git Hosting Services
  • Remote Branches
  • Merging
  • Branches
  • Combining Array Methods
  • Array Manipulation
  • Array Iteration
  • Captioning Video
  • Media Basics
  • Going Further with Grid Layout
  • Flexible Sized Grids
  • Introducing Grid Layout
  • Vulnerabilities: Configuration, Components, and Logging
  • Vulnerabilities: Authentication, Access, and Sensitive Data
  • Vulnerabilities:  Injection, XSS, CSRF
  • The OWASP Top 10 Explained
  • Recursion and Space Complexity
  • Algorithms in Code
  • Time Complexity
  • Playing a Counting Game
  • Applying IA
  • Evaluating IA
  • Main Principles
  • What is Information Architecture?
  • Quantitative Methods
  • Usability Studies
  • Qualitative Studies
  • Measuring Your Designs
  • Team Collaboration in Figma
  • Prototyping Designs in Figma
  • Introducing Figma
  • LTV Analysis by Example
  • What is LTV?
  • 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?
  • How to Critique Design
  • Putting It All Together
  • Embracing the Process
  • Curating the Work
  • Portfolio Goals
  • Demystifying the Portfolio
  • Dockerize a Web App
  • Managing Images and Containers
  • Building Images Using Dockerfiles
  • Fundamentals of Docker
  • Docker Use Cases
  • Planning Your Users’ Journey
  • Strategy: Determining Goals for your Product
  • Understanding Our Users
  • Intro to User Experience (UX) Design
  • Selecting Relevant Data
  • Handling Bad Data
  • “Clean” or “Dirty” Data
  • Implementing UX Content
  • Creating UX Content
  • UX Content Attributes
  • UX Content Basics
  • Persuasive Patterns
  • UI Patterns
  • Designing with Patterns
  • 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
  • JavaScript Objects and Conditionals
  • JavaScript Arrays and Loops
  • JavaScript Functions
  • Data Types and Variables
  • Security in Practice
  • Common Attacks and Defenses
  • Hello Internet!
  • The Design Solution
  • The Design Problem
  • Design Principles
  • What is Product Design?
  • S3 Storage Service
  • AWS and "The Cloud"
  • Big Data at Netflix
  • Where and How Big Data Is Used
  • Creating Spring Controllers and Thymeleaf Views
  • What is Big Data
  • Exploration
  • Discovery
  • Creating and Modifying Database Tables
  • Spring Components and Configuring Our App
  • Setting Up Your Local Environment for Spring Development
  • JavaScript Frameworks, Libraries, and Developer Roles
  • JavaScript Outside of the Browser
  • Practicing Object Basics
  • Practicing Getters and Setters
  • Practicing Classes
  • Graphical User Interfaces
  • Advanced Tooling
  • Introducing IntelliJ and Unpacking Packages
  • IDE Exploration
  • How it Works
  • Efficiency!
  • Exploring the Java Collections Framework
  • Organizing Data
  • Getting There
  • Gotchas and Wins
  • Iteration
  • Creation
  • Delivering the MVP
  • Creating the MVP
  • Harnessing the Power of Objects
  • Meet Objects
  • Perfecting the Prototype
  • Using your New Tools
  • Getting Started with Java
  • Maintaining Secure Web Apps
  • Protecting Data and Keeping Attackers Out
  • Why Protect Your Web Apps
  • JavaScript Tools and Workflows
  • JavaScript is Everywhere
  • Working with jQuery Collections (2017)
  • Understanding jQuery Events and DOM Traversal (2017)
  • Introducing jQuery (2017)
  • Callbacks and the DOM
  • Callbacks with Timers
  • Introduction to Callback Functions
  • Security: Solutions
  • Security: Concerns
  • Create Function Using Arrow Syntax
  • Using Template Literals
  • Defining Variables With let and const
  • Professional Development
  • Applying & Interviewing
  • The Job Search
  • Networking
  • Personal Branding
  • Setting Your Course
  • Careers in the Tech Industry
  • Finishing the Game
  • Introducing JavaScript
  • Add Reusable Logic to Your Sass
  • Write Smart and Efficient CSS with Sass
  • Improve Your Workflow with Sass
  • Getting Started with Sass
  • The Data Analysis Process
  • Getting to Know Your Data
  • Introducing Data Analysis
  • Going Further with HTML
  • Images, Text and Links
  • Structuring Your Content
  • Getting Started With HTML
  • Getting the REST You Need 2
  • Day 3: Getting Creative
  • Day 2: Advanced Selecting
  • Day 1: Joining Tables
  • Orientation: Selecting Data
  • Reformatting User Input
  • Validating a Form with Regular Expressions
  • Regular Expressions
  • Lists, Code, Links and Images
  • Understanding Markdown
  • Practice forEach
  • Writing a Classifier
  • Machine Learning Vocabulary
  • Introduction to Machine Learning
  • Starting Your Genesis Theme
  • Setup and Structure
  •  Child Themes
  • The Genesis Marketplace
  • Configuring a Genesis Child Theme
  • An Overview of the Genesis Framework
  • An Overview of WordPress Frameworks
  • The Settings API in Different Places
  • Taking WordPress Settings Further
  • Getting Started with Theme Options Settings
  • WordPress Settings API Overview
  • SEO Plugins for WordPress
  • Enhancing the SEO of a WordPress Theme
  • Content Comes First
  • Getting Started with Android
  • Express Middleware
  • Sessions and Cookies
  • User Registration and Login
  • What is Authentication?
  • Testing for Accessibility
  • Mobile Accessibility
  • Accessible UI Patterns
  • Semantic HTML and WAI-ARIA
  • WCAG 2.0 (and Other Standards)
  • Access for Everybody
  • Getting a Handle on the DOM
  • The Browser Environment
  • Adding 3D Effects with CSS
  • Getting Started with CSS Transforms
  • Transition Timing Functions and Delays
  • Getting Started with CSS Transitions
  • Modular Media Queries
  • Sass Grid System
  • SMACSS and Sass
  • Sass and BEM
  • Getting Modular with Mixins and Functions
  • Advanced Directives
  • Concepts on Advanced Functions
  • Advanced Variables, Mixins, Functions, and Placeholders
  • Getting Started with Advanced Sass
  • Next Steps
  • Improving Our Tests
  • Behavior Driven Development with Mocha & Chai
  • Introducing Unit Testing
  • Completing and Testing the API
  • Communicating with Mongo Through Mongoose
  • Modeling Data for the API
  • Building API Routes in Express
  • Building a REST Service
  • GET and POST Requests in a Browser
  • Introduction to HTTP
  • Getting the REST You Need
  • PHP on the Web
  • Daily Exercise Program
  • Unit Converter
  • Getting to Know PHP
  • Date and Time Functions
  • Aggregate and Numeric Functions
  • Working with Text
  • Ordering, Limiting and Paging Results
  • Subqueries
  • Set Operations
  • Joining Table Data with SQL
  • Table Relationships
  • Database Keys
  • Database Normalization
  • Overview of the WordPress Customizer
  • Finishing Your WordPress Theme
  • Custom Homepage Templates in WordPress
  • Adding a Blog to a WordPress Theme
  • Custom Post Type Templates
  • Building Out WordPress Navigation
  • Building Page Templates in WordPress
  • The WordPress Loop
  • WordPress Header and Footer Templates
  • Working with CSS and JS in WordPress Themes
  • Starting a WordPress Theme
  • Customizing the User Experience in WordPress
  • Default User Roles in WordPress
  • An Overview of User Roles and Fields
  • Moving from WordPress.com to Self-Hosted WordPress.org
  • WordPress Plugin Best Practices
  • Widgets and Custom Menus
  • Custom Post Types and Fields
  • Customizing WordPress Themes
  • WordPress Themes
  • Installing Wordpress
  • WordPress Admin Settings
  • Custom Dashboard Widgets
  • Controlling Admin Navigation
  • Customizing the Login Screen
  • Admin Color Schemes
  • WordPress Plugins
  • WordPress Themes
  • The WordPress Customizer
  • Managing Media in WordPress
  • Managing Content in WordPress
  • Classes
  • Objects and New Collection Types
  • The Cooler Parts of ES2015
  • ES2015 Basics
  • Self-Assessment
  • 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
  • Get Involved in Open Source
  •  Create a Web Presence on GitHub
  •  Working on a Team
  • Working By Yourself
  • Hello, GitHub!
  • Go Further With Mongo
  • Working With Collections
  • Understanding MongoDB
  • Getting Started with MongoDB
  • Perfect
  • Perform
  • Console I/O
  • Prepare and Plan
  • 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
  • How to Install WordPress on Your Computer
  • Prototyping With Bootstrap
  • Introduction to Front-End Frameworks
  • Cleanup and Feature Merge
  • Maintaining The Test Suite
  • Polishing Rails Applications
  • Static Pages with Rails
  • 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
  • Finishing the Prototype
  • Grid Layout and UI Components
  • Getting to Know Foundation for Apps
  • Making sense of it all
  •  Learning activity: Interviewing
  • Learning activity: Field Observation
  • Learning activity: Experience Sampling
  • Finding participants for your learning activity
  • Solving an Important Problem
  • Make Your Own AngularJS Widget
  • Extending Inputs
  • AngularJS Directives
  • Two-way Data Binding
  • AngularJS MVC Frameworks
  • Getting Started with WooCommerce Theme Development
  • Working with Rails Layouts
  • Zurb Foundation on Rails
  • Remember Me
  • Customizing the WooCommerce Cart and Checkout Process
  • Starting a Custom WooCommerce Theme
  • Cart, Checkout and Account Templates and Hooks
  • Global and Product Templates and Hooks
  • Running an Ecommerce Site Long Term
  • Setting Up WooCommerce
  • Introduction to Ecommerce with WordPress
  • Add Bootstrap Components to WordPress Theme
  • Create Bootstrap Styled Theme Templates
  • Setup a Bootstrap Theme
  • API Authentication
  • Coding the API
  • Route Connections
  • Introduction to REST
  • Exploring Ember
  • Ember Data
  • Models
  • Controllers
  • Routes and Templates
  • Getting Started with Ember.js
  • Debugging, Best Practices, and Production
  • Refactoring with Sass
  • Installing Sass and Setting up the Project
  • Styling a Header
  • Sass and Rails
  • Ruby Standard Library: Part 2
  • Ruby Standard Library: Part 1
  • Ruby Core
  • Store Inventory Using Modules
  • Include and Extend
  • Ruby Core Modules
  • Ruby Module Basics
  • Working with a Developer
  • Designing our App
  • Wireframing, Interaction Design and Planning
  • ADS Writing and Preparation
  • Introduction to UI Design
  • Keyframe and Line Drawing Animations
  • Transitions and Transforms
  • Styling Rails Models
  • Ruby on Rails Helpers
  • Rails Partials
  • Gems In Depth
  • Ruby Gems
  • Protecting and Sharing Your Work
  • Licensing
  • Fair Use and Public Domain
  • Getting Started with Copyright
  • Creating an App Tutorial
  • Blank Slates and Rails
  • Email with Rails
  • Final Project: Create a Typographic Site
  • Laying Out Type for the Web
  • Basic Web Typography
  • How to Choose and Use Webfonts
  • The Production Server
  • The Staging Server
  • The Local Development Environment
  • More Advanced PHP for WordPress
  • PHP Basics for WordPress
  • Introduction to PHP for WordPress
  • Introduction to Typography
  • Improving Usability
  • Mobile Usability
  • Website Usability
  • What is Usability?
  • Going Mobile
  • Designing Email with CSS
  • Coding HTML Email
  • HTML Email Basics
  • What is the MailChimp API
  • A Template Hierarchy Review
  • Media Templates in WordPress
  • Custom Post Type Templates
  • Archive Templates in WordPress
  • Page and Post Templates in WordPress
  • Homepage Templates in WordPress
  • Core WordPress Theme Files
  • How WordPress Templates Work
  • Local WordPress Development
  • Modifying Todo Lists
  • Form Builders and Rails
  • Styling Rails Forms
  • Gradients
  • Web Typography
  • Backgrounds and Borders
  • CSS Box Model
  • Text, Fonts, and Lists
  • Values and Units
  • Advanced Selectors
  • Selectors
  • Getting Started with CSS
  • Interactive Visualizations
  • Styling and Scaling Data
  • Data Binding with D3
  • Selections with D3
  • Updating and Uninstalling Packages with npm
  • Installing Packages with npm
  • The Internet
  • What is npm?
  • Rails Deployment
  • Building the Profile Page
  • Testing the Whole App
  • Rails Routing
  • Writing Tests
  • Customizing Ruby on Rails Forms
  • Ruby on Rails Authentication
  • Rails Frontend Development
  • Getting Started With Rails
  • Ruby Testing
  • Standard Library
  • Ruby Core
  • Ruby Modules
  • Ruby Procs & Lambdas
  • Ruby Blocks
  • Ruby Loops
  • Ruby Methods
  • Ruby Hashes
  • Ruby Arrays
  • Ruby Numbers
  • Ruby Strings
  • Objects, Classes, and Variables
  • Ruby Basics
  • Improving your Gulp Workflow
  • Compile Sass with Gulp
  • Gulp your JavaScript workflow!
  • Welcome to Gulp.js
  • HTTP Methods and Headers
  • Creating a Basic Template Engine in Node.js
  • Handling Routes in Node.js
  • Creating a Simple Server in Node.js
  • Quiz Practice Project
  • Prototypal Inheritance
  • Constructor Functions & Prototypes
  • Introduction to Methods
  • Password Resets and Testing
  • Adding User Support to Our Application
  • Password Hashing and Sign-In
  • AR Extensions
  • Callbacks
  • Query Interface
  • Validation
  • Migrations and Relationships
  • Introduction to ActiveRecord
  • 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
  • Build a Todo List Application with Rails 4
  • Installing a Ruby Development Environment
  • Color Theory
  • Principles
  • Elements
  • Input and Output
  • Search
  • Scrum Artifacts
  • Scrum Events
  • Introducing Scrum
  • What is Agile?
  • Ruby Class Design
  • Blocks Practice
  • Working With Blocks
  • Ruby Blocks
  • Build a Simple Todo List Program
  • Ruby Booleans
  • Build a Bank Account Class
  • Ruby Variables and Methods
  • Ruby Objects and Classes
  • 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
  • Building a Command Line Application
  • Introduction to Node.js
  • Using a jQuery Carousel
  • Add a Sticky Navigation Bar
  • Introducing jQuery Plugins
  • Hosting with GitHub Pages
  • Building and Customizing the Blog
  • Getting Started with Jekyll
  • Art Direction with the Picture Element
  • Image Delivery with Srcset and Sizes
  • Creating an SVG
  • Introduction to SVG
  • MASH JavaScript
  • MASH CSS
  • MASH HTML
  • Treehouse Club - JavaScript
  • Treehouse Club - CSS
  • AJAX and APIs
  • jQuery and AJAX
  • Programming AJAX
  • AJAX Concepts
  • Forms
  • Tables
  • Objects
  • Links
  • Lists
  • Text
  • Introduction
  • Welcome to the Treehouse Club
  • Traversing and Manipulating the DOM with JavaScript
  • Selecting Elements and Adding Events with JavaScript
  • DNS Basics
  • Graphic Basics
  • Website Basics
  • Computer Languages
  • Computer Basics
  • WWW
  • Combine and Minify Assets
  • Optimize Assets
  • Measuring Performance
  • Planning for Performance
  • Chrome DevTools Basics
  • Web Apps
  • Websites
  • Introduction
  • Responsive Patterns
  • Media Queries
  • Responsive Theory
  • Custom Media Players
  • Captioning Video
  • Media Basics
  • Workflows
  • Working With Remote Repositories
  • Merging
  • Branches
  • Getting Started With Git
  • Why Version Control Matters
  • Installing Programs
  • Environment and Redirection
  • Console Processes
  • Console Users and Permission
  • Moving Around in the Console
  • JavaScript and the DOM
  • Creating a Simple Drawing Application
  • 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
  • JavaScript Functions
  • JavaScript Conditional Statements
  • JavaScript Numbers
  • JavaScript Variables
  • Introducing JavaScript
  • Advanced Sass Concepts
  • Speeding up Workflow With Sass
  • Variables, Mixins, and Extending Selectors
  • Getting Started with Sass
  • Finalizing the Project
  • Case Studies and Examples
  • The Brand Identity Design Process
  • Introduction to Brand Identity
  • The Logo Sprint
  • Logo Design 101
  • Moving Forward with UX
  • Tools UXers Use
  • How UXers Think
  • What Do User Experience Designers Do?
  • What is User Experience (UX)?
  • Design Foundations Final
  • Becoming a Problem Solver
  • Understanding Aesthetics
  • Introduction to Design
  • Grid Layout
  • Flexbox Layout
  • Positioning Schemes
  • Float Layout
  • Display Modes
  • Structuring Tables
  • Table Basics
  • Choosing Options
  • Organizing Forms
  • Form Basics
  • Advanced Selectors
  • Going Further with Attribute Selectors and Pseudo-Classes
  • Selectors - Beyond the Basics
  • 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
  • Better SEO Through Tools
  • Better SEO Through Code
  • Better SEO Through Content
  • Finding Good WordPress Plugins and Themes
  • Managing Comments on a WordPress Blog
  • Working with Media in WordPress Blogs
  • Ruby Methods
  • Ruby Numbers (Ruby Basics)
  • Ruby Strings (Ruby Basics)
  • How Ruby Works
  • Introduction to SEO
  • Creating HTML Content
  • HTML First
  • Beginning HTML and CSS
  • Posts and Pages in WordPress
  • Blogging with WordPress Overview
  • WordPress Admin Settings
  • WordPress User Roles
  • The WordPress Codex
  • Owning a WordPress Site Long Term
  • WordPress Community Management
  • Working with Media in WordPress
  • Adding and Editing Content
  • Getting a WordPress Site
  • Getting Started with WordPress
  • Newbie