Katherine Ebel

Katherine Ebel

Jacksonville, FL

43,799

Total Points

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

543 Achievements

  • Blocks Practice
  • Working With Blocks
  • Angular Form Validation
  • Angular Basic Forms
  • Services in Angular
  • Angular Components
  • Setting Up an Angular Application
  • Getting to Know Bootstrap 4
  • Actions, Dispatch and Reducers. Oh my!
  • Modularizing the React Scoreboard Application
  • Getting Started with Redux
  • Getting Started with React Router
  • Component Lifecycle
  • Designing Dataflow
  • Stateful Components
  • Thinking in Components
  • First Steps in React
  • Getting Started with Sass
  • User Registration and Login
  • What is Authentication?
  • Completing and Testing the API
  • Communicating with Mongo Through Mongoose
  • Modeling Data for the API
  • Building API Routes in Express
  • Building a REST Service
  • Creating a Command Line Weather Application
  • Handling Errors in Node
  • Getting Data From an API With Node
  • Introduction to Node.js
  • Objects and New Collection Types
  • The Cooler Parts of ES2015
  • ES2015 Basics
  • DOM Traversal
  • DOM Manipulation
  • Events
  • Hello, jQuery!
  • Ruby Standard Library: Part 2
  • Ruby Standard Library: Part 1
  • Ruby Core
  • A Route to a Delete Action
  • Routes to Update Actions
  • Routes for Create Actions
  • A Route to a Read Action
  • Rails Resource Index
  • Adding a Model Attribute
  • Using the Rails Console
  • Handling Rails Requests
  • Creating Rails Apps
  • Sinatra Finishing Touches
  • Updating Data in Sinatra
  • Adding New Data in Sinatra
  • Sinatra ERB Templates
  • Creating New Sinatra Apps
  • Activity Transitions: Advanced Topics
  • Shared Element Transitions
  • Transitions Framework
  • Animation Basics
  • Build a Grocery List Program
  • The Project
  • Introducing SharedPreferences
  • Lists with RecyclerViews
  • Acting on List Item Taps
  • Using Parcelable Data
  • Updating the Data Model
  • Custom ListViews
  • Standard ListViews
  • Hooking up the Model to the View
  • Building the Weather UI
  • Working with JSON
  • Concurrency and Error Handling
  • The Activity Lifecycle
  • Networking
  • Exploring an API
  • Themes and Compatibility
  • Using Styles in Layouts
  • The Rest of the Story
  • Finishing the User Interface
  • The Model-View-Presenter Pattern
  • Intents and Multiple Activities
  • Tuning the User Interface
  • User Input in Android
  • Testing and Debugging
  • Improving Our Code
  • Basic Android Programming
  • Creating the Screen Layout
  • Getting Started with Android
  • 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
  • Traversing the DOM
  • Getting the REST You Need
  • File Uploads and Entity Updates in Spring + Hibernate
  • User Messages in Spring
  • Getting Started with CRUD in Spring + Hibernate
  • Data-Driven Application Design
  • Integrating Hibernate with Spring
  • Responding to User Interaction
  • Making Changes to the DOM
  • Getting a Handle on the DOM
  • Adding a New Web Page
  • Make It Beautiful with CSS
  • HTML: The Structural Foundation of Web Pages and Applications
  • Persisting Data with Hibernate
  • Getting Started with Hibernate
  • The Browser Environment
  • Data Persistence & ORMs
  • Handling Errors When Manipulating Data
  • Deleting Data from a Database
  • Updating Data in a Database
  • Adding Data to a Database
  • Using the MVC Architecture with Spring
  • Modeling, Storing, and Presenting Data with Spring
  • Creating Spring Controllers and Thymeleaf Views
  • Spring Components and Configuring Our App
  • Setting Up Your Local Environment for Spring Development
  • Writing Your Own Java Annotation
  • Bells and Whistles
  • Using Java's Built-In Annotations
  • Diving into Web Development
  • What to Test
  • Getting Familiar with HTML and CSS
  • GET and POST Requests in a Browser
  • Introduction to HTTP
  • How To Test
  • Why Test
  • Event Planning
  • Build a Pomodoro App
  • Design a Better App
  • Graphical User Interfaces
  • Advanced Tooling
  • IDE Exploration
  • Efficiency!
  • How it Works
  • Exploring the Java Collections Framework
  • Organizing Data
  • Getting There
  • Delivering the MVP
  • Creating the MVP
  • Harnessing the Power of Objects
  • Meet Objects
  • Ruby Logical Operators
  • Ruby Control Structures
  • Ruby Operators
  • Ruby Blocks
  • Build a Bank Account Class
  • Ruby Variables and Methods
  • Ruby Objects and Classes
  • Ruby Iteration
  • Ruby Loops
  • Ruby Hashes
  • Ruby Arrays
  • Ruby on Rails Authentication
  • Rails Frontend Development
  • Getting Started With Rails
  • Displaying Additional Views
  • Using the Vending Machine
  • 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
  • Loading Data From a Resource
  • Modeling An Interface
  • Go Further With Mongo
  • Working With Collections
  • Understanding MongoDB
  • Getting Started with MongoDB
  • Improving Our Todo App
  • Services in Angular
  • Using Angular's Built-in Directives
  • Controllers and Scope
  • Getting Started with Angular
  • 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
  • Combine and Minify Assets
  • Optimize Assets
  • Simple Mobile Interface
  • Sketch Features
  • Measuring Performance
  • Planning for Performance
  • Improving your Gulp Workflow
  • Compile Sass with Gulp
  • Gulp your JavaScript workflow!
  • Welcome to Gulp.js
  • Keyframe and Line Drawing Animations
  • Transitions and Transforms
  • PHP Objects and Classes
  •  Create a Web Presence on GitHub
  • Advanced Variables, Mixins, Functions, and Placeholders
  • Building a Layout with Flexbox
  • Flexbox Properties
  • Getting Started with Advanced Sass
  • Modular Media Queries
  • Hello, GitHub!
  • Sass Grid System
  • SMACSS and Sass
  • Sass and BEM
  • Getting Modular with Mixins and Functions
  • Debugging, Best Practices, and Production
  • Refactoring with Sass
  • Installing Sass and Setting up the Project
  • Understanding Flexbox
  • Advanced Selectors
  • Going Further with Attribute Selectors and Pseudo-Classes
  • Selectors - Beyond the Basics
  • Art Direction with the Picture Element
  • Image Delivery with Srcset and Sizes
  • 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
  • Getting Started with Express
  • Lists
  • Text
  • Introduction
  • Two-stage Object Creation
  • What Are Design Patterns?
  • Differentiating Between Objects
  • Class Inheritance
  • Classes
  • Updating and Uninstalling Packages with npm
  • Installing Packages with npm
  • Complex Data Structures
  • 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
  • Finding the Data You Want
  • Getting Data from a Database
  • Data, Databases and SQL
  • Self-Assessment
  • Objects and Optionals
  • Introduction to Optionals
  • Introduction to Enumerations
  • Control Flow with Conditional Statements
  • Building a Command Line Application
  • Introduction to Node.js
  • Creating an SVG
  • Introduction to SVG
  • Save for the Web
  • Adding Images and a Mockup
  • Logo Design
  • Creating a Wireframe
  • Using a jQuery Carousel
  • Add a Sticky Navigation Bar
  • Introducing jQuery Plugins
  • Quiz Practice Project
  • Prototypal Inheritance
  • Introducing Adobe Illustrator
  • Closures in iOS
  • Closures and Closure Expressions
  • Functions as First Class Citizens
  • Function Parameters
  • Functions in Swift 2.0
  • Control Flow With Loops
  • Swift Dictionaries
  • Introduction to Collections
  • Swift Operators
  • Swift Types
  • An Introduction to Swift Programming
  • Finding Your First Project
  • Starting a Freelance Career
  • Creating Flexible Objects Using Protocols
  • Swift 2.0 Protocols
  • Error Handling in Swift 2.0
  • Immersive Examples
  • Scope and Loops
  • More Operators
  • Constructor Functions & Prototypes
  • Introduction to Methods
  • Operators and Conditionals
  • Data Types and Variables
  • Intro to Objective-C
  • JavaScript Loops
  • JavaScript Objects
  • JavaScript Arrays
  • JavaScript Functions
  • Improving Our Code
  • Coding the Fun Facts
  • Basic Android Programming
  • Creating the Initial Screen Layout
  • Getting Started with Android
  • Introducing Sketch
  • Introduction to Game Design
  • Working with a Developer
  • Designing our App
  • Wireframing, Interaction Design and Planning
  • ADS Writing and Preparation
  • Introduction to UI Design
  • UIKit Dynamics
  • View Controller Transitions
  • Gestures
  • What is an API?
  • Downloading Data with NSURLSession
  • Custom Detail View Controller
  • Cocoapods
  • Collection Views
  • Particle Systems and Keeping Score
  • Artificial Intelligence and Sound
  • Physics and Collision
  • Actions and Animations
  • Game Loop and Texture Atlas
  • Intro to Sprite Kit
  • Custom UITableViewCell
  • Deleting Data
  • Listing Data using NSFetchedResultsController
  • Inserting and Saving Data
  • Understanding Core Data
  • Adapting Data for Display
  • Retrieving and Viewing Data from Parse.com
  • Capturing Photo and Video Using UIImagePickerController
  • Relating Users in Parse.com
  • Using Parse.com as a Backend and Adding Users
  • Designing and Starting the App
  • Viewing a Web Page
  • Data Modeling
  • Getting Data from the Web
  • Rebuilding from Scratch
  • Exploring the Master-Detail Template
  • Deploying to a Device (ObjC)
  • Debugging Our App (ObjC)
  • Improving Our User Interface (ObjC)
  • Creating a Data Model (ObjC)
  • Views and View Controllers (ObjC)
  • Getting Started with Xcode (ObjC)
  • Perfecting the Prototype
  • Using your New Tools
  • Getting Started with Java
  • PHP Conditionals
  • PHP Datatypes
  • PHP Data & Structure
  • PHP Getting Started
  • Adding a Contact Form
  • Creating the Menu and Footer
  • Getting Started with PHP
  • Getting Started with Compass
  • JavaScript Conditional Statements
  • JavaScript Numbers
  • JavaScript Variables
  • Introducing JavaScript
  • Refactoring Our Code (Swift)
  • Building the Master and Detail Views (Swift)
  • Building a Music Library and Playlists (Swift)
  • Using a Navigation Controller With Segues (Swift)
  • Working With Multiple View Controllers (Swift)
  • Swift Properties
  • Swift Inheritance
  • Swift Classes and Objects
  • Prototyping With Bootstrap
  • Introduction to Front-End Frameworks
  • Ruby Arrays
  • Ruby Numbers
  • Ruby Strings
  • Objects, Classes, and Variables
  • Ruby Basics
  • Installing a Ruby Development Environment
  • Web Apps
  • Websites
  • Chrome DevTools 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
  • Introduction
  • AJAX and APIs
  • jQuery and AJAX
  • Programming AJAX
  • AJAX Concepts
  • Custom Media Players
  • Captioning Video
  • Media Basics
  • Fundamental Concepts
  • Designing with the Latest Features
  • Basic Layout
  • The Box Model
  • Understanding Values and Units
  • Basic Selectors
  • Getting Started with CSS
  • 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
  • Traversing and Manipulating the DOM with JavaScript
  • Selecting Elements and Adding Events with JavaScript
  • JavaScript and the DOM
  • JavaScript Objects
  • JavaScript Functions
  • JavaScript Arrays
  • JavaScript Numbers
  • JavaScript Strings
  • Introduction Variables
  • The WordPress Codex
  • Local WordPress Development
  • Customizing WordPress Themes
  • WordPress Themes
  • Installing Wordpress
  • Moving Forward with UX
  • Tools UXers Use
  • How UXers Think
  • What Do User Experience Designers Do?
  • Creating Home Page Assets
  • Better SEO Through Tools
  • Better SEO Through Code
  • Better SEO Through Content
  • Introduction to SEO
  • Getting a WordPress Site
  • Finalizing the Project
  • Case Studies and Examples
  • The Brand Identity Design Process
  • Introduction to Brand Identity
  • Advanced Sass Concepts
  • Speeding up Workflow With Sass
  • Variables, Mixins, and Extending Selectors
  • Getting Started with Sass
  • Applying Effects
  • How to Draw in Illustrator
  • What is User Experience (UX)?
  • The Logo Sprint
  • Logo Design 101
  • Launching the Website
  • Styling Content
  • Creating a Website Structure
  • Text Editors and HTML
  • Website Basics
  •  Adding Color and Type
  • Creating an Icon
  • Introduction to Illustrator
  • Workflow Basics
  • Slices & Save for Web
  • Vector Shapes
  • Type Tools
  • Masks Basics
  • Layer Basics
  • Workspace Basics
  • Design Foundations Final
  • Becoming a Problem Solver
  • Understanding Aesthetics
  • Introduction to Design
  • Color Theory
  • Principles
  • Elements
  • Transitions and Transforms
  • Backgrounds and Borders
  • Grid Layout
  • Flexbox Layout
  • Positioning Schemes
  • Float Layout
  • Display Modes
  • Media Queries
  • CSS Animations
  • Flexbox and Multi-Column Layout
  • Gradients
  • Web Typography
  • Swift Structs
  • Swift Enums and their Methods
  • Swift Enums
  • CSS Box Model
  • Text, Fonts, and Lists
  • Values and Units
  • Advanced Selectors
  • Selectors
  • Getting Started with CSS
  • Structuring Tables
  • Table Basics
  • Choosing Options
  • Organizing Forms
  • Form Basics
  • Testing and Debugging
  • Animate This (iOS7)
  • Designing your App
  • Refactoring into a Model
  • Creating a Data Collection
  • Understanding Views and View Controllers
  • Ruby Methods
  • Ruby Numbers (Ruby Basics)
  • Ruby Strings (Ruby Basics)
  • How Ruby Works
  • Functions
  • Objects and Arrays
  • Control Structures
  • Basics
  • Displaying Our Weather Data
  • Data Modeling With Structures
  • Concurrency
  • Pulling Data From the Web
  • Deploying to a Device
  • Debugging Our App
  • Improving Our User Interface
  • Using a Data Model
  • Views and View Controllers
  • Getting Started with Xcode
  • Swift Optionals
  • Swift Parameters and Tuples
  • Swift Functions
  • Control Flow
  • Collections
  • Operators
  • Types
  • Variables and Constants
  • Getting Started (iOS7)
  • Beyond the Basics
  • Advanced Objective-C
  • Foundation Framework
  • Introduction to Objective-C
  • 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
  • Beginning HTML and CSS
  • HTML First
  • Pointers and Memory
  • Functional Programming in C
  • Fundamentals of C
  • Newbie