James Estrada
seal-mask

James Estrada

Techdegree Student

Member Since March 12, 2012
Open to Work

James earned his B.S. in Computer Science with a Math minor from Texas Tech University. He is currently passionate about autonomous vehicles after developing apps for a couple of years.

25,866

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

292 Achievements

  • Treehouse Festival (December 2020)
  • 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
  • Regular Expressions
  • Loop Through Objects
  • Object Basics
  • Multidimensional Arrays
  • Loop Through Arrays
  • Store Multiple Values in an Array
  • Programming AJAX
  • AJAX Concepts
  • Working with 'for' Loops
  • Simplify Repetitive Tasks with Loops
  • GitHub and Other Remote Repositories
  • Managing Committed Files
  • First Commits
  • Common Commands
  • Directories and Files
  • The Command Shell
  • Exploring Async/Await
  • Understanding Promises
  • Asynchronous JavaScript with Callbacks
  • What is Asynchronous Programming?
  • Combining Array Methods
  • Array Manipulation
  • Array Iteration
  • Checking Out and Returning a Book
  • Starting with Some Methods
  • The Rough Plan
  • Practicing Getters and Setters
  • Ruby Conditionals
  • Ruby Numeric Types
  • Ruby Objects
  • Ruby Strings and Escape Sequences
  • Ruby Syntax
  • Treehouse Festival
  • Practicing Classes
  • Practicing Object Basics
  • Reformatting User Input
  • Validating a Form with Regular Expressions
  • Regular Expressions
  • Page Layout with the Float Property
  • Controlling Layout with CSS Display Modes
  • Getting Started with CSS Layout
  • Art Direction with the Picture Element
  • Image Delivery with Srcset and Sizes
  • Choosing Options
  • Organizing Forms
  • Form Basics
  • JavaScript Tools and Workflows
  • JavaScript is Everywhere
  • Improving the Application Code
  • Editing and Filtering Names
  • Adding and Removing Names
  • The Role of Selectors in JavaScript
  • Pseudo-classes and Combinators
  • Selector Basics
  • Arrow Functions
  • Pass Information Into Functions
  • Create Reusable Code with Functions
  • The Math Object
  • Working with Numbers
  • Making Decisions in Your Code with Conditional Statements
  • Working With Strings
  • Storing and Tracking Information with Variables
  • Hello, JavaScript!
  • Recruiting Participants
  • Fundamental Concepts
  • Designing with the Latest Features
  • What Is Testing?
  • Building a Linked List
  • Exploring Arrays
  • Recursion and Space Complexity
  • Algorithms in Code
  • Python File Systems Project Starter
  • Python File Systems Manipulation
  • Python File Systems Navigation
  • Buggy Logs
  • Cleaner Code
  • Dice Roller
  • Python: Advanced Objects
  • Python: Inheritance
  • Python: Instant Objects
  • Dungeon Game 2
  • Python Sets
  • Python Tuples
  • Python Dictionaries
  • Python Slices
  • Python Lists
  • Build an Application
  • Using Lists
  • Meet Lists
  • All Together Now
  • Functions and Looping
  • Types and Branching
  • Meet Python
  • Time Complexity
  • Playing a Counting Game
  • Basic Layout
  • The Box Model
  • Understanding Values and Units
  • Basic Selectors
  • Getting Started with CSS
  • Going Further with HTML
  • Images, Text and Links
  • Structuring Your Content
  • Getting Started With HTML
  • Adding a New Web Page
  • Make It Beautiful with CSS
  • HTML: The Structural Foundation of Web Pages and Applications
  • 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
  • Getting Data From an API With Node
  • Introduction to Node.js
  • GET and POST Requests in a Browser
  • Introduction to HTTP
  • Classes
  • Objects and New Collection Types
  • The Cooler Parts of ES2015
  • ES2015 Basics
  • Getters and Setters
  • Working with Classes in JavaScript
  • Object Basics
  • Introduction to Object-Oriented JavaScript
  • AJAX and APIs
  • jQuery and AJAX
  • 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
  • Callbacks and the DOM
  • Callbacks with Timers
  • Introduction to Callback Functions
  • 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 Objects
  • JavaScript Arrays
  • JavaScript Loops
  • Finishing the Game
  • Introducing JavaScript
  • Getting There
  • Gotchas and Wins
  • Iteration
  • Creation
  • Delivering the MVP
  • Creating the MVP
  • Harnessing the Power of Objects
  • Meet Objects
  • Shopping List App
  • Logic in Python
  • Python Data Types
  • Python For Beginners
  • Error Handling
  • Writing Great Swift
  • Transitions, Gestures and More
  • Show Me the Data
  • Introduction to CollectionViews
  • Filtering the Data
  • Saving and Displaying Selfies
  • Adding Metadata to Photos
  • Adding Image Filters
  • Taking a Selfie
  • Paged Scrolling
  • Understanding Scroll Views
  • Deleting and Updating Data
  • Fetching Data Using Fetch Requests
  • Inserting and Saving Data Using a Context
  • Understanding the Core Data Stack
  • Objective-C in Action
  • Intermediate Topics in Objective-C
  • The Objective-C Mindset
  • Basic Types, Structures and Syntax
  • Moving from Swift to Objective-C
  • Implementing Maps and Search
  • Obtaining a Location Fix
  • Displaying Data in Table Views
  • Enhancing the Networking Stack
  • URLs and Parameter Encoding
  • Introduction to UITableView
  • Implementing a Forecast Client
  • Protocol Oriented Networking
  • Fetching Data From the Web
  • Modeling Forecast Data
  • Visual Format Language
  • Auto Layout in Code
  • Trait Collections
  • Inequalities, Content and Priorities
  • The Constraint Equation
  • A History Lesson
  • Asynchronous Error Handling
  • Closures in Cocoa Touch
  • Building Standard Library Functions
  • Closure Expressions
  • First Class Functions
  • Generics with Swift 2 - Beyond Basics
  • Generics with Swift 2
  • Adding Sound Effects
  • Refactoring the Model
  • Creating the User Interface Programmatically
  • Creating a Story
  • Navigating Through an Adventure
  • Delegation in iOS
  • Introduction to Delegates
  • Memory Management in Swift 2
  • Extensions and Protocols
  • Value Semantics, Type Methods and Inheritance
  • Object Initialization in Swift 2
  • Properties in Swift 2
  • Displaying Additional Views
  • Using the Vending Machine
  • Loading Data From a Resource
  • Modeling An Interface
  • Error Handling in Swift 2.0
  • Creating Flexible Objects Using Protocols
  • Swift 2.0 Protocols
  • Objects and Optionals
  • Inheritance
  • Methods
  • Object-Oriented Programming
  • 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
  • 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
  • JavaScript Functions
  • JavaScript Conditional Statements
  • JavaScript Numbers
  • JavaScript Variables
  • Introducing JavaScript
  • PHP Conditionals
  • PHP Datatypes
  • PHP Data & Structure
  • PHP Getting Started
  • Getting Familiar with HTML and CSS
  • Getting the REST You Need
  • Perfect
  • Perform
  • Console I/O
  • Data, Databases and SQL
  • Prepare and Plan
  • Perfecting the Prototype
  • Using your New Tools
  • Getting Started with Java
  • The Model-View-Controller Pattern
  • Intents and Multiple Activities
  • User Input
  • Testing and Debugging
  • Improving Our Code
  • Coding the Fun Facts
  • Basic Android Programming
  • Creating the Initial Screen Layout
  • Getting Started with Android
  • Say Hello to Python
  • Control Structures
  • Basics
  • Newbie