Zack Mowrer
seal-mask

Zack Mowrer

Techdegree Graduate

South Charleston, WV

I am a junior at George Washington High School, as well as the sole Techdegree student of the West Viginia Coding Club. I'm well versed in Full-Stack JavaScript, but also experienced in .NET and PHP development as well.

62,350

Total Points

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

Skills & Experience

  • Spoken Languages

    • English

631 Achievements

  • Introduction to SQLAlchemy
  • Common Commands
  • Directories and Files
  • The Command Shell
  • Creating a Memory Game
  • Emulating Built-ins
  • Welcome to OOP
  • Technical Interview Prep: Basic Python
  • Iterating and Packing with Dictionaries
  • 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
  • Practice Functions
  • All Together Now
  • Functions and Looping
  • Types and Branching
  • Meet Python
  • Treehouse Festival
  • Reading and Writing Reports
  • Creating Records
  • Project Setup
  • Browser Persistent Data with PHP
  • Filtering Inputs and Escaping Outputs in PHP
  • $_GET and $_POST
  • PHP Inventory
  • PHP Includes
  • 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
  • Review Functional Programming Fundamentals
  • Reduction and Aggregation
  • Meet Streams
  • Java's Functional Toolset
  • 10th Techdegree Peer Review
  • Get Involved in Open Source
  •  Create a Web Presence on GitHub
  •  Working on a Team
  • Working By Yourself
  • Hello, GitHub!
  • Refactoring and Modularizing a REST API
  • Create, Read, Update, Delete
  • Managing Data and Asynchronous Code
  • Getting to Know REST APIs
  • Asynchronous Code in Express
  • Getting the REST You Need 2
  • 5th Techdegree Peer Review
  • 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
  • Serving Static Files in Express
  • Applying Express Knowledge
  • Middleware
  • Deeper into Routing with Express
  • Using Templates with Express
  • Getting Started with Express
  • JavaScript Frameworks, Libraries, and Developer Roles
  • JavaScript Outside of the Browser
  • Sweeping Vues: Loops, Methods, Directives
  • 5 Star Techdegree Reviewer
  • GitHub and Other Remote Repositories
  • Managing Committed Files
  • First Commits
  • Reusable GraphQL
  • Making Changes with Mutations
  • Fetching Data with Queries
  • Getting Started with GraphQL
  • Combining Array Methods
  • Array Manipulation
  • Array Iteration
  • 1st Techdegree Peer Review
  • Callbacks and the DOM
  • Callbacks with Timers
  • Introduction to Callback Functions
  • Getters and Setters
  • Working with Classes in JavaScript
  • Object Basics
  • Introduction to Object-Oriented JavaScript
  • Reformatting User Input
  • Validating a Form with Regular Expressions
  • Regular Expressions
  • Working with jQuery Collections (2017)
  • Understanding jQuery Events and DOM Traversal (2017)
  • Introducing jQuery (2017)
  • JavaScript Tools and Workflows
  • JavaScript is Everywhere
  • Create Function Using Arrow Syntax
  • Using Template Literals
  • Defining Variables With let and const
  • Finishing the Game
  • Introducing JavaScript
  • Using Slack Effectively
  • Introducing Slack for the Techdegree
  • What a Beautiful Vue!
  • Introducing Vue
  • Segmenting and Protecting Data
  • Adding User Sign-In and Sign-Out
  • Adding User Registration
  • Introducing ASP.NET Identity
  • 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
  • Persisting Data with Hibernate
  • Getting Started with Hibernate
  • Data Persistence & ORMs
  • Using the MVC Architecture with Spring
  • Modeling, Storing, and Presenting Data with Spring
  • Completing Our Service
  • Building Our Service
  • Planning Our Service
  • Completing the Project
  • Data Access Design Patterns
  • Entity Framework and ASP.NET MVC
  • Project Setup
  • Digging Deeper Into Migrations
  • Getting Started with Using Migrations
  • CRUD Operations
  • LINQ Queries
  • Extending Our Entity Data Model
  • Entity Framework and Databases
  • Introducing Entity Framework
  • Finishing Our CRUD Web App
  • Adding Form Validation
  • Improving Our Form
  • Creating a Basic Form
  • Going Further with HTML
  • Images, Text and Links
  • Structuring Your Content
  • Getting Started With HTML
  • 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
  • Refining the App
  • Introducing CRUD Applications
  • Building the Application
  • Setting up with Create React App
  • 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
  • Lists, Code, Links and Images
  • Understanding Markdown
  • Introduction to MEAN
  • Art Direction with the Picture Element
  • Image Delivery with Srcset and Sizes
  • Creating Spring Controllers and Thymeleaf Views
  • Security: Solutions
  • Security: Concerns
  • Add Reusable Logic to Your Sass
  • Write Smart and Efficient CSS with Sass
  • Improve Your Workflow with Sass
  • Spring Components and Configuring Our App
  • Setting Up Your Local Environment for Spring Development
  • Getting Started with Sass
  • Writing Your Own Java Annotation
  • Using Java's Built-In Annotations
  • Dark Sky API Client
  • Event Planning
  • Build a Pomodoro App
  • Downloading JSON Data Asynchronously
  • Fetching Data From the Web
  • Modeling Forecast Data
  • Design a Better App
  • Graphical User Interfaces
  • A Route to a Delete Action
  • Routes to Update Actions
  • Routes for Create Actions
  • A Route to a Read Action
  • Rails Resource Index
  • Component Lifecycle
  • Designing Dataflow
  • Stateful Components
  • 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)
  • Thinking in Components
  • First Steps in React
  • Adding Sound Effects
  • Personalizing The Story
  • Refactoring Our Code
  • Creating the User Interface Programmatically
  • Creating a Story
  • Navigating Through An Adventure
  • Improving Our Todo App
  • Services in Angular
  • Using Angular's Built-in Directives
  • Controllers and Scope
  • Getting Started with Angular
  • Using the Delegate Pattern in iOS
  • The Delegate Pattern
  • Error Handling and Memory Management
  • Building Standard Library Functions
  • Closure Expressions
  • First Class Functions
  • PHPDB Stage 5: Search
  • PHPDB Stage 4: Pagination with LIMITs
  • PHPDB Stage 3: Using Relational Data
  • PHPDB Stage 2: Querying the Database with PHP
  • PHPDB Stage 1: Databases and PHP
  • Generics and Protocols
  • Generic Types
  • Generic Functions, Parameters and Constraints
  • Bells and Whistles
  • Writing Great Swift
  • Diving into Web Development
  • Access Control
  • Memory Management in Swift
  • Extensions and Protocols
  • Value Semantics, Type Methods and Inheritance
  • Object Initialization
  • Properties
  • Adding a List Page
  • Modeling and Presenting Data
  • Views
  • Controllers
  • Advanced Tooling
  • Project Setup
  • IDE Exploration
  • What to Test
  • How To Test
  • Why Test
  • How it Works
  • Angular Form Validation
  • Angular Basic Forms
  • Services in Angular
  • Angular Components
  • Build a Spreadsheet
  • Spreadsheet Best Practices
  • Efficiency!
  • Spreadsheet Functions & Formulas
  • Getting Started With Spreadsheets
  • Introducing Spreadsheets
  • Exploring the Java Collections Framework
  • Setting Up an Angular Application
  • Organizing Data
  • Getting There
  • 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
  • Express Middleware
  • Sessions and Cookies
  • User Registration and Login
  • What is Authentication?
  • 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
  • Advanced Sass Concepts
  • Speeding up Workflow With Sass
  • Variables, Mixins, and Extending Selectors
  • Getting Started with Sass
  • 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
  • The Unity Editor and Scene Setup
  • Getting Data From an API With Node
  • Introduction to Node.js
  • Classes
  • Objects and New Collection Types
  • The Cooler Parts of ES2015
  • ES2015 Basics
  • Subqueries
  • Set Operations
  • Joining Table Data with SQL
  • Table Relationships
  • Database Keys
  • Database Normalization
  • Introduction to Video Games
  • Combine and Minify Assets
  • Optimize Assets
  • Measuring Performance
  • Planning for Performance
  • Chrome DevTools Basics
  • Web Apps
  • Websites
  • Introduction
  • Quiz Practice Project
  • Prototypal Inheritance
  • Constructor Functions & Prototypes
  • Introduction to Methods
  • AJAX and APIs
  • jQuery and AJAX
  • Programming AJAX
  • AJAX Concepts
  • Using a jQuery Carousel
  • Custom Media Players
  • Add a Sticky Navigation Bar
  • Introducing jQuery Plugins
  • Captioning Video
  • Media Basics
  • Test Time!
  • DOM Traversal
  • DOM Manipulation
  • Events
  • Building a Layout with Flexbox
  • Flexbox Properties
  • Understanding Flexbox
  • Hello, jQuery!
  • Improving the Application Code
  • Editing and Filtering Names
  • Tying It All together
  • Adding and Removing Names
  • PHP Email Form Errors
  • PHP Email Forms
  • PHP Inventory
  • Installing Programs
  • Environment and Redirection
  • Console Processes
  • Console Users and Permission
  • Moving Around in the Console
  • Diving Deeper
  • PHP Includes
  • Date and Time Functions
  • Delivering the MVP
  • The Logo Sprint
  • Logo Design 101
  • Aggregate and Numeric Functions
  • Adding a Model Attribute
  • Using the Rails Console
  • Creating the MVP
  • Handling Rails Requests
  • Creating Rails Apps
  • Creating an SVG
  • Introduction to SVG
  • Design Foundations Final
  • Becoming a Problem Solver
  • Harnessing the Power of Objects
  • Meet Objects
  • What Is WordPress?
  • Understanding Aesthetics
  • Perfecting the Prototype
  • Using your New Tools
  • Getting Started with Java
  • Traversing the DOM
  • Responding to User Interaction
  • Making Changes to the DOM
  • Sinatra Finishing Touches
  • Updating Data in Sinatra
  • Adding New Data in Sinatra
  • What To Test
  • Test Driven Development
  • Sinatra ERB Templates
  • Writing Unit Tests
  • Unit Testing
  • Memory, Arrays and Loops, Oh My!
  • Getting Oriented - Object-Oriented, That Is
  • Immersive Examples
  • Scope and Loops
  • More Operators
  • Operators and Conditionals
  • Data Types and Variables
  • Intro to Objective-C
  • Final Details
  • Django Templates
  • Model Administration
  • What a View
  • Say Hello to Django
  • API Protection
  • Resourceful Blueprints
  • 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
  • Tacocat Challenge
  • Getting a Handle on the DOM
  • Building Forms with Bootstrap
  • Creating New Sinatra Apps
  • 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
  • Working with Text
  • Ordering, Limiting and Paging Results
  • The Browser Environment
  • 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
  • How to Win Friends
  • Broadcasting
  • Takin' Names
  • Making Strong Users
  • Character Builder
  • Flask Templates
  • Welcome to Flask
  • Covering Your Bases
  • Be Assertive!
  • What Is Testing?
  • Gettin' CRUD-y With It
  • Our Diary App
  • Meet Peewee
  • Python Regular Expressions
  • Timezones
  • Math Quiz App
  • Dates and Times
  • Buggy Logs
  • Cleaner Code
  • Hack-n-Slash
  • Python Inheritance
  • Python Objects
  • Dungeon Game 2
  • Python Sets
  • Python Tuples
  • Python Dictionaries
  • Python Slices
  • Python Lists
  • Letter Game App
  • Number Game App
  • Shopping List App
  • Logic in Python
  • Python Data Types
  • Python For Beginners
  • Using Bootstrap Components
  • Responsive Layouts with the Bootstrap Grid
  • PHP Internal Functions
  • PHP Returns & Closures
  • PHP Functions Basics
  • Getting to Know Bootstrap 4
  • Creating a Simple Drawing Application
  • Creating a Password Confirmation Form
  • Creating a Mobile Drop Down Menu
  • Creating a Simple Lightbox
  • Creating a Spoiler Revealer
  • Structuring Tables
  • Table Basics
  • Introduction to Design
  • Finding the Data You Want
  • Getting Data from a Database
  • Data, Databases and SQL
  • Advanced Selectors
  • Going Further with Attribute Selectors and Pseudo-Classes
  • Selectors - Beyond the Basics
  • PHP Loops
  • PHP Arrays
  • PHP Conditionals
  • 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
  • PHP on the Web
  • Daily Exercise Program
  • Unit Converter
  • Getting to Know PHP
  • Introduction to Data, Databases and SQL
  • Introduction to jQuery
  • JavaScript Objects
  • JavaScript Arrays
  • JavaScript Loops
  • Choosing Options
  • Organizing Forms
  • Form Basics
  • JavaScript Functions
  • JavaScript Conditional Statements
  • JavaScript Numbers
  • JavaScript Variables
  • Introducing JavaScript
  • 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
  • Workflows
  • Working With Remote Repositories
  • Merging
  • Branches
  • Getting Started With Git
  • Why Version Control Matters
  • Query Builder
  • Query Operators
  • Functional!
  • Now You're Querying!
  • Data Retreiver
  • GET and POST Requests in a Browser
  • Introduction to HTTP
  • Serialized!
  • Data Parser
  • Data Reader
  • Sets and Dictionaries
  • Lists
  • Arrays
  • Abstraction
  • System.Object
  • Polymorphism
  • Loops and Final Touches
  • Encapsulation with Properties
  • Encapsulation and Arrays
  • Inheritance
  • Methods
  • Object-Oriented Programming
  • Perfect
  • Perform
  • Console I/O
  • Prepare and Plan
  • Gems In Depth
  • Ruby Gems
  • 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
  • Input and Output
  • Search
  • 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
  • Ruby Methods
  • Ruby Numbers (Ruby Basics)
  • Ruby Strings (Ruby Basics)
  • How Ruby Works
  • Running Apps on a Device
  • Improving Our User Interface
  • Structs As Data Models
  • View Controllers and Views
  • Getting Started with iOS Development
  • Creating Flexible Objects Using Protocols
  • Protocol Basics
  • Introduction to Optionals
  • Objects and Optionals
  • Introduction to Enumerations
  • 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
  • Dictionaries in Swift
  • Introduction to Collections
  • Swift Operators
  • Swift Types
  • An Introduction to Swift Programming
  • MASH JavaScript
  • MASH CSS
  • MASH HTML
  • Treehouse Club - JavaScript
  • Treehouse Club - CSS
  • Welcome to the Treehouse Club
  • WWW
  • The Internet
  • Computer Languages
  • Computer Basics
  • Customizing Colors and Fonts
  • CSS: Cascading Style Sheets
  • Creating HTML Content
  • HTML First
  • Beginning HTML and CSS
  • Newbie