Mark Ryan
seal-mask

Mark Ryan

Techdegree Graduate

Toronto, ON

28,648

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

277 Achievements

  • Plotting Functions
  • Creating the Screen Layout
  • Getting Started with Android
  • WCAG 2.0 (and Other Standards)
  • Introduction to Seaborn
  • Building a Flashcard App
  • Access for Everybody
  • Semantic HTML and WAI-ARIA
  • Sweeping Vues: Loops, Methods, Directives
  • What a Beautiful Vue!
  • Introducing Vue
  • 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
  • Making the Game Interactive
  • Rendering the Game
  •  Building Constructor Methods and Generating Objects
  • Introducing 'Four in a Row'
  • Installing Packages with npm
  • What is npm?
  • Welcome to Basic Statistics for Data Analysis
  • Get Involved in Open Source
  •  Create a Web Presence on GitHub
  •  Working on a Team
  • Working By Yourself
  • Hello, GitHub!
  • Using Template Literals
  • Defining Variables With let and const
  • Create Function Using Arrow Syntax
  • Exploring Async/Await
  • Asynchronous JavaScript with Callbacks
  • What is Asynchronous Programming?
  • Checking Out and Returning a Book
  • Starting with Some Methods
  • The Rough Plan
  • Multidimensional Arrays
  • Loop Through Arrays
  • The Math Object
  • Working with Numbers
  • Making Decisions in Your Code with Conditional Statements
  • Loop Through Objects
  • Object Basics
  • Working With Strings
  • Storing and Tracking Information with Variables
  • Hello, JavaScript!
  • Putting it all Together
  • Finding the Data You Want
  • Getting Data from a Database
  • Data, Databases and SQL
  • Additional Scraping Tasks
  • A World Full of Spiders
  • Practice Functions
  • Creating a Memory Game
  • Emulating Built-ins
  • Writing a Classifier
  • Machine Learning Vocabulary
  • Introduction to Machine Learning
  • Welcome to OOP
  • Dockerize a Web App
  • Managing Images and Containers
  • Building Images Using Dockerfiles
  • Fundamentals of Docker
  • Docker Use Cases
  • Introduction
  • Common Commands
  • Directories and Files
  • The Command Shell
  • What is the MailChimp API
  • Big Data at Netflix
  • Where and How Big Data Is Used
  • What is Big Data
  • The Internet
  • Imposter Syndrome
  • Actions, Dispatch and Reducers. Oh my!
  • Modularizing the React Scoreboard Application
  • Getting Started with Redux
  • Refining the App
  • Building the Application
  • Setting up with Create React App
  • Going Further with Routing
  • Navigating, Nesting and Redirecting Routes
  • Getting Started with React Router
  • Sequence Operations
  • Sequence Iterations
  • Packing and Unpacking
  • Getting Info In and Out of Functions
  • Introduction to Functions
  • 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
  • Getters and Setters
  • Working with Classes in JavaScript
  • Object Basics
  • Introduction to Object-Oriented JavaScript
  • Finding Your First Project
  • Store Multiple Values in an Array
  • Working with 'for' Loops
  • Simplify Repetitive Tasks with Loops
  • Starting a Freelance Career
  • Arrow Functions
  • Pass Information Into Functions
  • Vulnerabilities: Configuration, Components, and Logging
  • S3 Storage Service
  • AWS and "The Cloud"
  • Vulnerabilities: Authentication, Access, and Sensitive Data
  • Vulnerabilities:  Injection, XSS, CSRF
  • The OWASP Top 10 Explained
  • Create Reusable Code with Functions
  • Art Direction with the Picture Element
  • Image Delivery with Srcset and Sizes
  • Write Smart and Efficient CSS with Sass
  • Traversing the DOM
  • Responding to User Interaction
  • Making Changes to the DOM
  • Branches on Git Hosting Services
  • Remote Branches
  • Merging
  • Branches
  • GitHub and Other Remote Repositories
  • Managing Committed Files
  • First Commits
  • Scrum Artifacts
  • Scrum Events
  • Introducing Scrum
  • What is Agile?
  • Combining Array Methods
  • Array Manipulation
  • Array Iteration
  • Callbacks and the DOM
  • Callbacks with Timers
  • Introduction to Callback Functions
  • Understanding Promises
  • Getting a Handle on the DOM
  • The Browser Environment
  • JavaScript Objects and Conditionals
  • JavaScript Arrays and Loops
  • JavaScript Functions
  • Data Types and Variables
  • Improve Your Workflow with Sass
  • Getting Started with Sass
  • Going Further with Grid Layout
  • Flexible Sized Grids
  • Introducing Grid Layout
  • JavaScript Objects
  • Prototyping Designs in Adobe XD
  • Introducing Adobe XD
  • What is Wireframing?
  • JavaScript Arrays
  • JavaScript Loops
  • JavaScript Functions
  • JavaScript Conditional Statements
  • JavaScript Numbers
  • JavaScript Variables
  • Introducing JavaScript
  • Recursion and Space Complexity
  • Algorithms in Code
  • Time Complexity
  • Playing a Counting Game
  • The Lambda Lambada
  • Functional Workhorses
  • Marketing and Promotion
  • Functional Rules
  • Iterating and Packing with Dictionaries
  • Introducing Dictionaries
  • Getting to Know Tuples
  • Users and Authorization
  • Django Authentication
  • Subqueries
  • Set Operations
  • Joining Table Data with SQL
  • Table Relationships
  • Database Keys
  • Database Normalization
  • Security and Customization
  • Make the REST Framework Work for You
  • RESTful Django
  • Customizing Class-based Views
  • Classy Views
  • API Protection
  • Resourceful Blueprints
  • Introducing Data Scraping
  • Maintaining Secure Web Apps
  • Protecting Data and Keeping Attackers Out
  • Why Protect Your Web Apps
  • Security: Solutions
  • Security: Concerns
  • Getting the REST You Need 2
  • Detail View
  • List View
  • The Django Admin
  • Total Control
  • Basic ORM Usage
  • Same Old ORM
  • Choosing Options
  • Organizing Forms
  • Form Basics
  • Using Bootstrap Components
  • Responsive Layouts With the Bootstrap Grid
  • Getting to Know Bootstrap 4
  • Positioning Page Content
  • CSS Layout Project
  • Page Layout with the Float Property
  • Controlling Layout with CSS Display Modes
  • Getting Started with CSS Layout
  • Fundamental Concepts
  • Designing with the Latest Features
  • Basic Layout
  • The Box Model
  • Understanding Values and Units
  • Basic Selectors
  • Getting Started with CSS
  • Inlines and Media
  • Django Model Forms
  • Django Models
  • Django Forms
  • Building Custom Filters
  • Building Custom Tags
  • Template Tags and Filters
  • Test Time!
  • Final Details
  • Django Templates
  • Model Administration
  • What a View
  • Say Hello to Django
  • Tacocat Challenge
  • How to Win Friends
  • Broadcasting
  • Takin' Names
  • Making Strong Users
  • Character Builder
  • Flask Templates
  • Welcome to Flask
  • GET and POST Requests in a Browser
  • Introduction to HTTP
  • 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
  • Covering Your Bases
  • Be Assertive!
  • What Is Testing?
  • Gettin' CRUD-y With It
  • Our Diary App
  • Meet Peewee
  • Timezones
  • Math Quiz App
  • Dates and Times
  • Python Regular Expressions
  • Dice Roller
  • Python: Advanced Objects
  • Python: Inheritance
  • Python: Instant Objects
  • Buggy Logs
  • Cleaner Code
  • Dungeon Game 2
  • Python Sets
  • Python Tuples
  • Python Dictionaries
  • Python Slices
  • Python Lists
  • Build an Application
  • Using Lists
  • Meet Lists
  • Using Slack Effectively
  • Introducing Slack for the Techdegree
  • All Together Now
  • Functions and Looping
  • Types and Branching
  • Meet Python
  • Newbie