Mohammad Laif

Mohammad Laif

Courses Plus Student

Al Qaţīf, Saudi Arabia
Open to Work

Self-taught 👨‍💻, Android Developer, Pythonic 😎, and Blogging.

22,297

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

    • Arabic
    • English

262 Achievements

  • Productivity
  • Presentation Skills
  • Creating a Long Term Business
  • Protecting Yourself With Contracts
  • Making sense of it all
  •  Learning activity: Interviewing
  • Learning activity: Field Observation
  • What is Agile?
  • Learning activity: Experience Sampling
  • Finding participants for your learning activity
  • Solving an Important Problem
  • Establishing a Proper Workflow
  • Pricing and Project Proposals
  • Finding Your First Project
  • Starting a Freelance Career
  • Important Skills For Professional Success
  • Protecting and Sharing Your Work
  • Licensing
  • Fair Use and Public Domain
  • Getting Started with Copyright
  • Business Plan for Freelance Business
  • Business Plan Basics
  • Moving Forward with UX
  • Tools UXers Use
  • How UXers Think
  • What Do User Experience Designers Do?
  • What is User Experience (UX)?
  • Moving Beyond the Blog
  • Finding Business
  • Working with a Developer
  • Designing our App
  • Wireframing, Interaction Design and Planning
  • ADS Writing and Preparation
  • Introduction to UI Design
  • Creating Content
  • Introduction to Blogging
  • 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
  • Diving into Web Development
  • Review Functional Programming Fundamentals
  • Reduction and Aggregation
  • Meet Streams
  • Java's Functional Toolset
  • Themes and Compatibility
  • Using Styles in Layouts
  • Next Steps
  • Financing Our Company
  • Selling Your Product
  • Marketing Your Product
  • Product Market Fit
  • Discovery
  • Broadcasting
  • Takin' Names
  • Making Strong Users
  • Character Builder
  • Flask Templates
  • Welcome to Flask
  • 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
  • Python Regular Expressions
  • Timezones
  • Math Quiz App
  • Dates and Times
  • Buggy Logs
  • Cleaner Code
  • Hack-n-Slash
  • Python Inheritance
  • Python Objects
  • Dungeon Game 2
  • Python Sets
  • Python Tuples
  • Python Dictionaries
  • Python Slices
  • Python Lists
  • Letter Game App
  • Number Game App
  • Shopping List App
  • Logic in Python
  • Python Data Types
  • Python For Beginners
  • Optimizing the Model
  • Box Modeling Techniques
  • Working with Primitives
  • Getting Started in Maya LT
  • Key Concepts in Unity
  • Debugging Games
  • Lights, Audio, and Animation
  • Assets and Game Objects
  • The 3D Views
  • 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
  • What To Test
  • Test Driven Development
  • Writing Unit Tests
  • Unit Testing
  • Query Builder
  • Query Operators
  • Functional!
  • Now You're Querying!
  • Sets and Dictionaries
  • Lists
  • Arrays
  • Data Retreiver
  • Serialized!
  • Data Parser
  • Data Reader
  • Abstraction
  • System.Object
  • Polymorphism
  • Loops and Final Touches
  • Encapsulation with Properties
  • Encapsulation and Arrays
  • Inheritance
  • Methods
  • Object-Oriented Programming
  • Perfect
  • Perform
  • Console I/O
  • Prepare and Plan
  • Improving Usability
  • Mobile Usability
  • Website Usability
  • What is Usability?
  • Layer Basics
  • Workspace Basics
  • How to Draw in Illustrator
  •  Adding Color and Type
  • Creating an Icon
  • Introduction to Illustrator
  • The Logo Sprint
  • Logo Design 101
  • Color Theory
  • Principles
  • Elements
  • Design Foundations Final
  • Becoming a Problem Solver
  • Understanding Aesthetics
  • Introduction to Design
  • Subqueries
  • Set Operations
  • 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
  • Deleting Data from a Database
  • Updating Data in a Database
  • Adding Data to a Database
  • Finding the Data You Want
  • Getting Data from a Database
  • Data, Databases and SQL
  • Getting the REST You Need
  • GET and POST Requests in a Browser
  • Introduction to HTTP
  • Publishing on Google Play
  • Writing Your Own Java Annotation
  • Using Java's Built-In Annotations
  • Event Planning
  • Build a Pomodoro App
  • Design a Better App
  • Graphical User Interfaces
  • Advanced Tooling
  • IDE Exploration
  • How it Works
  • Efficiency!
  • Exploring the Java Collections Framework
  • Organizing Data
  • Getting There
  • Delivering the MVP
  • Creating the MVP
  • Harnessing the Power of Objects
  • Meet Objects
  • Perfecting the Prototype
  • Using your New Tools
  • Getting Started with Java
  • UI Testing with Espresso
  • Unit Testing - Now Featuring Robolectric!
  • Unit Testing
  • What to Test
  • How To Test
  • Why Test
  • Adding the UI
  • Learning Anko
  • Is This Thing On?
  • Putting It All Together
  • Modelling Solitaire
  • Hello Kotlin!
  • Local Notifications
  • Broadcast Receivers
  • Implicit Intents and Intent Filters
  • For All Intents and Purposes
  • But Wait There's More!
  • Bound Services
  • Introducing Services
  • Threads in Android
  • Interacting with Google+ APIs
  • Connecting to Play Services
  • Interacting with Your API
  • Adding Play Services to Your App
  • Activity Transitions: Advanced Topics
  • Shared Element Transitions
  • Transitions Framework
  • File Storage
  • Migrating a SQLite Database
  • CRUD Operations with SQLite
  • Using SQLite for Structured Data
  • Key-Value Saving with SharedPreferences
  • Introduction to Data Persistence
  • Animation Basics
  • Tablet Time
  • Ingredients and Directions
  • Managing Fragments
  • Introducing Fragments
  • The Project
  • Introducing SharedPreferences
  • The Activity Lifecycle
  • Acting on List Item Taps
  • Lists with RecyclerViews
  • Using Parcelable Data
  • Custom ListViews
  • Standard ListViews
  • Updating the Data Model
  • Hooking up the Model to the View
  • Building the Weather UI
  • Working with JSON
  • Concurrency and Error Handling
  • Networking
  • Exploring an API
  • Finishing the User Interface
  • The Model-View-Controller Pattern
  • Intents and Multiple Activities
  • User Input
  • Testing and Debugging
  • Improving Our Code
  • Basic Android Programming
  • Creating the Screen Layout
  • Getting Started with Android
  • Newbie