Christian A. Castro

Christian A. Castro

Arizona

30,501

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
    • Spanish

393 Achievements

  • Introduction To Data Visualization
  • Build a Spreadsheet
  • Spreadsheet Best Practices
  • The Data Analysis Process
  • Getting to Know Your Data
  • Spreadsheet Functions & Formulas
  • Getting Started With Spreadsheets
  • Introducing Spreadsheets
  • Meet Lists
  • All Together Now
  • Functions and Looping
  • Types and Branching
  • Meet Python
  • GitHub and Other Remote Repositories
  • Managing Committed Files
  • First Commits
  • Preparing Design Files for Developers
  • Designing with Developers
  • Computer Languages
  • Computer Basics
  • Rehearsal and Delivery
  • Creating and Refining
  • Preparing to Present
  • Soft Skills - Psychology
  • Writing Online
  • Productivity
  • Presentation Skills
  • Important Skills For Professional Success
  • React Router and Authentication
  • Implementing Basic Authentication
  • Introducing the Authentication Project
  • Performing CRUD Operations
  • Defining Models
  • Getting Started with Sequelize
  • Refactoring and Modularizing a REST API
  • Create, Read, Update, Delete
  • Managing Data and Asynchronous Code
  • Getting to Know REST APIs
  • Asynchronous Code in Express
  • 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
  • Traversing the DOM
  • Making Changes to the DOM
  • Getting a Handle on the DOM
  • Searching Names
  • Sorting Algorithms
  • Stateful Components
  • Merge Sort and Linked Lists
  • The Browser Environment
  • The Merge Sort Algorithm
  • Introducing Props
  • Thinking in Components
  • Chrome DevTools Basics
  • Captioning Video
  • Media Basics
  • Structuring Tables
  • Building a Linked List
  • Table Basics
  • Combine and Minify Assets
  • Optimize Assets
  • Measuring Performance
  • Planning for Performance
  • Going Further with Grid Layout
  • Flexible Sized Grids
  • Exploring Arrays
  • Introducing Grid Layout
  • Building Forms With Bootstrap
  • Using Bootstrap Components
  • Recursion and Space Complexity
  • Responsive Layouts With the Bootstrap Grid
  • Algorithms in Code
  • Getting to Know Bootstrap 4
  • Time Complexity
  • Playing a Counting Game
  • Advanced Selectors
  • Going Further with Attribute Selectors and Pseudo-Classes
  • Selectors - Beyond the Basics
  • Loop Through Objects
  • Object Basics
  • Multidimensional Arrays
  • Loop Through Arrays
  • Store Multiple Values in an Array
  • Working with 'for' Loops
  • Simplify Repetitive Tasks with Loops
  • Build an Accessible Form
  • Introduction To Accessibility
  • Choosing Options
  • Organizing Forms
  • Form Basics
  • Building a Layout with Flexbox
  • Flexbox Properties
  • Understanding Flexbox
  • Responsive Patterns
  • Media Queries
  • Responsive Theory
  • Mobile-First CSS Layout
  • Arrow Functions
  • Pass Information Into Functions
  • Create Reusable Code with Functions
  • The Math Object
  • Working with Numbers
  • First Steps in React
  • Making Decisions in Your Code with Conditional Statements
  • Working With Strings
  • Storing and Tracking Information with Variables
  • Hello, JavaScript!
  • Finishing Touches
  • Styling Images
  • Styling Boxes
  • Styling Text
  • CSS Media Queries
  • CSS Layout Techniques
  • Box Model Concepts
  • The CSS Box Model
  • Fundamental Concepts
  • Understanding Values and Units
  • Basic Selectors
  • Getting Started with CSS
  • Going Further with HTML
  • Controllers
  • Serving Static Files in Express
  • Applying Express Knowledge
  • Middleware
  • Deeper into Routing with Express
  • Project Setup
  • Using Templates with Express
  • Getting Started with Express
  • 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
  • Scrum Artifacts
  • Scrum Events
  • Introducing Scrum
  • What is Agile?
  • Telling the Story
  • Designing for Your User’s "To-be"
  • Getting Data From an API With Node
  • Introduction to Node.js
  • Adding the Game Logic
  • Making the Game Interactive
  • Rendering the Game
  •  Building Constructor Methods and Generating Objects
  • Introducing 'Four in a Row'
  • Getters and Setters
  • Working with Classes in JavaScript
  • Object Basics
  • Introduction to Object-Oriented JavaScript
  • Exploring Async/Await
  • Understanding Promises
  • Asynchronous JavaScript with Callbacks
  • What is Asynchronous Programming?
  • Programming AJAX
  • AJAX Concepts
  • Working with jQuery Collections (2017)
  • Understanding jQuery Events and DOM Traversal (2017)
  • Introducing jQuery (2017)
  • Traversing the DOM
  • Responding to User Interaction
  • Making Changes to the DOM
  • Getting a Handle on the DOM
  • The Browser Environment
  • Create Function Using Arrow Syntax
  • Using Template Literals
  • Defining Variables With let and const
  • JavaScript Tools and Workflows
  • JavaScript is Everywhere
  • JavaScript Objects
  • JavaScript Arrays
  • JavaScript Loops
  • JavaScript Functions
  • JavaScript Conditional Statements
  • JavaScript Numbers
  • JavaScript Variables
  • Introducing JavaScript
  • Images, Text and Links
  • Finishing the Game
  • Introducing JavaScript
  • Structuring Your Content
  • Getting Started With HTML
  • Saving a Selfie
  • Adding Metadata to Photos
  • GPU Based Approach
  • Image Processing
  • Adding a New Web Page
  • Playing with Filters
  • Make It Beautiful with CSS
  • HTML: The Structural Foundation of Web Pages and Applications
  • Getting Familiar with HTML and CSS
  • Pinching, Panning and Zooming
  • Browsing An Album
  • Getting the REST You Need 2
  • Understanding your User’s “As-is” Scenario
  • Taking Photos
  • Becoming Acquainted with Your User
  • Becoming a Design Thinker
  • Deleting and Updating Data
  • Fetching Data Using Fetch Requests
  • Day 3: Getting Creative
  • Day 2: Advanced Selecting
  • Day 1: Joining Tables
  • Orientation: Selecting Data
  • Inserting and Saving Data Using a Context
  • Subqueries
  • Set Operations
  • Understanding the Core Data Stack
  • 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
  • Adding Reviews and a Map
  • Retrieving Restaurant Details Using Operations
  • Deleting Data from a Database
  • Simplifying Networking Code
  • Updating Data in a Database
  • Obtaining a Location Fix
  • Adding Data to a Database
  • Finding the Data You Want
  • Authorization with Third Party Libraries
  • Getting Data from a Database
  • Downloading Album Artwork
  • Requesting Real Data
  • Enhancing the iTunes Endpoint
  • URLs and Parameter Encoding
  • Building the User Interface
  • Modeling iTunes Search Results
  • Decoupling the Data Source
  • Sorting Contacts Into Sections
  • Static Table Views for Detail Interfaces
  • Displaying Contact Data
  • A High Level Overview
  • Error Handling
  • Dynamic Keys and Inheritance
  • Parsing Different JSON Structures
  • Parsing to Non-Primitive Types
  • An Overview of Codable
  • Refactoring Using Codable
  • Dark Sky API Client
  • Downloading JSON Data Asynchronously
  • Fetching Data From the Web
  • Get Involved in Open Source
  •  Create a Web Presence on GitHub
  •  Working on a Team
  • Modeling Forecast Data
  • Working By Yourself
  • Hello, GitHub!
  • Workflows
  • Working With Remote Repositories
  • Error Handling and Memory Management
  • Building Standard Library Functions
  • Merging
  • Closure Expressions
  • First Class Functions
  • Branches
  • Generics and Protocols
  • Getting Started With Git
  • Generic Types
  • Generic Functions, Parameters and Constraints
  • Adding Sound Effects
  • Personalizing The Story
  • Refactoring Our Code
  • Creating the User Interface Programmatically
  • Creating a Story
  • Navigating Through An Adventure
  • Introducing Data Analysis
  • Using the Delegate Pattern in iOS
  • The Delegate Pattern
  • Writing Great Swift
  • Access Control
  • Memory Management in Swift
  • Extensions and Protocols
  • Value Semantics, Type Methods and Inheritance
  • Object Initialization
  • Properties
  • Displaying Additional Views
  • Using the Vending Machine
  • Loading Data From a Resource
  • Modeling an Interface
  • Error Handling
  • Creating Flexible Objects Using Protocols
  • Protocol Basics
  • Objects and Optionals
  • Introduction to Optionals
  • Introduction to Enumerations
  • Running Apps on a Device
  • Improving Our User Interface
  • Structs As Data Models
  • View Controllers and Views
  • 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
  • Dictionaries in Swift
  • Installing Programs
  • Environment and Redirection
  • Console Processes
  • Console Users and Permission
  • Introduction to Collections
  • Swift Operators
  • Swift Types
  • Python Tuples
  • An Introduction to Swift Programming
  • Python Dictionaries
  • Python Slices
  • Python Lists
  • Letter Game App
  • Number Game App
  • Shopping List App
  • Logic in Python
  • Python Data Types
  • Python For Beginners
  • Moving Around in the Console
  • Game Loop and Texture Atlas
  • Intro to Sprite Kit
  • Understanding Materials
  • Data, Databases and SQL
  • Refactoring Our Code (objc)
  • Building the Master and Detail Views (objC)
  • Managing Playlist Data (objC)
  • Building a Music Library Model (objc)
  • Working With Multiple View Controllers (ObjC)
  • 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)
  • Tying It All together
  • Diving Deeper
  • 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
  • Build and Share a Unity Game
  • Game Audio
  • Score, Enemies, and Game State
  • Pickups
  • Player Input and Cameras
  • The Unity Editor and Scene Setup
  • Introduction to Video Games
  • Perfect
  • Perform
  • Console I/O
  • Prepare and Plan
  • Start menu and App Icon
  • Sound Design
  • Animating and Saving Sprites
  • Designing Characters and a Scene
  • Introduction to Game Design
  • Running Apps on a Device
  • Improving Our User Interface
  • Structs as Data Models
  • View Controllers and Views
  • Getting Started with iOS Development
  • Differentiating Between Objects
  • Class Inheritance
  • Classes
  • Why Version Control Matters
  • Complex Data Structures
  • Function Parameters
  • Functions in Swift 2.0
  • Control Flow with Conditional Statements
  • Control Flow With Loops
  • Swift Dictionaries
  • Introduction to Collections
  • Swift Operators
  • Swift Types
  • An Introduction to Swift Programming
  • Newbie