Welcome to the Treehouse Library
This is a sample catalog of all the courses we offer. Browse by topic or difficulty. Sign up today and get access to our entire library. Treehouse students get access to workshops, bonus content, conferences, and more.
Ready to start learning?
Treehouse offers a 7 day free trial for new students. Get access to 1000s of hours of content. Learn to code, land your dream job.
Start Your Free Trial- Newest
-
All Topics
- All Topics
- • AI
- • JavaScript
- • Databases
- • Python
- • Design
- • React
- • HTML
- • CSS
- • Data Analysis
- • Java
- • C#
- • Android
- • Computer Science
- • PHP
- • Quality Assurance
- • APIs
- • Security
- • Digital Literacy
- • Development Tools
- • Business
- • 21st Century Skills
- • Ruby
- • Machine Learning
- • Learning Resources
- • Go Language
- • Equity, Diversity, and Inclusion (EDI)
-
- 1
Supercharge Your Figma Workflow with AI Plugins
Dive into the world of Figma and AI plugins as we introduce five transformative AI tools designed to revolutionize your design process. Learn how to enhance your Figma experience with AI-driven solutions that enable rapid wireframing, insightful design feedback, and impactful UX copy creation. Each plugin brings its own unique set of capabilities, and we're here to explore them all!
-
- 1
- 2
Introduction to NLP
Explore the magic of Natural Language Processing (NLP)! Ever wonder how Siri or Google Translate function? Jump into NLP, the AI field that bridges the gap between humans and computers. This course covers everything from the technical fundamentals to real-world applications and ethical considerations. Don't miss out on this linguistic adventure!
-
- 1
- 2
- 3
AI Chatbot Comparison: Google Bard, Bing AI, Claude, ChatGPT
Step into the exciting world of chatbots amplified by large language models! This course aims to provide practical insights and a solid foundation in understanding and working with AI chatbots. We’ll compare four major platforms—Google Bard, Bing AI, Anthropic's Claude, and OpenAI's ChatGPT—and we’ll look at the fundamental concepts, capabilities, and limitations of each platform.
-
- 1
- 2
- 3
Introduction to HTML and CSS
Get started creating web pages with HTML and CSS, the basic building blocks of web development. HTML, or HyperText Markup Language, is a standard set of tags you will use to tell the web browser how the content of your web pages and applications are structured. Use CSS, or Cascading Style Sheets, to select HTML tags and tell the browser what your content should look like. Whether you are coding for fun or planning to start a career in web development, learning HTML and CSS is a great place to start.
-
- 1
- 2
- 3
- 4
Python Dates and Times
As a Python developer, you will inevitably come across the need to use dates and times in your projects. This course will teach you how to use Python to work with dates and times. You will learn how to manipulate and format dates, calculate time differences, and explore the built-in datetime module. By the end of this course, you will have a solid understanding of how to handle dates and times in Python for a variety of applications. Throughout this course, we'll work together to build a simple app that will utilize this new concept and solidify your understanding.
-
- 1
- 2
Game Development with Phaser
Learn how to make your own video game in this beginner-friendly course designed to teach the fundamentals of the Phaser game engine. This course takes a hands-on approach to learning by showing you how to setup and create two games from scratch. With this step-by-step guidance, you will gain a solid understanding of the features of the Phaser game engine needed to create a fun game. By the end of the course, you'll not only have two games to show for your effort, but you'll also gain the skills and confidence to build a game of your own.
-
- 1
Introduction to Computer Vision
Computer Vision (CV) is a subfield of Artificial Intelligence that enables machines to interpret and make decisions based on visual data. Explore its origins and applications, and the fundamental concepts that drive its development.
-
- 1
- 2
Designing with Generative AI
Join Dan in this course as he uses generative AI to design a website for a bakery, employing the tools and methods highlighted in AI Tools for Designers.
-
- 1
- 2
- 3
- 4
React Basics
React is a JavaScript library for building user interfaces. React makes building and maintaining your application's user interface faster and easier by breaking it up into smaller, reusable components. It also helps eliminate the complexity of updating your DOM elements when the user interacts with your application.
-
- 1
AI Tools for Designers
Join Dan as he embarks on a captivating journey into the world of Generative AI. Go deep into the revolutionary platforms, from Midjourney and Adobe Firefly to DALL·E and Bing Image Creator, that are reshaping the artistic landscape. Alongside this exploration, the video delves into the ethical implications of AI creation, emphasizing the importance of authenticity and originality.
-
- 1
- 2
- 3
- 4
- 5
The 5-Step Career Checklist
Welcome to your 5-Step Career Checklist, a course designed to guide you through the process of building essential skills and increasing your employability. This checklist comprises a series of tasks and milestones covering a wide range of crucial topics such as crafting a compelling resume, mastering the art of networking, and leveraging technology to showcase your abilities.
-
- 1
- 2
- 3
React Authentication
In this course, you will learn how to implement the Basic Authentication scheme in a React application using an Express REST API.
-
- 1
Introducing Large Language Models
Large Language Models like ChatGPT are rapidly transforming natural language processing and shaping the future of technology. In this microcourse, learn more about this fascinating type of machine learning model specifically trained to understand and generate natural language text. This microcourse was written with the help of ChatGPT. The video was produced using Synthesia, an AI video creation platform.
-
- 1
- 2
- 3
- 4
TypeScript Basics
Dive into the basics of TypeScript, an open-source programming language created by Microsoft that shares the same basic syntax as JavaScript. In this beginner course, you'll explore using, creating, and manipulating types to help you write robust and readable code.
-
- 1
- 2
- 3
React Router v6 Basics
Learn to use React Router v6, a declarative routing solution for React, to manage the navigation and rendering of components in your applications.
-
- 1
- 2
- 3
- 4
- 5
React Components
Components are the core building blocks of a React application. This course will level-up your React skills by providing a better understanding of functional components, state and lifecycle methods, and how to split your UI into reusable and composable components.
-
- 1
- 2
- 3
Build a Chatbot with Watson APIs
IBM has created an AI platform named Watson that gives businesses and developers access to powerful tools for text and speech analysis, computer vision, and more. Watson APIs consist of a suite of services used to process or analyze data to answer questions and make decisions. This course will show you how to build a chatbot with Node.js and the Conversation and Discovery services from Watson. You'll also learn how to setup your bot on the IBM Cloud platform.
-
- 1
- 2
- 3
- 4
Node.js Basics
In this course we will create two command line applications using the popular server-side JavaScript platform Node.js. We'll be creating an application to retrieve a student's Treehouse profile information and be working with a dictionary API to retrieve definitions of a given word.
-
- 1
- 2
- 3
Intro to Seaborn
The Seaborn module is a Python visualization library based on Matplotlib. It provides a higher-level, more convenient way to create common statistical plots and is well-suited for labeling and presenting statistical graphics. This course will help you get started with Seaborn by walking through the structure of its library, showing how to create key charts in Seaborn, and comparing the results with equivalent plots created with Matplotlib.
-
- 1
- 2
npm Basics
npm is a command line tool to help you manage Node.js modules, and this course will get you up and running with npm.
-
- 1
- 2
Preparing Data for Analysis
Learn how to clean and prep data for analysis using spreadsheet tools and Python's Pandas.
-
- 1
- 2
- 3
UX Design Patterns
If you’re a frequent user of websites and mobile applications, you’re already familiar with design patterns, whether you’re aware of them or not. Design patterns are visual strategies for solving common usability problems. Design patterns keep the cognitive load to a minimum by making interfaces feel intuitive. When I say cognitive load, I mean the mental effort involved in solving a problem or making a decision.
-
- 1
- 2
- 3
JavaScript and the DOM
JavaScript lets you create interactive web pages which can respond to a user's actions. In this course, you'll learn how to bring web pages to life using the power of JavaScript.
-
- 1
- 2
Interacting with the DOM
Along with selecting DOM elements in JavaScript we can also write code that gives elements behavior. In this course we will first explore how to watch for interaction and respond using the method addEventListener. We'll learn about different types of events and how we can use the relationships between elements to write more powerful code.
-
- 1
- 2
- 3
- 4
Data Visualization Foundations
What is data visualization? A simple answer might be something like the graphic representation of data. But to get a better understanding of what practitioners of data visualization do, let’s start with the term data. By data, I mean raw, unorganized facts and numbers. Practitioners of data visualization take raw, hard-to-grasp data and turn that data into information by providing context and a purpose.
-
- 1
Important Skills for Professional Success
No matter what job you're in right now or career you hope to have, improving your "soft skills" can help you become a better worker, better team member, and a better person. Embracing a work lifestyle involving communication and feedback, collaboration, and working together to improve things can only lead to positive results.
-
- 1
Careers in the Tech Industry
Through a series of interviews with Treehouse teachers and more, we explore the current state of the tech industry, including how to get started as a web designer, developer, or app developer.
-
- 1
Technical Interview Prep: Python Basics
Test your basic Python knowledge with a few code challenges. These challenges are similar to those you might encounter in a technical interview.
-
- 1
Basic Statistics for Data Analysis
Basic statistics concepts learned through traditional schools may have been forgotten or not utilized for a long time. This course is to remind students how to calculate basic statistics, solidify understanding of the terminology, and determine which graphs might be most useful in displaying data.
-
- 1
- 2
Flask with SQLAlchemy Basics
Learn how to use the popular Python framework for creating websites and web applications, Flask. Then upgrade your website with a database connection using SQLAlchemy.
-
- 1
- 2
SQLAlchemy Basics
Creating a SQL database including model creation and CRUD using SQLAlchemy.
-
- 1
Mobile-First CSS Layout
In this course, you'll get hands-on practice using CSS layout techniques such as a CSS Reset with Normalize, a layout wrapper, a sticky footer, and centered content with a full-width header. In addition, you'll learn principles that will help you approach your next project with a mobile-first mindset.
-
- 1
- 2
- 3
- 4
Enhancing Design with CSS
In this course, we're going to learn CSS properties for enhancing visual design. We’ll cover various properties for styling text, including loading web fonts from external resources. We’ll learn techniques for turning our CSS boxes into more than just rectangles. And finally, we’ll learn some really cool visual effects using CSS filters and gradients.
-
- 1
- 2
- 3
- 4
CSS Layout
In this course, we're going to learn techniques for better control over our CSS layouts. We’ll cover how the CSS Box Model impacts the presentation of each HTML element, learn to control the position of each element onscreen, and even begin to adjust our layouts for different screen sizes and environments.
-
- 1
- 2
- 3
- 4
CSS Basics
In this course, we're going to learn the basics of CSS, one of the core technologies for designing and building websites and applications. No matter what kind of website or web application you want to build, you'll have to use CSS. If you haven't written much CSS, or even if you’ve never written CSS at all, don’t worry. That's what this course is for. We’ll start with basic CSS concepts, then gradually progress to more advanced topics and lessons.
-
- 1
How to Have 1:1's
Learn WHY one-on-ones are the most important meeting on your calendar for you and your manager as well as HOW we recommend preparing for and best practices for one-on-ones.
-
- 1
- 2
Collaborating with Developers
Designers will learn how to involve developers throughout the design process, from conceptual brainstorming to implementation in code.
-
- 1
Technical Interviewing
This seminar will cover a range of what you might experience in a technical interview, since they vary by company. We’ll discuss best practices for whiteboarding and other alternatives such as pair programming or portfolio review as well as useful tools to help you practice.
-
- 1
- 2
- 3
Basic Object-Oriented Python
Learn the powerful object-oriented method of designing and laying out code.
-
- 1
- 2
Intro to Data Analysis
An introduction to the concepts, tools, and terms for data analysis.
-
- 1
- 2
- 3
- 4
- 5
Intro to Design Thinking
Learn the user-centered methods and mindsets that entire businesses are using to improve their product experiences. Throughout this course, we’ll go over how to find the voice of our user, the importance of that voice, and how to create a better experience for our user.
-
- 1
Basic Math for Data Analysis
Basic math concepts learned through traditional schools may have been forgotten or not utilized for a long time. This workshop is to remind students how to calculate basic statistics and refresh their memory on terminology.
-
- 1
- 2
- 3
- 4
Ethical Design
With all the power that technology yields, it comes with tremendous responsibility. This course will introduce Ethical Design, which considers the moral implication of one's work on others. Specifically, we'll focus on tech at the intersection of development, design, and business. We'll reflect on how tricky interfaces and dirty data practices have negative consequences on society. Ethical frameworks and tools will be shared so you can evaluate and align your actions with your values. Techniques for effective advocacy will enable you to nurture human-centered decisions in your organization. This course is for everyone who works in tech, regardless of their role.
-
- 1
- 2
Accessibility For Web Developers
Accessibility is a process that specifically considers the needs of people with disabilities. In this course, you’ll learn about the standards in place to guide developers in creating experiences that are accessible to all users as well as tools and techniques to ensure your projects are up to those standards.
-
- 1
Intro to Gender & Sexuality
In this seminar, we'll do an overview of gender and sexuality. We will breakdown these terms, discuss its importance, and how to be inclusive and equitable to these identities.
-
- 1
- 2
REST API Validation with Express
Explore how to validate data on the server using a REST API developed with Node.js and Express. The API will allow you to create a user account and retrieve a list of user accounts.
-
- 1
- 2
- 3
- 4
Data Relationships with SQL and Sequelize
As you follow along in this course, you'll define data relationships for a simple Node application that creates and retrieves movie data. You'll define data relationships in Sequelize models, and create related data (like Movie and Person records) using those models. Then you'll retrieve related data with Sequelize queries.
-
- 1
- 2
- 3
- 4
A Social Network with Flask
It's time to dig in and build something big. In this course, we're going to take the tools we've learned, Flask, Peewee, and Python itself, and build a small social network. We'll have user registration, user authentication, strongly hashed passwords, form validation, and more.
-
- 1
- 2
User Onboarding
User onboarding optimization has a huge impact on user retention, allowing users to engage with a product and understand its value. We'll take a look at several user onboarding patterns.
-
- 1
- 2
Accessibility for UX Designers
Accessible design is a design process that specifically considers the needs of people with disabilities. In this course, you’ll learn about the standards in place to guide designers in creating experiences that are accessible to all users as well as techniques to help bring your projects up to those standards.
-
- 1
- 2
JavaScript Objects
Objects are an essential part of JavaScript; they provide a flexible way to keep track of data by associating a name with a particular value. In this course, you'll learn the basics of JavaScript objects as a data structure (using objects to store key/value pairs).
-
- 1
- 2
- 3
JavaScript Arrays
Arrays provide a way to store multiple pieces of information. An array is a list of values: numbers, strings, boolean values, or even other arrays. In this course, you'll learn the basics of using arrays as data structures.
-
- 1
- 2
JavaScript Loops
Loops are a way of repeating code -- they're handy for repetitive tasks. Loops are frequently used for actions that need to run a particular number of times or until a certain condition is true.
-
- 1
Imposter Syndrome
Everyone has probably experienced Imposter Syndrome. We may not know what it is but we have felt it at some point. In these videos learn about what Imposter Syndrome is and tips to combat it.
-
- 1
- 2
- 3
- 4
Build a REST API with Laravel
Build a REST API using one of the most popular PHP frameworks, Laravel. In this course you'll learn how to implement CRUD operations in a Laravel REST API using the MVC design pattern.
-
- 1
How to Give and Receive Feedback
Learn why feedback is useful. You'll explore a simple process for providing feedback (both positive and constructive) in a way that will be well-received and motivate the right behavior. You'll also learn tips for receiving feedback effectively and putting it into action.
-
- 1
- 2
- 3
- 4
- 5
Laravel Basics
This course will show you how to build the Treehouse course catalog using Laravel, one of the most popular PHP frameworks. You could easily use this project to create your own basic Laravel application using the MVC design pattern.
-
- 1
- 2
Designing Interactions
Learn the principles of Interaction Design, including the five dimensions, interaction models, and cognitive psychology. Apply those principles by learning how to design interactions in a design program.
-
- 1
- 2
Getting Started With Human Interface Guidelines
Learn how to work with Apple’s Human Interface Guidelines documentation. Learn to apply Human Interface Guidelines principles when designing iOS applications.
-
- 1
- 2
Getting Started With Material Design
Learn how to work with Google’s Material Design documentation. Learn to apply Material Design principles when designing applications for the Android platform.
-
- 1
- 2
- 3
- 4
Introduction to Design Systems
Learn how a scalable, repeatable design system leads to a more efficient design. Learn the components of a design system, and how to work with existing documentation.
-
- 1
- 2
- 3
JavaScript Functions
JavaScript functions let you create reusable chunks of code. They make programming faster, easier, and less error-prone. They are also one of the essential concepts in JavaScript programming.
-
- 1
- 2
JavaScript Numbers
Numbers are everywhere in programming. You use them to track a player's score in a game, calculate the cost of shipping a product, or count the number of times a "Like" button gets clicked on a page. In this course, you'll learn how to use numbers for useful tasks in your JavaScript programs, including doing math, converting strings to numbers, generating random numbers, and more.
-
- 1
- 2
- 3
- 4
JavaScript Basics
JavaScript is a programming language that drives the web: from front-end user interface design to server-side backend programming, you'll find JavaScript at every stage of a website and web application. In this course, you'll learn the fundamental programming concepts and syntax of the JavaScript programming language.
-
- 1
- 2
- 3
- 4
- 5
Typography for Designers
Typography is one of the most important aspects of good design. In this course, you'll learn all you need to know about creating good typography as a UX Designer: how to choose a typeface; what to look for when laying out type, how to create typographic hierarchy, laying out type, and creating responsive typography.
-
- 1
- 2
- 3
Conducting User Interviews
Learn how to validate product ideas by identifying an audience, sourcing participants, conducting user interviews, and analyzing the results.
-
- 1
- 2
Working with $_GET and $_POST in PHP
This course will show you how to work with PHP Superglobals such as $GET and $POST while using a security-conscious mindset. External inputs, like HTML forms, are considered a security vulnerability so you should always filter inputs and escape outputs. Using PHP Superglobals when using external inputs such as HTML forms, cookies, sessions, and web servers will give you a security-conscious mindset that you can apply to all of your projects.
-
- 2
- 3
Build a Basic PHP Website
This project will show you how to build a simple website using the PHP programming language. The web site, a media library, will let you organize and display your Books, Movies and Music. You could easily use this project to create a website that lets you organize and display any type of item: Branch Locations, Products, Services, Events, even Courses like we have here on Treehouse.
-
- 1
- 2
- 3
Using SQL ORMs with Node.js
In this course, you'll learn how to use the Sequelize ORM to leverage the power of SQL within your Node.js applications.
-
- 1
- 2
Introducing Dictionaries
Another useful Python data structure is the dictionary. Learn how to write one and use one in your day-to-day Python code.
-
- 1
- 2
Python Sequences
Discover several types of Python sequences, many ways of sequence iterations, and all of the common sequence operations.
-
- 1
- 2
- 3
Functions, Packing, and Unpacking
Learn the ins and outs of Python functions, how to send and receive values to functions, and all about Python packing and unpacking.
-
- 1
Introducing Tuples
Learn about a Python data structure that's similar to lists but with one key difference!
-
- 1
- 2
Designing Layouts
In this course, you'll learn how to apply design principles through a series of examples. Each example will include some component that can be improved, and by making the improvement, you'll develop strong aesthetic sensibilities about things like visual and typographic hierarchy, the use of grids and alignment in layouts, and how to choose colors.
-
- 1
- 2
AJAX Basics
AJAX is an important front-end web technology that lets JavaScript communicate with a web server. It lets you load new content without leaving the current page, creating a better, faster experience for your website's visitors. In this course, you'll learn how AJAX works and how you can use JavaScript to communicate with a web server. We'll use plain JavaScript to create AJAX requests and use the response to dynamically update your web pages. Along the way, you'll build mini-projects to reinforce your learning.
-
- 1
- 2
- 3
- 4
- 5
C# Basics
C# is the most popular programming language in the Microsoft ecosystem of products. C# code is designed to run fast and to be easily maintainable. In C# Basics, we'll learn how to work with C# to write simple programs.
-
- 1
- 2
Using Cookies and JWTs for Secure Authentication
Refactor an existing authentication project by using cookies and JSON Web Token to increase security. Cookies are a way for a browser to store information while tokens are a stand-in or representation for something else.
-
- 1
- 2
- 3
- 4
Asynchronous Programming with JavaScript
In this course, you will learn why asynchronous code matters and how to write code that avoids blocking behavior using three approaches: callbacks, promises, and async/await.
-
- 1
- 2
- 3
- 4
- 5
Financial Statement Basics
Understanding how to read the story that financial statements tell is a really useful skill and an important part of career development. In this course, we’ll give a basic overview of the 3 main financial statements: the Profit and Loss Statement, the Balance Sheet, and the Cash Flow Statement. We’ll teach what they show you, why it matters, and give you a bunch of practice problems to help retain that knowledge. After completing this course, you will be able to read, understand, and use financial statements and build on that knowledge as you continue to learn about them.
-
- 1
- 2
- 3
Getting Started with PHP Unit Testing
For all us imperfect programmers, I have some great news. There are tools that can help you keep those mistakes from breaking your application. They can also help you find and fix bugs faster, while at the same time, preventing those bugs from ever coming back. Many of these tools revolve around testing.
-
- 1
- 2
Visual Design Foundations
In this course, you'll build your design vocabulary and learn how to describe the basic building blocks of any visual image. We'll start by learning about the elements of design, like line, shape, and form. Then we'll move on to the principles of design, like balance, harmony, and movement. By the end, you'll have a better foundation for discussing design with other team members and you'll be able to make objective observations about what is often subjective subject matter.
-
- 1
- 2
Introduction to User Authentication in PHP
Do you want users to be able to interact with your site? Do you want users who are active participants in the content you provide? That interaction could be purchasing products or adding products to sell, leaving comments or providing blog posts. No matter which type of interaction your site provides to users, you'll need a way to authenticate those users. In this course we'll lay the foundation for keep your data safe and secure while building a platform for active participation.
-
- 1
- 2
- 3
Continuous Integration with Jenkins
Jenkins is a continuous integration server. Integration tests take all the code and other components of your application and integrate it together, then test it to ensure it's working properly. Jenkins can watch repos for version control software like Git or Subversion. When there's a new commit, Jenkins will check it out automatically. It will run your tests, and report the result. It can even be configured to automatically deploy your software to production if all the tests pass. This course is going to show you all the basics of using Jenkins.
-
- 1
Introduction to Regular Expressions
Regular Expressions are like having a secret code for telling a computer exactly what you want. Regex, as it's often referred to, is a text string for describing a search pattern. You can think of it as a supercharged version of a find tool. In this course, we'll explore what regular expressions are, and get some practice using them.
-
- 1
- 2
- 3
- 4
REST APIs with Express
Learn the basics of building out a REST API with Express, a popular framework written for Node.js.
-
- 1
Asynchronous Code in Express
In this course, we’ll look more closely at three approaches to handling asynchronous operations in Express: callbacks, promises, and async/await.
-
- 1
- 2
- 3
CSS Selectors Quickstart
An introduction to CSS selectors for JavaScript programmers. This course covers what you need to know about CSS selectors to complete common DOM programming tasks.
-
- 1
- 2
- 3
Build a REST API with PHP
Build a REST API using the Slim Microframework.
-
- 1
- 2
- 3
Practice Object Interaction
Get more familiar with building different classes, instantiating objects and having those objects interact with one another in a complete app.
-
- 1
- 2
- 3
Introduction to the Terminal
Apps for ordinary users use GUIs you control with a mouse or touchscreen. But developers know the most powerful way to interact with computers is by using text in the terminal. This course will set you on the path to terminal mastery!
-
- 1
Java Maps
In this course we'll learn how to store key-value pairs by using a Map!
-
- 1
Templating with Twig
Templating languages and tools are used with frameworks like Slim and Laravel to incorporate PHP and logic into static HTML web pages. In this course we will see how to apply Object-Oriented methodology to views (web pages with HTML).
-
- 1
Java Lists
In this course you'll learn how to use Lists to store groups of Objects. You'll also see when to use a List instead of an Array!
-
- 1
Generics in Java
Learn how to pass type parameters to Objects or functions in this course on generics!
-
- 1
Interfaces in Java
Learn how to make more robust and flexible code bases by using interfaces!
-
- 1
- 2
Introducing MVC Frameworks in PHP
In this course we will build upon what we have learned about Object-Oriented Programming to build a basic website. By using the Slim Microframework, we will explore common MVC concepts without the framework hiding too much functionality out of the box.
-
- 1
Design Criticism
One of the most important parts of design is being able to talk about it with other people. Giving feedback and communicating suggested changes is key to moving forward with people and businesses. In this course, you'll learn how to formulate constructive criticism and talk objectively about the subjective topic of design.
-
- 1
- 2
Introduction to Churn and Lifetime Value (LTV) Analysis
This introduction to Churn and Lifetime Value ("LTV") analysis course is designed for absolute beginners to give them exposure to the common business metrics of Churn and LTV. In the course we learn about recurring revenue, churn, LTV, why they matter, and navigate some of the nuances of the metrics.
-
- 1
Practice Creating and Using Functions in Python
Practice your function skills
-
- 1
- 2
- 3
- 4
- 5
Building a Portfolio
Your portfolio is the most immediate means for a potential employer to decide if you’re a good fit. This course will give you insight into creating and curating a collection of your work that will most accurately reflect what you value as a designer/developer, what it might be like to work with you, and what to expect in terms of your output.
-
- 1
- 2
- 3
- 4
Git Branches and Merging
This course introduces the concept of branches in Git and shows practical uses for managing both local development and collaborative workflows.
-
- 1
- 2
- 3
- 4
UX Content Strategy
With so many websites and apps offering similar content and features, you need to provide a unique experience to compete - something memorable and enjoyable that resonates with your users. UX Content is how it’s done. From your home page and product descriptions down to your error messages, UX content can turn generic interactions into memorable experiences. By establishing a unique voice and personality, you can create an environment that welcomes, supports, and inspires users during their visit. So in this course, we’ll discuss why UX Content is so important, where you need it, how to create it, and how to ensure it’s effective.
-
- 1
- 2
Introduction to pandas
Pandas provides fast, flexible, and expressive data structures that have been designed to make working with relational or “labeled” data not only easy, but also intuitive. It’s the fundamental high-level building block for doing practical and real-world data analysis in Python.
-
- 1
- 2
- 3
Prototyping with Adobe XD
Adobe XD is a visual prototyping tool for PC and macOS. In this course, you'll learn how to use Adobe XD by building a mockup for a travel booking app. By the end, you'll be able to create interactive prototypes that can be shared with others.
-
- 1
- 2
- 3
- 4
Evaluating Design
An essential part of the UX design process is measurement and validation. This course will provide an overview of the methods available for measuring the success of a design including A/B testing, surveys, and usability testing. It will specifically deep dive into usability testing so that students will learn about what’s involved in running such a test, from preparing a test plan to presenting actionable findings.
-
- 1
Practice Classes in JavaScript
Practice building and working with classes in JavaScript.
-
- 1
Practice Getters and Setters in JavaScript
Practice writing and using getters and setters in JavaScript classes.
-
- 1
- 2
- 3
- 4
- 5
Introduction to QA Engineering
Learn how to become an effective test engineer. Testing is something every developer must do to write effective and quality code, but going about what you should test and how to do it can be a challenging question. Quality Assurance is the practice of monitoring other developers' work and creating processes and tests that will ensure the product meets the end user’s expectations and limiting the amount of bugs that are released. This course will teach you how to become a Software Quality Assurance Engineer.
-
- 1
Inheritance in Java
In this course we'll learn how to use inheritance to use one class as the foundation for another!
-
- 1
Introducing IntelliJ and Unpacking Packages
Professional developers don't typically develop in the command line, they use an Integrated Development Environment (IDE) like IntelliJ IDEA. In this course, we'll see how to get started with IntelliJ IDEA and learn how to use packages.
-
- 1
- 2
Algorithms: Sorting and Searching
This course will look at algorithms in two categories: sorting and searching. We'll implement well-known sorting algorithms like selection sort, quicksort, and merge sort. You'll also learn basic search algorithms like sequential search and binary search.
-
- 1
- 2
- 3
- 4
Introduction to Data Structures
In computer science a data structure is a construct that allows us to organize and store data in our programs. In this course we're going to learn about two introductory data structures - arrays and linked lists! We'll look at common operations and how the runtimes of these operations affect our everyday code. For the rest of the course we're going to bring our knowledge of algorithms and data structures together to solve the problem of sorting data using the merge sort algorithm
-
- 1
Practice Object Basics in JavaScript
Practice working with object literals in JavaScript.
-
- 1
- 2
- 3
- 4
- 5
Object-Oriented JavaScript: Challenge
Practice your object-oriented JavaScript skills by building a fun and interactive 'Four in a Row' game.
-
- 1
- 2
- 3
- 5
Introduction to Wireframing
Wireframing is a useful part of the design process. Throughout a website or mobile app project, you will have a lot of ideas and the best way to sort through those ideas is to brainstorm. Wireframes are a visual artifact of brainstorming, and the goal is to make them with minimal effort, as to encourage ideation. Whether you're a designer or not, wireframing is an important skill to have in your toolkit. It's beneficial for product managers, marketers, or anyone else with ideas for a website or mobile app. Wireframes are a valuable tool for visualizing user experiences, iterating on ideas, and sharing ideas with others.
-
- 1
- 2
- 3
- 4
Introduction to Algorithms
Algorithms are a fundamental topic in computer science, power many of the largest companies today and are used in making many decisions that affect our day to day lives - in obvious places like Google's PageRank algorithm to more obscure use cases like national security and local policing. In this introductory course, we're going to take our first steps towards understanding the world of algorithms and data structures. Before we can study individual algorithms we're going to spend time learning how to evaluate algorithms, how to make comparisons and how to develop algorithmic thinking
-
- 1
- 2
- 3
Scraping Data From the Web
Almost any information you want is available on the Internet. Web scraping is a key tool for data mining that information allowing for web page exploration and collection for a variety of reporting. The tools and techniques used in this course allow for data to be collected that would otherwise not be easily accessible without robotic assistance.
-
- 1
Introduction to REST APIs
Many of the APIs you'll encounter on the Web use an underlying design idea known as REST, which stands for Representational State Transfer. Understanding what and how a REST API provides will help you build better and stronger APIs for your users.
-
- 1
- 2
- 3
Introduction to NumPy
NumPy is short for Numerical Python. It is the fundamental package for scientific computing. You will see it at play in just about everywhere Python needs to deal with data. This course gives a gentle introduction to the powerful library.
-
- 1
- 2
- 3
- 4
Creating User Experiences
Join us as we learn the basic principles of User Experience Design and how it shapes everyday interactions with products. By structuring products around users’ needs, we can ensure that the products do their job. You will learn how to meet users where they are, think through intuitive experiences, and create products that more effectively meet both your goals and your end users’ goals. This course will help you think more critically through the steps and decisions a user makes while interacting with your product. If you’re considering a career in User Experience (UX) or want to learn more about it, this course will expose you to how to design and plan around the people who use your product.
-
- 1
- 2
- 3
- 4
Information Architecture
In this age of information, it’s not always easy to know how content should be structured - everyone has a different perspective. In this course, you’ll learn about information architecture: what it is, and how it relates to web design and user experience. We’ll learn about the fundamentals of IA components like navigation, labeling, and content organization, as well as techniques to test and evaluate existing website structures. By the end, you’ll know how to organize website content and provide a clear, logical experience for any user.
-
- 1
- 2
- 3
- 4
JavaScript Quickstart
Get up to speed with the basics of JavaScript. In this course, you'll learn the fundamental concepts and syntax of the JavaScript programming language.
-
- 1
- 2
- 3
Data Persistence with Room
Storing data is important in any Android app. In this course we'll use the Room library to store data in a SQLite database!
-
- 1
- 2
The JavaScript Ecosystem
In this course, we'll explore the exciting JavaScript ecosystem. You'll learn how Node.js helped JavaScript reach new heights, discover applications and tools built with JavaScript, and evaluate popular JavaScript frameworks, libraries, developer roles, and more.
-
- 1
- 2
- 3
- 4
Vue.js Basics
Vue.js is a front end JavaScript framework with a gentle learning curve. Vue’s lower barrier to entry, ease of use and fantastic documentation make it a fun and accessible technology. In this course, you’ll learn fundamental concepts that will help you get up and running with Vue. You’ll also gain skills and foundational knowledge that will help prepare you to tackle the complexities of other frameworks.
-
- 1
- 2
- 3
- 4
Android Lists and Adapters
A collection of data is often represented in an app in some sort of list. In this course we will learn about the popular Android component called RecyclerView to display and interact with a list of items. We will see how to use some default components as well as building custom lists with our own layouts and adapters.
-
- 1
- 2
- 3
- 4
User Authentication with ASP.NET Identity
In this course, you'll learn how to leverage user authentication to secure an application and protect your users' data. You'll update an existing ASP.NET MVC application to use Microsoft's ASP.NET Identity system to implement cookie-based authentication.
-
- 1
- 2
The Landscape of JavaScript
JavaScript is everywhere and used in all phases of development from software to hardware. This course walks you through the modern landscape of JavaScript, and what it means to learn and program with JavaScript now and beyond.
-
- 1
- 2
- 3
Intermediate Selenium WebDriver
Manually testing your website can only take you so far. Learn how to use Selenium WebDriver to automate the process for you, and alert you to problems before your users see them.
-
- 1
- 2
- 3
Introducing Lists
Lists are a powerful data type that allows you to store multiple ordered values in a single container. You are gonna love them.
-
- 1
- 2
- 3
- 4
Python Basics
Learn the building blocks of the wonderful general purpose programming language Python.
-
- 1
- 2
- 3
- 4
- 5
- 6
Build a Weather App
In this course, we will learn about a very common and important element of Android development: downloading data from the Internet! We will request weather forecast data from a free API provided by darksky.net. We will then parse that data (in JSON format) and display it in a single-page app. We will also see how to handle errors and situations when the network is unavailable.
-
- 1
- 2
- 3
- 4
Object-Oriented JavaScript
In this course, you'll learn the basics of object-oriented programming in JavaScript along with the new ES2015 Class syntax.
-
- 1
Environment Variables with PHP
In the lifecycle of an application, there are multiple environments such as Development, Testing and Production. Each environment may have its own unique sources and credentials that need to be managed and secured. Environment variables are accessible to any programming language, and allow applications to adapt to their environment while keeping credentials secure.
-
- 1
- 2
- 3
Introduction to Git
Git is a version control system - it helps you manage the different versions of your project files, and helps keep your work safe. This course will show you how Git works, and how to upload your projects to GitHub.
-
- 1
- 2
- 3
Machine Learning Basics
Machine learning encompasses many different ideas, programming languages, frameworks, and approaches to the subject, so the term "machine learning" is difficult to define in just a sentence or two. But essentially, machine learning is giving a computer the ability to write its own rules and learn about new things, on its own. In this course, we'll explore some of the big ideas, and toward the end, we'll even write a little bit of code in Python that can make some intelligent predictions.
-
- 1
- 2
- 3
- 4
Intermediate Excel
Learn how to perform intermediate level functions in Microsoft Excel. In this course, you will learn how to use LOOKUP functions, build and modify pivot tables, use conditional formatting, find and replace data, and check for errors. Learning these tools will help you bring data to life and allow you to use Excel in a more meaningful way.
-
- 1
- 2
- 3
- 4
Introduction to Product Design
Over the last 10 years, design has proven to be essential to the success of a business. With the rise of the internet and more software being created, and as start-ups and tech companies realize the impact of design on the business and on digital products, there has been an increasing need for design. This course will help you understand and get familiar with product design, the role of design throughout product development and delivery, the different components of product design, and the process of designing digital products and experiences.
-
- 1
- 2
- 3
Introduction to Data Visualization with Matplotlib
Get started creating charts with the Python library, matplotlib, an industry-standard data visualization library. Matplotlib provides a way to easily generate a wide variety of plots and charts in a few lines of Python code. It is an open-source project that can be integrated into Python scripts, jupyter notebooks, web application servers, and multiple GUI toolkits. Whether you are exploring sample data available on the internet, or your own business data, learning matplotlib is a great place to start your data visualization journey.
-
- 1
- 2
- 3
- 4
OWASP Top 10 Vulnerabilities
Welcome again to the realm of web security, where millions of dollars and people’s lives are on the line. Not every web application has that much on the line, but many do, and it’s your job as the developer or manager to keep your users safe! From protecting static web sites to the most complex of web services and APIs, every web developer should be aware of, and adept at writing secure code and building systems that can stand up to the strongest of malicious users. In this course, we will build on earlier courses in basic web security by diving into the OWASP Top 10 for Node.js and JavaScript. The OWASP Top 10 is a trusted knowledge framework covering the top 10 major web security vulnerabilities, as well as providing information on how to mitigate them. Throughout this course, we will explore each vulnerability in general and in the scope of how they occur in JavaScript (as the frontend) and Node.js (as the backend).
-
- 1
- 2
- 3
- 4
Practice Sinatra Basics
Let's practice the basics of creating web apps using Sinatra.
-
- 1
- 2
- 3
Practice Ruby on Rails Basics
Practice the basics of creating Ruby on Rails applications!
-
- 1
Creating and Modifying Database Tables
Learn how to create and modify your own database tables as we work through a real-life example! We'll talk about how to choose the right structure for a database and then see how we can implement that structure.
-
- 1
- 2
- 3
jQuery Basics
jQuery is an immensely popular JavaScript library used to add interactivity to webpages. It's a mature and robust tool that can help you build confidence as a developer by helping you quickly and easily get projects up and running. This course explores the fundamentals of manipulating elements on a webpage and responding to user interactions. We cover what jQuery is, why you'd want to use it, and how to include it in your projects. Throughout the course, you'll use jQuery to enhance several small projects and learn how to add a level of flair and interactivity to any site you work on.
-
- 1
- 2
- 3
Introduction to Application Security
Welcome to the realm of web security, where millions of dollars and people’s lives are on the line. Well, not in all cases, but some! From protecting static web sites to the most complex of web services and APIs, every web developer should be aware of and adept at writing secure code and building systems that can stand up to the strongest of malicious users. In this course, we will lay the groundwork for what you need to know to get started exploring the vast field of web security, and along the way you will begin to realize that security isn’t about checking boxes, but rather about embedding the thought process and principles of rock-solid security into every line of code you write. First, we will discuss why security matters to you as a web developer, then we will look at data security at an implementation level, then finally we will examine the art of maintaining your websites, apps, and services on a daily basis.
-
- 1
- 2
- 3
Data Analysis Basics
Learn how to make better decisions with data in this course on data analysis. We'll start by looking at what data analysis is, and then we'll see how we can use data analysis to create better outcomes.
-
- 1
- 2
- 3
- 4
Introduction to GraphQL
Simplify your backend with GraphQL, the new query language and runtime that is taking the world by storm. With GraphQL, it’s no longer necessary to resolve a bunch of different REST endpoints to get a complete chunk of data. We can use GraphQL to tell a server which data we want, and exactly what it should look like. Whether you’re a front-end developer looking to simplify your workflow, or a back-end developer looking for a way to compose more robust APIs, this course is the perfect place to start.
-
- 1
Practice forEach in JavaScript
Now that you've learned about JavaScript's forEach method, practice using it with this series of challenges.
-
- 1
- 2
- 3
Digital Media Through Photoshop
Get started with creating your own digital media files. Setting up your documents properly before you start creating will be crucial for your end product. In this course we’ll learn what those considerations are as well as how to choose the right options. We’ll introduce the most prolific creative application Photoshop to set up our files, make some adjustments and come out the other end with a banner ad suitable for use on the the desktop and mobile as well as print. This course is perfect for anyone looking to get started with design or photography.
-
- 1
- 2
- 3
Prototyping with Figma
In this course, you'll learn how to build interactive and sharable prototypes in Figma, a web-based visual prototyping tool. You'll create a prototype for a "prosumer" mobile photography app, and by the end, you'll have a better understanding of how to create interactive prototypes that can be shared with project stakeholders and team members.
-
- 1
- 2
- 3
Active Record Associations in Rails
Most of your Rails models are going to be connected to other models in some way. An Author has many Articles, and each Article belongs to an Author. A Doctor has many Patients, and a Patient may have many Doctors as well. Rails uses associations to make it easy to track these relationships in your database.
-
- 1
- 2
- 3
Java Arrays
Arrays are a container object that allow you store many values of the same type in a single variable
-
- 1
- 2
- 3
Getting Started With ES2015
ES2015, also called ES6, is a newer version of the JavaScript language that’s well supported in browsers and commonly used by programmers. In this course, you'll get up-to-speed with ES2015 basics and be well on your way to writing modern JavaScript. You'll learn best practices for creating variables, using the let and const keywords, and a better way to concatenate string values using template literals. You'll also learn the compact syntax for creating functions using "arrow syntax."
-
- 1
- 2
- 3
JavaScript Array Iteration Methods
Learn how to access and transform data in arrays with JavaScript's array iteration methods. You'll learn how, why, and when to use these powerful methods to make your code easier to read and more concise.
-
- 1
- 2
- 3
Building Services with ASP.NET Web API
Services expose data and processes through APIs (Application Programming Interfaces) implemented using common approaches or standards. Decoupling our back-end from our front-end makes it possible for our services to support multiple client apps. We can even allow other developers and organizations to consume and use our services to further broaden the reach of our applications. In this course, you'll learn how to use the ASP.NET Web API framework to build a RESTful service or HTTP API. As you learn about Web API, you'll create a service for the Fitness Frog single-page web app (SPA) developed using Angular.
-
- 1
- 2
- 3
- 4
Bootstrap Basics
Learn to build with Bootstrap, one of the most popular open source front end frameworks, to help you build a functional design and layout in little time.
-
- 1
- 2
- 3
- 4
- 5
Ruby Basics
Ruby is a programming language with a focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write. In Ruby Basics, we'll learn how to work with Ruby and write simple Ruby programs.
-
- 1
- 2
- 3
- 4
- 5
Build a Simple Android App with Kotlin
This course covers the very basics of Android development. We will build a simple app that will serve up some fun facts when you tap on a button. We introduce you to programming in Android, a tool for Android development called Android Studio, and some very basic concepts of the Android Software Development Kit, or SDK. By the end you will have a good idea of how a basic app works, and you will be armed with the knowledge to start building more.
-
- 1
- 2
- 3
CSS Grid Layout
CSS Grid Layout provides a built-in, more efficient way of designing grid-based layouts in the browser. It brings a new set of properties, functions and flexible units that let you control the exact placement and sizing of grid components.
-
- 1
- 2
- 3
Introduction to Xamarin
An introduction to developing mobile apps using the Xamarin platform. You'll learn what the Xamarin platform is and how it works. You'll setup a development environment that will allow you to build Android and iOS apps. You'll also learn techniques to share code across mobile platforms. Complete this course and you'll have a functioning app on Android and iOS using the Xamarin platform.
-
- 1
- 2
- 3
- 4
- 5
Introduction to Docker
Docker allows any developer of any language to package an app into a container, like a shipping container. Containers include an app and all the other software it depends on, like databases. Containers let your users easily run your website, app, or service on any operating system they want. This course will show you how Docker works, and how it can make it easier to distribute your software!
-
- 1
- 2
- 3
Introduction to Selenium
As web applications grow in size it becomes difficult to reliably and thoroughly verify that the application behaves as intended. Manually stepping through the system gets tedious and time consuming. That's where automated testing tools become invaluable. In this course we will learn to use Selenium WebDriver, one of the most popular utilities for automating interactions with web browsers, to build automated tests for the purpose of verifying and maintaining a quality application.
-
- 1
- 2
- 3
React by Example
Learn React programming patterns by building an application for keeping track of RSVP's! We'll start at the beginning, using create react app (https://github.com/facebookincubator/create-react-app) to initialize the project, and by the end you'll have a functional application.
-
- 1
- 2
- 3
Designing Interfaces in PHP
An interface is a type of contract that assures that certain abilities are available on on a particular object class. We'll write and extend multiple interfaces, then implement them to design and match functionality. Interfaces do not store any implementation details themselves. To share implementation details between classes, we harness the power of inheritance. Abstract classes prevent a parent class from being directly instantiated, while at the same time defining methods that MUST be implemented in any extending children. This course will combine interface contracts with class hierarchy to leverage the benefits of each concept. We'll explain the differences between interfaces and abstract classes, and give you the knowledge you need to build and implement both in your own projects.
-
- 1
- 2
Prototyping in the Browser
Before you design a website, it's important to have some kind of a plan or a wireframe to guide your efforts. But sometimes when you go from a simple sketch to digital pixels, the results aren't exactly what you expect. When you work with real HTML and CSS, and you're able to see your site on a real screens, you're able to see a more accurate representation of the final result. In this course, we're going to build a website prototype using the Bootstrap web framework.
-
- 1
- 2
- 3
Presentation Skills
Learn techniques for delivering effective presentations so you can help guide decisions, influence change, and make an impact on the business.
-
- 1
- 2
- 3
Security Literacy