Alan Ayoub

Alan Ayoub

Los Angeles

I'm a Computer Science graduate who is now working on both a Front End and a Full Stack JavaScript Techdegree. I'm a big fan of Treehouse, their teaching method is directly aligned with my learning preference!

Skills & Experience

  • Awards

    • BrainiMac - Winner of the Greatest Social Impact Award
  • Looking for work

    Yes

503 Achievements

  • Vulnerabilities:  Injection, XSS, CSRF
  • Fundamentals of Docker
  • Docker Use Cases
  • Programming AJAX
  • AJAX Concepts
  • Exploring Async/Await
  • Understanding Promises
  • Asynchronous JavaScript with Callbacks
  • Creating a Command Line Weather Application
  • Handling Errors in Node
  • Getting Data From an API With Node
  • Installing Sass and Setting up the Project
  • Add Reusable Logic to Your Sass
  • Write Smart and Efficient CSS with Sass
  • Improve Your Workflow with Sass
  • Adding 3D Effects with CSS
  • Getting Started with CSS Transforms
  • GitHub and Other Remote Repositories
  • Managing Committed Files
  • First Commits
  • Common Commands
  • Directories and Files
  • The Command Shell
  • Using Slack Effectively
  • Introducing Slack for the Techdegree
  • Improving Our Todo App
  • Designing with Patterns
  • Services in Angular
  • Using Angular's Built-in Directives
  • Generics in Java
  • Art Direction with the Picture Element
  • Image Delivery with Srcset and Sizes
  • Implementing UX Content
  • Creating UX Content
  • UX Content Attributes
  • Reusable GraphQL
  • Reformatting User Input
  • Validating a Form with Regular Expressions
  • Regular Expressions
  • Controllers and Scope
  • Getting Started with Sass
  • Making Changes with Mutations
  • Fetching Data with Queries
  • Getting Started with GraphQL
  • What is Asynchronous Programming?
  • Optimization Best Practices
  • Asset Optimization
  • Why Web Performance Matters
  • Logo Design
  • Introducing Adobe Illustrator
  • Transition Timing Functions and Delays
  • Getting Started with CSS Transitions
  • Going Mobile
  • Data Eruption
  • Chart Toppers
  • Getting Started with Data Visualization
  • Practice Functions
  • Creating and Modifying Database Tables
  • What is Wireframing?
  • Designing Email with CSS
  • Coding HTML Email
  • HTML Email Basics
  • The Rough Plan
  • Practicing Getters and Setters
  • Practicing Classes
  • Setting Up an Angular Application
  • Asynchronous Code in Express
  • Practicing Object Basics
  • HTTP Methods and Headers
  • Creating a Basic Template Engine in Node.js
  • Describing Data
  • Go Flow Control Overview
  • Go Syntax Overview
  • Positioning Page Content
  • CSS Layout Project
  • Page Layout with the Float Property
  • Controlling Layout with CSS Display Modes
  • Behavior Driven Development with Mocha & Chai
  • Introducing Unit Testing
  • UX Content Basics
  • Chrome DevTools Basics
  • Compile Sass with Gulp
  • Gulp your JavaScript workflow!
  • Welcome to Gulp.js
  • Getting Started with CSS Layout
  • The Profit & Loss Statement
  • Introducing Financial Statements
  • AJAX and APIs
  • Practice forEach
  • Updating and Uninstalling Packages with npm
  • Installing Packages with npm
  • jQuery and AJAX
  • Regular Expressions
  • Applying IA
  • Evaluating IA
  • How to Critique Design
  • Programming AJAX
  • Introducing 'Four in a Row'
  • Main Principles
  • Testing for Accessibility
  • Mobile Accessibility
  • Accessible UI Patterns
  • Getting Started with Express
  • Building a Layout with Flexbox
  • Semantic HTML and WAI-ARIA
  • Flexbox Properties
  • Basic Web Typography
  • Understanding Flexbox
  • Day 3: Getting Creative
  • Day 2: Advanced Selecting
  • Day 1: Joining Tables
  • How to Choose and Use Webfonts
  • Improving Usability
  • Mobile Usability
  • Website Usability
  • What is Usability?
  • Scrum Artifacts
  • Scrum Events
  • Design Patterns
  • Page Layout
  • The Design Solution
  • Introduction to Typography
  • Orientation: Selecting Data
  • Handling Routes in Node.js
  • Creating a Simple Server in Node.js
  • WCAG 2.0 (and Other Standards)
  • Access for Everybody
  • The Design Problem
  • Design Principles
  • What is Product Design?
  • Exploration
  • Discovery
  • Principles of Design
  • Elements of Design
  • Table Relationships
  • S3 Storage Service
  • AWS and "The Cloud"
  • Telling the Story
  • Designing for your User’s "To-be"
  • Understanding your User’s “As-is” Scenario
  • Becoming Acquainted with Your User
  • Becoming a Design Thinker
  • The Role of Selectors in JavaScript
  • Pseudo-classes and Combinators
  • Selector Basics
  • JavaScript Frameworks, Libraries, and Developer Roles
  • JavaScript Outside of the Browser
  • What is npm?
  • Classes
  • Getting the REST You Need 2
  • Objects and New Collection Types
  • The Cooler Parts of ES2015
  • ES2015 Basics
  • Building Forms With Bootstrap
  • Using Bootstrap Components
  • Responsive Layouts With the Bootstrap Grid
  • Getting to Know Bootstrap 4
  • Creating an SVG
  • Introduction to SVG
  • Python: Instant Objects
  • LTV Analysis by Example
  • Dungeon Game 2
  • Python Sets
  • Python Tuples
  • What is LTV?
  • Python Dictionaries
  • Python Slices
  • Python Lists
  • GET and POST Requests in a Browser
  • Introduction to HTTP
  • Getters and Setters
  • Working with Classes in JavaScript
  • Object Basics
  • Combining Array Methods
  • Callbacks and the DOM
  • Callbacks with Timers
  • Introduction to Callback Functions
  • Introduction to Object-Oriented JavaScript
  • Array Manipulation
  • Array Iteration
  • Advanced Selectors
  • Going Further with Attribute Selectors and Pseudo-Classes
  • Selectors - Beyond the Basics
  • Improving the Application Code
  • Editing and Filtering Names
  • Adding and Removing Names
  • Using a jQuery Carousel
  • Add a Sticky Navigation Bar
  • Introducing jQuery Plugins
  • Working with jQuery Collections (2017)
  • Understanding jQuery Events and DOM Traversal (2017)
  • Building a Flashcard App
  • Sweeping Vues: Loops, Methods, Directives
  • What a Beautiful Vue!
  • Traversing the DOM
  • What Is WordPress?
  • Website Basics
  • What is the MailChimp API
  • Introducing Vue
  • Improving Quality Assurance Practices
  • Bug Reporting
  • Executing Tests
  • Writing Manual Test Cases
  • Why We Test
  • DNS Basics
  • Combine and Minify Assets
  • Optimize Assets
  • Measuring Performance
  • Planning for Performance
  • The OWASP Top 10 Explained
  • Putting It All Together
  • Embracing the Process
  • Curating the Work
  • Portfolio Goals
  • Demystifying the Portfolio
  • First Steps in React
  • Time Complexity
  • Playing a Counting Game
  • Responding to User Interaction
  • Professional Development
  • Applying & Interviewing
  • The Job Search
  • Networking
  • Personal Branding
  • Setting Your Course
  • Careers in the Tech Industry
  • Self-Assessment
  • What is Information Architecture?
  • Database Keys
  • Database Normalization
  • Buggy Logs
  • Meet NumPy
  • Captioning Video
  • Media Basics
  • Error Checking
  • Conditional Formatting
  • Pivot Tables
  • LOOKUP Functions
  • Cleaner Code
  • Practicing Data Visualization in Excel
  • Chart Formatting and Layout
  • When To Use What Type of Chart
  • Introduction To Data Visualization
  • Big Data at Netflix
  • Where and How Big Data Is Used
  • What is Big Data
  • Build a Spreadsheet
  • Spreadsheet Best Practices
  • Spreadsheet Functions & Formulas
  • Getting Started With Spreadsheets
  • Introducing Spreadsheets
  • Build an Application
  • Introduction to Node.js
  • Using Lists
  • Meet Lists
  • Rehearsal and Delivery
  • Creating and Refining
  • Preparing to Present
  • Planning Your Users’ Journey
  • Strategy: Determining Goals for your Product
  • Understanding Our Users
  • Intro to User Experience (UX) Design
  • Introducing jQuery (2017)
  • Introducing Scrum
  • All Together Now
  • Functions and Looping
  • Types and Branching
  • Meet Python
  • Making Changes to the DOM
  • Getting a Handle on the DOM
  • The Data Analysis Process
  • Getting to Know Your Data
  • Introducing Data Analysis
  • JavaScript Objects and Conditionals
  • JavaScript Arrays and Loops
  • JavaScript Functions
  • Data Types and Variables
  • The Browser Environment
  • Writing a Classifier
  • Machine Learning Vocabulary
  • Introduction to Machine Learning
  • 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
  • Meet Selenium
  • Alexa Skills Kit Overview
  • Why Protect Your Web Apps
  • Security: Solutions
  • Security: Concerns
  • Security in Practice
  • Common Attacks and Defenses
  • Hello Internet!
  • Getting Started with Angular
  • Going Further with HTML
  • Images, Text and Links
  • Structuring Your Content
  • Getting Started With HTML
  • Object-Oriented Programming
  • Introduction to Front-End Frameworks
  • Testing and Debugging
  • Improving Our Code
  • Basic Android Programming
  • Creating the Screen Layout
  • Getting Started with Android
  • Custom Dashboard Widgets
  • Controlling Admin Navigation
  • Customizing the Login Screen
  • Admin Color Schemes
  • Color Theory
  • Creating a Spoiler Revealer
  • Design Foundations Final
  • Becoming a Problem Solver
  • Understanding Aesthetics
  • Slices
  • Lists Redux
  • Python Objects
  • JavaScript Objects
  • JavaScript Arrays
  • JavaScript Loops
  • Customizing the User Experience in WordPress
  • SEO Plugins for WordPress
  • Enhancing the SEO of a WordPress Theme
  • Content Comes First
  • Why Version Control Matters
  • Letter Game App
  • Default User Roles in WordPress
  • An Overview of User Roles and Fields
  • Installing Programs
  • Environment and Redirection
  • Console Processes
  • Console Users and Permission
  • Moving Around in the Console
  • Principles
  • Elements
  • Responsive Layouts with the Bootstrap Grid
  • Getting to Know Bootstrap 4
  • Fundamental Concepts
  • Designing with the Latest Features
  • Solving an Important Problem
  • WordPress Plugin Best Practices
  • Widgets and Custom Menus
  • Choosing Options
  • Soft Skills - Psychology
  • Writing Online
  • Number Game App
  • Shopping List App
  • The Logo Sprint
  • Logo Design 101
  • Logic in Python
  • Social Media
  • Date and Time Functions
  • Introduction to Game Design
  • Aggregate and Numeric Functions
  • Finalizing the Project
  • Case Studies and Examples
  • The Brand Identity Design Process
  • Introduction to Brand Identity
  • Go Further With Mongo
  • WordPress Admin Settings
  • WordPress User Roles
  • Working With Collections
  • Working with Text
  • Getting Started with WordPress
  • WordPress Plugins
  • WordPress Themes
  • The WordPress Customizer
  • Responsive Patterns
  • Media Queries
  • Organizing Forms
  • Form Basics
  • Custom Post Types and Fields
  • Getting Started with Data Science
  • Customizing WordPress Themes
  • WordPress Themes
  • Installing Wordpress
  • Ordering, Limiting and Paging Results
  • Data Types and Variables
  • Intro to Objective-C
  • Meet Objects
  • Managing Media in WordPress
  • Perfecting the Prototype
  • Using your New Tools
  • Managing Content in WordPress
  • Python Data Types
  • Swift Parameters and Tuples
  • Swift Functions
  • Control Flow
  • Collections
  • Operators
  • Types
  • JavaScript Functions
  • JavaScript Conditional Statements
  • Variables and Constants
  • JavaScript Numbers
  • JavaScript Variables
  • Introducing JavaScript
  • Perfect
  • What is Agile?
  • Perform
  • Console I/O
  • AJAX Concepts
  • Prepare and Plan
  • Function Parameters
  • Functions in Swift 2.0
  • How to Install WordPress on Your Computer
  • Control Flow with Conditional Statements
  • Control Flow With Loops
  • MASH JavaScript
  • WordPress Admin Settings
  • Hello, GitHub!
  • Introduction to jQuery
  • PHP Includes
  • Ruby Strings (Ruby Basics)
  • How Ruby Works
  • Graphic Basics
  • Reading Data from Databases with SQL
  • Connecting to MySQL
  • Python For Beginners
  • PHP Internal Functions
  • PHP Returns & Closures
  • 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
  • Handling Errors When Manipulating Data
  • Deleting Data from a Database
  • Updating Data in a Database
  • Productivity
  • Introduction to Design
  • Presentation Skills
  • Important Skills For Professional Success
  • Adding Data to a Database
  • Custom Media Players
  • Captioning Video
  • Forms
  • Tables
  • Responsive Theory
  • Moving Beyond the Blog
  • Finding Business
  • Creating Content
  • Installing MySQL Server and MySQL Workbench
  • Objects
  • Links
  • Creating a Long Term Business
  • Lists
  • Text
  • Protecting Yourself With Contracts
  • Establishing a Proper Workflow
  • Understanding MongoDB
  • Getting Started with MongoDB
  • Media Basics
  • Finding the Data You Want
  • Getting Data from a Database
  • Data, Databases and SQL
  • Introduction to Data, Databases and SQL
  • PHP Functions Basics
  • PHP Loops
  • Structuring Tables
  • Table Basics
  • Introduction
  • PHP Conditionals
  • PHP Datatypes
  • PHP Data & Structure
  • PHP Getting Started
  • MASH CSS
  • MASH HTML
  • Treehouse Club - JavaScript
  • Treehouse Club - CSS
  • Swift Dictionaries
  • Introduction to Collections
  • Swift Operators
  • Swift Types
  • Basic Layout
  • The Box Model
  • Understanding Values and Units
  • Basic Selectors
  • Getting Started with Java
  • Welcome to the Treehouse Club
  • Getting Started with CSS
  • Debugging HTML and CSS Problems
  • Sharing a Website
  • Responsive Web Design and Testing
  • Introduction to Blogging
  • Pricing and Project Proposals
  • Finding Your First Project
  • Starting a Freelance Career
  • Adding Pages to a Website
  • Computer Languages
  • An Introduction to Swift Programming
  • Computer Basics
  • Styling Web Pages and Navigation
  • Customizing Colors and Fonts
  • WWW
  • The Internet
  • CSS: Cascading Style Sheets
  • Creating HTML Content
  • HTML First
  • Beginning HTML and CSS
  • Newbie