Amir Shahabnia

Amir Shahabnia

Member Since March 8, 2016

29,310

Total Points

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

374 Achievements

  • Checking Out and Returning a Book
  • Starting with Some Methods
  • The Rough Plan
  • Building a Flashcard App
  • Sweeping Vues: Loops, Methods, Directives
  • What a Beautiful Vue!
  • Introducing Vue
  • GET and POST Requests in a Browser
  • Introduction to HTTP
  • JavaScript Objects and Conditionals
  • Practice forEach
  • Improving the Application Code
  • Editing and Filtering Names
  • Adding and Removing Names
  • Flask Templates
  • Welcome to Flask
  • Say Hello to Django
  • JavaScript Arrays and Loops
  • JavaScript Functions
  • Data Types and Variables
  • Introducing Data Scraping
  • Meet pandas
  • Array Programming
  • Array Organization
  • Meet NumPy
  • Practice Functions
  • Timezones
  • Math Quiz App
  • Dates and Times
  • Buggy Logs
  • Python Regular Expressions
  • Cleaner Code
  • Security in Practice
  • Common Attacks and Defenses
  • Hello Internet!
  • The Role of Selectors in JavaScript
  • Pseudo-classes and Combinators
  • Selector Basics
  • Serving Static Files in Express
  • How to Choose and Use Fonts
  • Introduction to Typography
  • Applying Express Knowledge
  • Middleware
  • Deeper into Routing with Express
  • Using Templates with Express
  • Getting Started with Express
  • Save for the Web
  • Telling the Story
  • Designing for your User’s "To-be"
  • Design Foundations Final
  • Becoming a Problem Solver
  • Understanding Aesthetics
  • Introduction to Design
  • Designing with Patterns
  • 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
  • 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
  • Introduction to Collections
  • Swift Operators
  • Swift Types
  • An Introduction to Swift Programming
  • Interactivity in Adobe XD
  • Prototyping Designs in Adobe XD
  • Introducing Adobe XD
  • What is Asynchronous Programming?
  • Programming AJAX
  • Stateful Components
  • Introducing Props
  • Thinking in Components
  • First Steps in React
  • AJAX Concepts
  • Traversing the DOM
  • Python: Advanced Objects
  • Getting Started with Data Visualization
  • Python: Inheritance
  • Python: Instant Objects
  • 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
  • All Together Now
  • What is Agile?
  • Functions and Looping
  • Project Setup
  • Intro to User Experience (UX) Design
  • Meet Lists
  • Introducing Data Analysis
  • Writing a Classifier
  • Machine Learning Vocabulary
  • Introduction to Machine Learning
  • Ruby Arrays
  • Ruby Conditionals
  • Ruby Numeric Types
  • Ruby Objects
  • Ruby Strings and Escape Sequences
  • Ruby Syntax
  • Improving your Gulp Workflow
  • Compile Sass with Gulp
  • Gulp your JavaScript workflow!
  • Welcome to Gulp.js
  • Updating and Uninstalling Packages with npm
  • Installing Packages with npm
  • What is npm?
  • Creating a Simple Server in Node.js
  • Rendering the Game
  •  Building Constructor Methods and Generating Objects
  • Introducing 'Four in a Row'
  • Getters and Setters
  • Practicing Classes
  • Working with Classes in JavaScript
  • Object Basics
  • Practicing Object Basics
  • Introduction to Object-Oriented JavaScript
  • Responding to User Interaction
  • Making Changes to the DOM
  • What is Wireframing?
  • Learn About Drupal
  • GitHub and Other Remote Repositories
  • Managing Committed Files
  • First Commits
  • Types and Branching
  • Meet Python
  • Playing a Counting Game
  • Common Commands
  • Directories and Files
  • The Command Shell
  • Console Users and Permission
  • Moving Around in the Console
  • Handling Errors in Node
  • Getting Data From an API With Node
  • Getting a Handle on the DOM
  • 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
  • Introduction to Node.js
  • How WordPress Plugins Work
  • Transitions and Transforms
  • Understanding your User’s “As-is” Scenario
  • Becoming Acquainted with Your User
  • Becoming a Design Thinker
  • WordPress Header and Footer Templates
  • Working with CSS and JS in WordPress Themes
  • WordPress User Roles
  • Installing WordPress Locally
  • What Is WordPress?
  • Starting a WordPress Theme
  • WordPress Plugins
  • WordPress Themes
  • The WordPress Customizer
  • Managing Media in WordPress
  • Managing Content in WordPress
  • Add Reusable Logic to Your Sass
  • Write Smart and Efficient CSS with Sass
  • Improve Your Workflow with Sass
  • Getting Started with Sass
  • PHP Includes
  • Using a jQuery Carousel
  • Add a Sticky Navigation Bar
  • Introducing jQuery Plugins
  • The Browser Environment
  • Exploration
  • Discovery
  • jQuery and AJAX
  • Adding 3D Effects with CSS
  • Combine and Minify Assets
  • More Advanced PHP for WordPress
  • PHP Basics for WordPress
  • Introduction to PHP for WordPress
  • Going Further with Grid Layout
  • Flexible Sized Grids
  • Introducing Grid Layout
  • Optimize Assets
  • Creating an SVG
  • Introduction to SVG
  • Measuring Performance
  • Planning for Performance
  • Working with jQuery Collections (2017)
  • Understanding jQuery Events and DOM Traversal (2017)
  • Introducing jQuery (2017)
  • Events
  • Hello, jQuery!
  • Getting Started with CSS Transforms
  • Transition Timing Functions and Delays
  • Getting Started with CSS Transitions
  • WordPress Plugin Best Practices
  • WordPress Widgets
  • Programming AJAX
  • AJAX Concepts
  • Captioning Video
  • Media Basics
  • 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
  • Advanced Selectors
  • Going Further with Attribute Selectors and Pseudo-Classes
  • Selectors - Beyond the Basics
  • JavaScript Objects
  • JavaScript Arrays
  • JavaScript Loops
  • Introduction to Typography
  • Responsive Layouts with the Bootstrap Grid
  • Getting to Know Bootstrap 4
  • Choosing Options
  • Building a Layout with Flexbox
  • 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
  • Getting Familiar with HTML and CSS
  • Flexbox Properties
  • Understanding Flexbox
  • 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
  • JavaScript Functions
  • JavaScript Conditional Statements
  • JavaScript Numbers
  • Fundamental Concepts
  • Designing with the Latest Features
  • Basic Layout
  • JavaScript Variables
  • Introducing JavaScript
  • Structuring Tables
  • Table Basics
  • Organizing Forms
  • Form Basics
  • Custom Post Types in WordPress
  • Customizing WordPress Themes
  • WordPress Themes
  • Local WordPress Development
  • Content Comes First
  • Better SEO Through Tools
  • Better SEO Through Code
  • Better SEO Through Content
  • WordPress Admin Settings
  • Installing Wordpress
  • How to Install WordPress on Your Computer
  • Getting Started with WordPress
  • Introduction to SEO
  • Protocol Oriented Networking
  • Fetching Data From the Web
  • PHP Internal Functions
  • PHP Returns & Closures
  • PHP Functions Basics
  • Adding Sound Effects
  • Getting the REST You Need
  • PHP Loops
  • PHP Arrays
  • PHP Conditionals
  • PHP on the Web
  • Daily Exercise Program
  • Unit Converter
  • Getting to Know PHP
  • Finding the Data You Want
  • Getting Data from a Database
  • Data, Databases and SQL
  • Modeling Forecast Data
  • Introduction to Table Views
  • Creating a Story
  • 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
  • Customizing Colors and Fonts
  • CSS: Cascading Style Sheets
  • Creating HTML Content
  • HTML First
  • Beginning HTML and CSS
  • Asynchronous Error Handling
  • Closures in Cocoa Touch
  • Building Standard Library Functions
  • Closure Expressions
  • First Class Functions
  • Refactoring Our Code (Swift)
  • Building the Master and Detail Views (Swift)
  • Starting a Freelance Career
  • Building a Music Library and Playlists (Swift)
  • Using a Navigation Controller With Segues (Swift)
  • Working With Multiple View Controllers (Swift)
  • Object Initialization in Swift 2
  • Properties in Swift 2
  • Navigating Through an Adventure
  • Managing Complexity
  • Closures in iOS
  • Closures and Closure Expressions
  • Functions as First Class Citizens
  • Interacting With Data From the Web
  • Swift Optionals
  • Swift Parameters and Tuples
  • Swift Functions
  • Simple Data Structures
  • Control Flow
  • Collections
  • Operators
  • Types
  • Variables and Constants
  • 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
  • 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
  • Newbie