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
- 3
Python for Kids
Learn the building blocks of the wonderful general purpose programming language Python.
-
- 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
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
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
- 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
- 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
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
- 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
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
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
- 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
- 6
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
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
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
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
- 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
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
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
- 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
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
- 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
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
The internet is an invaluable resource for information and entertainment, but it doesn’t always protect your privacy and identity. This course offers an overview on how to stay safe and secure when using your browser and beyond. We’ll introduce foundational concepts about how online activity translates to internet traffic. We’ll then explore some common ways that attackers can view and manipulate this traffic for their uses and how to protect against them. And finally, we’ll establish some industry-recommended habits to keep you and your data secure.
-
- 1
- 2
- 3
Regular Expressions in JavaScript
Learn how regular expressions can help you validate forms, search and replace strings, and more. Regular expressions match patterns in strings. Pattern matching is a powerful tool that programs can use to "understand" the text users type in.
-
- 1
- 2
- 3
Python for File Systems
Python is a great language for the automated handling of files and directories. In this course, you'll learn how to navigate your file system with Python and create and manipulate files and directories. At the end, you'll build a project starter to make starting your Flask project just a little bit easier.
-
- 1
- 2
Introducing JavaScript
Learn the fundamentals of programming by building a JavaScript video game. This fun, exploratory course teaches you basic concepts like variables, values, conditional statements and functions by interactively playing with code while creating a game.
-
- 1
- 2
Data Visualization with Bokeh
Learn how to use the Bokeh library to generate interactive charts, graphs, and other visualizations using Python. We'll explore a world population data set and see how to generate different charts using this powerful library.
-
- 1
- 2
Web Design Process
Going from a blank screen to a finished website can be daunting. In this course, you'll learn about the major steps involved in designing websites. We'll learn how to gather information, explore potential concepts, and iterate on a design. By the end, you'll have the foundation you need to continue your design journey.
-
- 1
- 2
- 3
- 4
Data Visualization with Excel
This overview of Data Visualization in Excel is designed for absolute beginners, but can also benefit people who have already been using Excel to create charts. You will learn about the fundamentals of data visualization, how create types of charts in Excel, and tips on how to get the most of the charts you make.
-
- 1
- 2
- 3
Introduction to Big Data
Big data represents an entire ecosystem of data sets, tools, and applications. This course is intended to get you familiar with the concepts, problem spaces, and overall ecosystem of Big Data.
-
- 1
- 2
- 3
- 4
SQL Reporting by Example
In this course you'll get lots of practice writing SQL queries in a realistic environment!
-
- 1
- 2
- 3
Callback Functions in JavaScript
Callback functions are a foundational concept in JavaScript. Callbacks are used in timers, user interaction events, loading data from a server, and used in Node.js. Whether you're a budding front end or back end developer, callbacks are everywhere!
-
- 1
- 2
- 3
- 4
HTML Basics
Learn HTML (HyperText Markup Language), the language common to every website. HTML describes the basic structure and content of a web page. If you want to build a website or web application, you'll need to know HTML.
-
- 1
- 2
AWS with S3
Whether you're building a major web site, backing up vacation photos, or sharing large files with friends, Amazon's Simple Storage Service, S3, will come in handy. In this course, you'll learn the basics of setting up S3, creating buckets, and controlling file permissions.
-
- 1
- 2
- 3
- 4
- 5
Go Language Overview
This overview of the Go programming language is designed for developers who are already familiar with another language. It's a quick tour of the language's core features such as interfaces and goroutines.
-
- 1
- 2
Markdown Basics
Learn the basics of Markdown—a simple, text-to-html tool used to format writing on the Web. It's used to write blogs, forum posts, technical documentation, and more. Whether you're having trouble formatting GitHub README files or want to learn about Markdown in general, this course is a great place to start.
-
- 1
- 2
- 3
- 4
- 5
- 6
Express Basics
Learn how to use Express.js to build dynamic websites on the Node.js platform. In the process, you'll learn some fundamental HTTP concepts that you can apply to any other framework!
-
- 1
- 2
Introduction to Data Security
Keeping data and communications secure is one of the most important topics in development today. In this course, we'll look at common methods of protecting both of these areas.
-
- 1
- 2
HTML Video and Audio
Text and images have always been the foundation of web content, but more than ever, video and audio are also a part of that content mix. Fortunately, we can now create standards-based video and audio players that don't require the use of plugins. Adding video and audio to a webpage is almost as easy as adding an image or formatting some text.
-
- 1
- 2
- 3
Front End Web Optimization Workflow
As more people are getting on the web every day, there is a desire for those web sites and apps to load quickly. Most users have become accustomed to better and better performance from their home computers and with more apps moving to the web, that desire for performance is still there. The fact is that slow load times cause user frustration and you lose users and possibly money. In these lessons we're going to exercise some common real-world examples of how you can make a slow web app perform better using common techniques for front-end optimization. By the end, you will have a better understanding about how web apps work, what causes performance issues and how to best address them.
-
- 1
- 2
- 3
- 4
Sass Basics
Sass is a stylesheet language that extends CSS with features like variables, nested rules, mixins, and functions, in a CSS-compatible syntax. In this course, you'll learn to use the powers of Sass to boost your front end workflow. The examples will teach you why you should use Sass in your projects. By the end, you will be writing more efficient CSS using code that is easy to read and maintain.
-
- 1
- 2
- 3
- 4
Object-Oriented Python
Sometimes simple scripts with functions in them just aren't enough. Eventually you'll need logical models of your work and that'll lead you to creating custom classes in Python. Object-oriented programming is a large topic. It provides us some amazing tools, though, so it's one of the most beneficial things to learn about in Python. First, you'll learn how to build basic custom classes. Then, you'll expand them through inheritance. And for some extra power, you'll also learn how to take control of Python's built-in classes to make your own more powerful while doing less work. Finally, we'll put everything together into a fun game utility.
-
- 1
- 2
- 3
- 4
- 5
Spreadsheet Basics
A spreadsheet is an electronic document that arranges data in a table by using columns and rows. Among other things, spreadsheets let you store, manipulate, share and analyze data. They're used in business to help make complicated decisions like where to open a new restaurant location, where to build a wind farm, or where to expand a business' marketing efforts. Spreadsheets aren't just for business use either. A household expense spreadsheet can help you determine when you will be able to afford a new car or take your next trip. In this course, you'll learn the basics of spreadsheets including the parts of a spreadsheet, spreadsheet vocabulary, how to import data, how to make complex calculations, how to reference data in different cells, and how to use spreadsheet functions. You'll also learn best practices for formatting spreadsheets, protecting your data, and more, all using Google Sheets, which is free and very similar to Excel. When you're done you'll have built an entire spreadsheet complete with data, complex functions and formulas and colorful and meaningful formatting.
-
- 1
- 2
- 3
- 4
- 5
- 6
Web Accessibility Compliance
Your content is clear, your images are responsive, your code is clean, and your layout flows beautifully on all the most popular devices. You think you're ready to launch, but you might have overlooked a crucial aspect of your website's development. If it's not easy for a person to access your content, regardless of the way in which they use the internet, there's still work to be done. Developing for accessibility should be part of the standard workflow, but it's often given too little attention. In this course, you’ll learn about the standards in place to guide developers in creating a web that is accessible to all users as well as techniques to help bring your projects up to those standards.
-
- 1
- 2
- 3
DOM Scripting By Example
Use JavaScript to build an RSVP web application. Many of the features you'll build are common to other web applications. When you're done programing the app, you'll have the basics you will need to build any client-side web app.
-
- 1
- 2
- 3
- 4
Java Objects
Java is an Object Oriented Programming language. Literally everything you interact with is an object, so understanding them is critical to your Java foundational base. In this course, we will learn how to create, use and express ideas using objects.
-
- 1
- 2
- 3
- 4
- 5
- 6
Querying Relational Databases
Building off of previous SQL courses, this course will begin to introduce the student to more complex database concepts. Students will learn to think about data as sets and subsets and practice achieving desired query results via such operations as inner and outer joins, unions and except. They will also be introduced to the concepts of Set Theory and Database Normalization to aid in understanding good query practices.
-
- 1
- 2
- 3
Intermediate C#
This course builds on what we learned in C# Objects. We'll learn more essential principles of object-oriented programming as we improve the Treehouse Defense game.
-
- 1
- 2
- 3
- 4
Introducing ES2015
Learn the basics of the ECMAScript 2015, also known as ES6, JavaScript standard. JavaScript has come a long way since it’s inception in 1995. The ECMAScript 2015 specification brought a lot of improvements, the largest set of changes the language has seen to-date. In this course, we’ll review some of the new features and demonstrate how they can be used to build better JavaScript applications.
-
- 1
- 2
- 3
- 4
User Authentication With Express and Mongo
Learn how to implement a custom user authentication system that controls users access to web resources using Node.js using Express and MongoDB. The system lets users sign up, log in, and log out, limiting access to password-protected resources. Express is a popular web framework for creating MVC applications and RESTful APIs in Node.js. Express lets developers define routes and middleware for submitting and retrieving data in our database. We will leverage the document based NoSQL database, MongoDB, to store our user data by creating a user model with mongoose. Mongoose is an open source Node package for defining data models for an application and connecting to MongoDB.
-
- 1
- 2
- 3
- 4
- 5
- 6
C# Objects
In this course we'll build on what you learned in C# Basics. You'll learn about Object Oriented Programming (OOP). We'll use OOP to write the code for a tower defense game. After completing this course, you'll have learned most of the syntax of the C# programming language.
-
- 1
- 2
- 3
- 4
JavaScript Unit Testing
In this course, you’ll use Behavior Driven Development to write unit tests for your functions with the JavaScript testing framework Mocha.js. Writing unit tests will help you improve your code before you even start writing it. You’ll have fewer problems, and better understand the problems you do have.
-
- 1
- 2
Flask REST API
Building an API with Flask can be pretty simple but you'll often end up with a large amount of code in just one or two files. In other words, it can be messy! But with a few simple tools like Flask-RESTFul, Flask-Limiter, and Flask-HTTPAuth, you can build a clean, well-organized, and strong API with this great, lightweight Python framework.
-
- 1
- 2
- 3
Hibernate Basics
Most meaningful applications you will write will have a database associated with it. Knowing how to connect with and incorporate this data is critical to success as a Java developer. In this course, we'll cover how to connect a Java application to a database using what's called JDBC, or Java Database Connectivity. Then, we'll use the convenient approach of including an ORM, or Object Relational Mapper. This will allow us to interact with our data using object-oriented techniques instead of exclusively relying on hard-coded SQL. The ORM we will use is called Hibernate, and is one of the most popular ORMs available.
-
- 1
- 2
Intro to Java Web Development with Spark
Spark is a Micro-framework that allows you to spin up a web server fairly easily.
-
- 1
- 2
HTTP Basics
During this course, we'll look at the underlying method devices use to communicate with each other: HTTP or the HyperText Transfer Protocol. In particular, we'll focus on how a modern web browser automates the sending of HTTP requests and the receiving of HTTP responses.
-
- 1
- 2
- 3
- 4
CSS Transitions and Transforms
CSS transitions and transforms can create simple animations that enhance user interactions in websites and apps. In this course, you'll build an interactive image gallery using CSS transitions and transforms. You'll use transition properties to define durations, delays, and easing functions. Then, you'll learn how to rotate, scale, and move elements in 2D and 3D space, with CSS transforms.
-
- 1
- 2
- 3
- 4
Reporting with SQL
SQL can be used to generate reports and present information on websites. This course covers powerful SQL features in helping you answer more interesting questions about your data.
-
- 1
- 2
- 3
- 4
- 5
GitHub Basics
GitHub is a collaboration platform built on top of a distributed version control system called Git and is the best place to share & collaborate on code. In this course, you will learn how to use the key features of GitHub to showcase your coding projects, work with others, and get into Open Source. First, learn how to navigate the site and explore open source software. Then, learn how to host your own personal projects and some best practices for developing code collaboratively. You will also cover how to use GitHub as a professional on a team and how to get started contributing to open source.
-
- 1
- 2
- 3
- 4
Modifying Data with SQL
At the heart of a dynamic application is a database. Whether the application is an eCommerce, sports team, social network, or productivity app on your phone, the data needs to change over time. In this course, we'll take a look at the underpinning SQL statements that are needed for every dynamic application.
-
- 1
- 2
- 3
Unit Testing in Java
Unit testing is a Java best practice that ensures your code is working how it was intended. It is a critical habit that you should develop early on in your coding adventures.
-
- 1
- 2
- 3
SQL Basics
In SQL Basics, we’ll take a look at what databases are and how you can retrieve information from them. Databases can store massive amounts of information to be retrieved at a later date. Databases act as the memory for dynamic web sites or mobile apps.
-
- 1
- 2
- 3
CSS Flexbox Layout
Flexbox is a set of CSS properties that give you a flexible way to lay out content. With flexbox you can change the direction, alignment, size and order of elements, regardless of their original size and order in the HTML. You can even stretch and shrink elements and distribute space, all with just a few lines of CSS!
-
- 1
- 2
- 3
- 4
- 5
Adobe Illustrator for Web Design
Using a project-based learning approach to Illustrator’s core features, walk through the process of designing a simple website beginning with making a wireframe, and then using that wireframe as the basis for creating a page mock up for mobile and desktop platforms. Along the way, use the basic drawing and shape tools to create an illustrated graphic logo. And with responsive web design in mind, we’ll utilize the benefits of both scalable vector graphics (SVGs) and CSS export capabilities.
-
- 1
- 2
Java Annotations
Annotations have rapidly become the preferred approach to integrating powerful third-party libraries into your own Java applications. In this course, we'll first explore the basic use of annotations to give the compiler instructions. Then, we'll use more advanced techniques to create our own annotation and look for it using reflection.
-
- 1
- 2
- 3
Functional Python
Functional programming is a great addition to any programmer's toolset. FP allows you to quickly filter lists, modify values, find answers, and other repetitious tasks with less code than other approaches.
-
- 1
How the Internet Works
Knowing how the technology you use everyday works will make you a more thoughtful and powerful user of technology. In this course we'll explore how the Internet works, by investigating hardware like routers, switches, and servers and the TCP/IP protocols that define how information moves from computer to computer.
-
- 1
- 2
Animating SVG with CSS
SVG (Scalable Vector Graphics) also supports interactivity and animation, so you can animate and interact with SVG like you're able to do with HTML. This short course covers the most common methods for animating SVG: CSS transitions, transforms, and keyframe animations.
-
- 1
- 2
- 3
- 4
Ruby Modules
Modules are an extremely powerful utility when coding in Ruby. Modules allow you to add behavior to classes, hold constants, add namespaces, and more.
-
- 1
- 2
- 3
- 4
Scrum Basics
These days, just about every software team says they are “Agile.” You will even find many job openings declare familiarity with Agile software development as a prerequisite. What can you do to become familiar with, and knowledgeable in Agile practices so you can hit the ground running with your next team? In this course, we will cover the Scrum model, a commonly-used flavor of Agile which is well known for its clear definition of team members’ roles and the activities carried out by the team. This course will give you an understanding of Scrum and how it is used by teams in the process of building software.
-
- 1
- 2
- 3
Local Development Environments
This course will introduce you how to set up your development environment on your local machine. We will take a deeper look at the Java technology and learn tips, tricks and best practices that will make you more productive.
-
- 1
MailChimp API
In this course, you will learn how APIs work and how to customize them using the popular MailChimp API.
-
- 1
- 2
Responsive Images
Using the new source-set and sizes attributes, and the new picture element, it's possible to create images that behave better in a responsive design. These new pieces of markup allow us to deliver the right image to the right device, based on resolution, pixel density, and other factors we define. This will help web pages load faster and look better, and the most capable devices will get the best looking images possible.
-
- 1
How the Web Works
In order to surf the world wide web, you need an application called a web browser. You're probably familiar with this, you might even be learning HTML, CSS, and JavaScript to program for the web, but have you ever looked into how it works? In this course, we'll dissect each aspect of how the web works. You'll learn about URLs, domain names, IP addresses, the domain name system, and the HTTP protocol, to be fully prepared for web development or just a more knowledgeable web user.
-
- 1
- 2
- 3
Using jQuery Plugins
jQuery plugins let you add interactive page effects, engaging user interfaces, and eye grabbing additions to your web pages. In this course, you'll learn how to find and use these free and easy to use programs that take advantage of the power of jQuery.
-
- 1
- 2
- 3
Python Testing
Every project can benefit from testing and Python's testing library is solid, strong, and easy to learn and use. In this course, we'll learn about doctests, Python's unittest library, and the super-handy third-party package coverage.py. Come along and learn to assert yourself!
-
- 1
- 2
- 3
- 4
Build a Simple Dynamic Site with Node.js
Node.js is a versatile platform for building all sorts of applications. In this course, we're going to make a dynamic website that displays a Treehouse student's profile information by creating a server that will dynamically generate content, handle URLs, read from files and build a simple template engine.
-
- 1
- 2
- 3
CSS to Sass
If you're not sure where to begin when converting CSS over to Sass, this is the place to start. In this course, you'll learn how to convert a simple web project over to Sass (http://sass-lang.com/), the most widely used CSS preprocessor. This course aims to clear up common misconceptions about Sass, and help you fit Sass into your front-end workflow.
-
- 1
- 2
- 3
Responsive Layouts
Responsive web design is a collection of techniques for building websites that work on multiple screen sizes. In these lessons, we're going to use the foundational principles of responsive design as a framework for thinking about page layout. By the end, you should have a better understanding of how to approach common decisions in responsive design.
-
- 1
- 2
- 3
Build an Address Book in Ruby
In this course, you'll build a simple command line address book application using Ruby. You'll put to use a lot of skills learned in previous courses to put everything together: objects, classes, blocks, input and output, and more.
-
- 1
- 2
- 3
- 4
Sketch Basics
Sketch 3 is an easy to use and powerful digital design tool for the Mac. It is quickly becoming the standard for many digital professionals and agencies because it was specifically made for them and their needs. Sketch can be used to create all manner of stunning digital designs from mobile applications to websites and icons. In this course we will introduce to you the basics of Sketch as well as looking at some of the more advanced features. We will give you the unimpeded confidence to begin creating your own designs regardless if you’re already familiar with other design tools or have never used one before! It is recommended that you purchase Sketch 3 for this course.
-
- 1
- 2
- 3
- 4
Introduction to Front End Performance Optimization
People want to use websites that load quickly, and every second counts. If a website takes more than 3 seconds to load, you can lose 40% of your audience. Every additional second in page response can result in a 7% reduction in conversions. In these lessons, we're going to take a slow website and make it load faster using front end performance optimization. By the end, you'll know many practical techniques that can speed up any website.
-
- 1
- 2
Computer Basics
In this course we're going to challenge what it means to be digitally literate by pulling back the curtain of how computers work. By the end of this course you should have a foundational understanding of computers and how we communicate with them.
-
- 1
- 2
- 3
Ruby Blocks
In this course, you’ll learn all about blocks in Ruby. Blocks are a piece of syntax that you can use in Ruby to accomplish all kinds of amazing programming feats. Ruby programmers make constant use of blocks so they are an important piece of the language to learn.
-
- 1
- 2
- 3
CSS Selectors
In this short course, we're going to go beyond the basic selector concepts covered in CSS Basics. Besides the common ways to select elements with type, ID and class selectors, we're able to target elements based on their attributes, position in the HTML document, even their relation to other elements. By the end of this course, you'll have gained a better understanding of the power and flexibility behind CSS selectors. You'll have a new set of valuable tools in your CSS toolkit to use on your next project.
-
- 1
- 2
- 3
Using Databases in Python
When you want to store data from a program, you have two general choices: files or databases. In this course, we're going to explore using a database from within Python by using the excellent ORM Peewee. We'll build a command line diary application that stores our thoughts and notes in a SQLite database, lets us review and delete them, and even has a search feature!
-
- 1
Regular Expressions in Python
Regular expressions are one of the tools that every programmer needs, but is often scared of. In this course, we'll explore the re module that Python provides and learn to write regular expressions for many different situations.
-
- 1
- 2
SVG Basics
Scalable Vector Graphics (SVG) is an XML markup language for creating two-dimensional images using vectors. This is different from traditional raster-based image formats that use pixels, like JPEG and PNG. When used on web pages, SVG images provide an infinite level of detail, so they look sharp regardless of screen size or pixel density. In this course, we'll look at situations where SVGs are better than PNG and JPEG files, as well as when an SVG might not be the best choice. Finally, we'll learn how to modify SVGs using CSS.
-
- 1
- 2
- 3
Ruby Objects and Classes
Ruby is known as an "Object Oriented" programming language. But what does object oriented mean? In this course, we'll cover the basics of Ruby Classes. We'll learn what classes are, how they are used, and how to write our own.
-
- 1
- 2
- 3
Flask Basics
Flask is one of the easiest ways to bring your Python skills online. It's a great microframework used by thousands of people to create prototypes and small web apps.
-
- 1
- 2
- 3
Ruby Loops
In Ruby Loops, you'll learn how to automatically repeat statements using Ruby. You'll learn about the loop construct, including while loops, until loops, for loops, and more. You'll also learn the basics of iteration and then move on to creating a simple contact list management program.
-
- 1
- 2
- 3
Java Basics
In this course you will gain all the knowledge you will need to build an interactive command line program in Java. No prior programming experience is required. You will create an interactive game that prompts users for different parts of a sentence and then generates a story using those words.
-
- 1
- 2
Write Better Python
We've learned the ins and outs of Python. We're comfortable making all sorts of data types, writing functions, and creating classes. But now we need to look at how our Python code should be formatted so it matches the standard. We'll also look at how to get our code to give us help() and how we can use logging and pdb to help us keep track of what's going on inside the code.
-
- 1
- 2
- 3
- 4
- 5
- 6
Researching User Needs
Many products are developed based on a hunch, a judgement call, and incomplete information. Needless to say, most of them fail miserably. Startup founders and business owners then ask themselves why. This course takes a different, risk-mitigating, more scientific approach to the art of starting a business. You’ll learn how to develop a product people really need by uncovering these needs well in advance. Before you write one line of code, before you hire a large team, before you take a big risk. You’ll learn the ins and outs of learning if people need your product by implementing three activities to learn from your future customers - Experience Sampling, Field Observation, and Interviewing. After making sense of it all, you’ll be able to kick-start your business with confidence in your knowledge and wisdom.
-
- 1
- 2
- 3
- 4
- 5
Web Typography
As web features barrel ahead, web typography advances with it. We now have more control over type than ever before. But, as the often-quoted line from Spiderman goes, “With great power, comes great responsibility.” Well-built websites can be plagued by bad typography, creating an unpleasant experience to the user. In this course, we’ll cover all you need to know to begin building websites with good typography, giving users a great experience.
-
- 1
- 2
- 3
Ruby Collections
In the Ruby Collections course at Treehouse, you'll level up your Ruby knowledge and start learning about collections. We use two basic data structures to create collections in Ruby: arrays and hashes. These are both examples of "collections" and you’ll work with them a lot in your career as a Ruby programmer. During the course, we'll be writing simple programs that build on what we learned in this course and in previous courses.
-
- 1
- 2
- 3
- 4
- 5
Modular CSS with Sass
Today’s websites and applications are larger than ever and a lot hinges on the CSS architecture. CSS that is poorly thought-out can be a strain on development and maintenance in the long run. In this course, we're going to build a UI toolkit using many of the best practices and principles of modular CSS architecture. We'll learn how a modular approach with Sass can boost our workflow and cut down maintenance by reducing the amount of code we write. It can also improve how our code scales because we're able to reuse it on other parts of our project.
-
- 1
Treehouse Club: JavaScript
In the Car Sounds project, you learn how to edit pre-written HTML, CSS, and JavaScript code to add functionality to a web page. Some features you will use are buttons, audio tags, and JavaScript events.
-
- 1
Treehouse Club: CSS
In this project, you will learn how to edit pre-written code to style a web page for desktops, tablets, and mobile devices. You’ll begin by seeing how to connect a CSS stylesheet to an HTML document. Next you’ll edit some CSS and be exposed to basic CSS structure. Finally, you'll use new tags to make text colorful, choose fonts, upload pictures, and more.
-
- 1
- 2
- 3
- 4
- 5
- 6
How to Start a Business
If you have an idea and think you can make some money off it, it's time to start a business! In this course, we're going to look at what it means to take an idea and make a business model out of it. Once we have a business model, we're going to spread the word, try to sell our product and get real customers!
-
- 1
Treehouse Club: HTML
If you’ve never written a line of code before, this is the place to start! In this project, you’ll learn how to edit pre-written HTML code. By the end of this course, you’ll be more comfortable with using Treehouse’s programming tool Workspaces and have a basic understanding of HTML structure.
-
- 1
- 2
HTML Tables
The web is filled with text and images, but it's also filled with information like sports scores throughout the years, lists of employee names and email addresses, or nutrition facts for your favorite foods. HTML tables enable the display information in what is commonly known as tabular data, which is information that's stored in a table-like structure of columns and rows. In general, anything that you might put into a spreadsheet could go in a table. There are many use cases for a table, so it's important to add them to your skills because it's a very common method for displaying information.
-
- 1
- 2
- 3
HTML Forms
The web is a two-way communication medium. There are lots of HTML elements for displaying data and producing output, and conversely, there are also lots of HTML elements for accepting input. Accepting input from the user means creating web forms. In this course, we’ll learn about all the most important form elements that web professionals use on a daily basis.
-
- 1
- 2
- 3
- 4
Brand Identity Basics
In this course, we’ll take an in-depth look at the brand identity design process: from planning, strategizing and research, all the way through design and finalizing the project. We’ll also explore what exactly makes a brand image and why process is so important. Branding can be challenging, but with preparation and expectations, we can create amazing work and continue to hone in on what generates the best results. By the end of this course, you will have the tools and knowledge to create meaningful and comprehensive brand identities.
-
- 3
Website Optimization
In this course we'll cover tools needed in keeping your website in top shape. These tools will help you perform tasks like debugging a problem to improving your page load times.
-
- 1
- 2
How to Write a Business Plan
One of the most common questions asked when starting a business is how to write a business plan. Business plans are used for many different purposes, from planning out your initial venture, to fundraising and conducting feasibility studies. In this course, we will cover what a business plan is, why we need it, the basic structure of a business plan and some of the various formats.
-
- 1
- 2
- 3
- 4
- 5
Soft Skills
In this series of videos, we're going to explore the most important soft skills: personal and professional qualities that allow you to do your job better. If you can be an effective communicator, manage your time, work well with others, and be a great problem solver, you'll have a lot more success in whatever you do.
-
- 1
- 2
- 3
- 4
- 5
- 6
How to Freelance
One of the many ways you can make money off your technical skills is to branch off on your own and freelance. Freelancing and running your own business can be a very rewarding and fulfilling life with exciting projects and great clients but there are lots of things to learn. In this project we are going to look at how you can get started, where you can find clients, what you should be charging, and how to manage your first project.
-
- 1
- 2
Logo Design Basics
This course will not only cover the basics of logo design but will also walk through the process of creating a logo from start to finish. Follow Mat Helme in his pursuit to create a logo for a task manager app called ODOT, while using his process known as the "Logo Sprint".
-
- 1
- 2
- 3
- 4
Usability Foundations
The concept of usability is directly tied to the success of websites and apps. How easy are they to use? We'll learn in this course how to ensure users can accomplish their goals on websites and apps, as well as laptops and mobile devices. We'll also consider the user centered approach to design, highlight common usability issues on sites and apps, and offer tips on how to ensure your designs stay as usable as possible.
-
- 1
- 2
- 3
- 4
Design Foundations
Have you ever wanted to understand and create aesthetic designs for the web? In this Deep Dive we will learn what design is and how to harness its power. Breakdown the components that conjure the perfect aesthetic. Also create and fix a design of your own.
-
- 1
- 2
- 3
- 4
Copyright Basics
Understanding the basics of copyright and licensing in the United States is vital for anyone working in a creative field, and that includes web designers, developers, and mobile devs. Coding requires creativity and works created for the web fall under copyright law. This Deep Dive will give you the knowledge you need to both protect and share your own creations. You'll learn how to copyright your website or app, read license agreements, work with open-source software and Creative Commons, combat copyright infringement, properly license your own creations, and much more.
-
- 1
- 2
- 3
- 4
How to Build Your Business Through Blogging
C.C. Chapman, author of 'Content Rules' and 'Amazing Things Will Happen', presents his insights on how to start blogging, how to find ideas on what to write, and tactics and tools to create a variety of content that will build your audience and help you find new business.
-
- 1
- 2
- 3
- 4
- 5
- 7
- 8
- 10
Careers Foundations
In this Deep Dive, the Treehouse team shares expertise on focusing your passions, finding your path, identifying opportunities, and how to prepare yourself to get the job you want in the tech industry.
-
- 1
- 2
- 3
- 4
- 5
- 6
How to Run a Web Design Business
Paul Boag, co-founder of web design agency Headscape, explains the important steps behind running a successful design business or freelance practice. Understanding the fundamentals of marketing, promotion, sales, and how to manage client relationships can allow you to get your work done and create the business that best suits your lifestyle.
-
- 1
- 2
- 3
- 4
- 5
- 6
How to Market Your Business
Marketing your business requires an understanding of how to communicate the benefits of your business to satisfy the needs of your potential customers. In this set of videos, we'll explore how to expand your reach and improve your messaging through various strategies such as social media, usability, SEO, video and email marketing.
Whoops! Perhaps you can try a broader search.