Craig Curtis

Craig Curtis

Phoenix, AZ
Open to Work

Former Mandarin translator Former Journalist Former University Lecturer Current Angular Developer

19,985

Total Points

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

Skills & Experience

  • Company

    Centuri Construction

  • Job Title

    Application Developer

  • Spoken Languages

    • Mandarin Chinese
    • Norwegian
  • Awards

    • Summa Cum Laude, University of Minnesota Twin Cities 2004

238 Achievements

  • Styling and Scaling Data
  • Data Binding with D3
  • Selections with D3
  • Access for Everybody
  • Scrum Artifacts
  • Scrum Events
  • Introducing Scrum
  • What is Agile?
  • Creating a Command Line Weather Application
  • Handling Errors in Node
  • Getting Data From an API With Node
  • Introduction to Node.js
  • Services in Angular
  • Angular Components
  • Setting Up an Angular Application
  • Doing More with Express
  • Serving Static Files in Express
  • Using Templates with Express
  • First Steps in React
  • Data, Databases and SQL
  • Moving Forward with UX
  • Tools UXers Use
  • How UXers Think
  • What Do User Experience Designers Do?
  • What is User Experience (UX)?
  • DOM Traversal
  • DOM Manipulation
  • Events
  • Hello, jQuery!
  • Traversing the DOM
  • Responding to User Interaction
  • Making Changes to the DOM
  • Getting a Handle on the DOM
  • The Browser Environment
  • Improving your Gulp Workflow
  • Compile Sass with Gulp
  • Gulp your JavaScript workflow!
  • Welcome to Gulp.js
  • Getting Started with WordPress
  • Transitions and Transforms
  • WWW
  • Computer Languages
  • Computer Basics
  • Updating and Uninstalling Packages with npm
  • Installing Packages with npm
  • What is npm?
  • Creating an SVG
  • Working with Media Queries
  • CSS Animation Basics
  • Introduction to SVG
  • Classes
  • Objects and New Collection Types
  • The Cooler Parts of ES2015
  • ES2015 Basics
  • Adding 3D Effects with CSS
  • Getting Started with CSS Transforms
  • Transition Timing Functions and Delays
  • Getting Started with CSS Transitions
  • Advanced Sass Concepts
  • Speeding up Workflow With Sass
  • Variables, Mixins, and Extending Selectors
  • Getting Started with Sass
  • Grid Layout
  • Flexbox Layout
  • Combine and Minify Assets
  • Optimize Assets
  • Positioning Schemes
  • Float Layout
  • Measuring Performance
  • Planning for Performance
  • Installing Programs
  • Environment and Redirection
  • Console Processes
  • Console Users and Permission
  • Moving Around in the Console
  • Building Forms with Bootstrap
  • Using Bootstrap Components
  • Responsive Layouts with the Bootstrap Grid
  • Getting to Know Bootstrap 4
  • The Request and Response Objects in Express
  • Developing Express Apps Like a Boss
  • Getting Started with Express
  • Using a jQuery Carousel
  • Add a Sticky Navigation Bar
  • Introducing jQuery Plugins
  • Building a Command Line Application
  • Introduction to Node.js
  • Getting the REST You Need
  • GET and POST Requests in a Browser
  • Introduction to HTTP
  • Go Further With Mongo
  • Working With Collections
  • Understanding MongoDB
  • Getting Started with MongoDB
  • Chrome DevTools Basics
  • Improving Our Todo App
  • Services in Angular
  • Using Angular's Built-in Directives
  • Workflows
  • Working With Remote Repositories
  • Merging
  • Branches
  • Getting Started With Git
  • Why Version Control Matters
  • AJAX and APIs
  • jQuery and AJAX
  • Programming AJAX
  • AJAX Concepts
  • Controllers and Scope
  • Getting Started with Angular
  • Quiz Practice Project
  • Prototypal Inheritance
  • Constructor Functions & Prototypes
  • Debugging, Best Practices, and Production
  • Refactoring with Sass
  • Installing Sass and Setting up the Project
  • Art Direction with the Picture Element
  • Image Delivery with Srcset and Sizes
  • Positioning Page Content
  • CSS Layout Project
  • Page Layout with the Float Property
  • Controlling Layout with CSS Display Modes
  • Understanding Flexbox
  • Getting Started with CSS Layout
  • Advanced Selectors
  • Responsive Patterns
  • Media Queries
  • Responsive Theory
  • Going Further with Attribute Selectors and Pseudo-Classes
  • Selectors - Beyond the Basics
  • Custom Media Players
  • Fundamental Concepts
  • Designing with the Latest Features
  • Basic Layout
  • The Box Model
  • Understanding Values and Units
  • Introduction to Methods
  • Basic Selectors
  • Creating a Simple Drawing Application
  • Pick a Number! Any Number!
  • Putting the "Fun" Back in "Functions"
  • Shopping List
  • Things That Count
  • Ins & Outs
  • Say Hello to Python
  • Creating a Password Confirmation Form
  • Setting Your Course
  • Careers in the Tech Industry
  • Self-Assessment
  • Soft Skills - Psychology
  • Writing Online
  • Productivity
  • Creating a Mobile Drop Down Menu
  • Creating a Simple Lightbox
  • Creating a Spoiler Revealer
  • Understanding CSS Transitions and Transforms
  • Understanding Flexbox and Multi-Column Layout
  • Getting Started with CSS
  • Creating an Icon
  • Introduction to Illustrator
  • JavaScript Objects
  • JavaScript Arrays
  • JavaScript Loops
  • Choosing Options
  • Organizing Forms
  • Form Basics
  • Traversing and Manipulating the DOM with JavaScript
  • Selecting Elements and Adding Events with JavaScript
  • JavaScript and the DOM
  • jQuery Plugins
  • Form Validation and Manipulation
  • Introduction to jQuery
  • Display Modes
  • Introduction to jQuery
  • JavaScript Functions
  • JavaScript Conditional Statements
  • JavaScript Numbers
  • JavaScript Variables
  • Introducing JavaScript
  • Captioning Video
  • Media Basics
  • Presentation Skills
  • Structuring Tables
  • Table Basics
  • Ruby Numbers (Ruby Basics)
  • Ruby Strings (Ruby Basics)
  • How Ruby Works
  • Treehouse Club - JavaScript
  • JavaScript Objects
  • Values and Units
  • Treehouse Club - CSS
  • Welcome to the Treehouse Club
  • JavaScript Functions
  • Important Skills For Professional Success
  • JavaScript Arrays
  • Advanced Selectors
  • JavaScript Numbers
  • JavaScript Strings
  • Introduction Variables
  • Functions
  • Objects and Arrays
  • Control Structures
  • Basics
  • Web Apps
  • Websites
  • Selectors
  • Getting Started with CSS
  • Introduction
  • Forms
  • Tables
  • Objects
  • Links
  • Lists
  • Text
  • Introduction
  • Launching the Website
  • Styling Content
  • Creating a Website Structure
  • Text Editors and HTML
  • Website Basics
  • Debugging HTML and CSS Problems
  • Sharing a Website
  • Responsive Web Design and Testing
  • Improving Usability
  • Mobile Usability
  • 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
  • Website Usability
  • What is Usability?
  • Color Theory
  • Principles
  • Elements
  • Newbie