Nanodegree key: nd000
Version: 1.0.0
Locale: en-us
Welcome to the world of programming. Learn the foundational skills that all programmers use whether they program mobile apps, create web pages, or analyze data.
Content
Part 01 : Learn to Code
Welcome to the Introduction to Programming Nanodegree program. This is your first step on your journey to become a programmer. Get started early with html and feedback from our reviewers!
-
Module 01: Welcome to the Nanodegree
-
Lesson 01: Welcome to the Nanodegree
Welcome to the Intro To Programming Nanodegree! This lesson will give you an overview of what you'll build in this program.
- Concept 01: Let's Get Started
- Concept 02: Setting up
- Concept 03: Building Your First Web Page
- Concept 04: Something Important
- Concept 05: Nanodegree Overview
- Concept 06: Thinking Like a Programmer
- Concept 07: Thinking Like a Programmer (Text)
- Concept 08: Meet Andy
- Concept 09: How This Will Work
- Concept 10: Learning Mindset
-
Lesson 02: Nanodegree Orientation
Learn how to make the most of your Udacity resources as a student. We are here for you on your journey into programming!
- Concept 01: Introduction
- Concept 02: Projects and Progress
- Concept 03: How Does Project Submission Work?
- Concept 04: Integrity and Mindset
- Concept 05: Project Deadlines
- Concept 06: How Do I Find Time for My Nanodegree?
- Concept 07: Support and Community
- Concept 08: Community Guidelines
- Concept 09: Study Habits of Successful Students
- Concept 10: Final Tips
-
-
Module 02: Getting Started with HTML
-
Lesson 01: The World Wide Web
Get acquainted with how the web works! Learn about your browser, the internet, and a filetype called HTML.
-
Lesson 02: HTML Basics
HTML stands for "Hypertext Markup Language." HTML is the language used to create webpages. Learn the basics of HTML to create a simple web page!
- Concept 01: What is HTML?
- Concept 02: Intro to HTML Tags
- Concept 03: Follow Along with Steve
- Concept 04: Bold Tag
- Concept 05: Italics
- Concept 06: Computers Are Stupid
- Concept 07: Missing End Tag
- Concept 08: Making Links
- Concept 09: Adding Images
- Concept 10: It's OK to Forget
- Concept 11: Whitespace
- Concept 12: Paragraph Tag
- Concept 13: Inline vs Block Elements
- Concept 14: Boxes and Containers?
- Concept 15: Span and Div
- Concept 16: Document Structure
- Concept 17: More on Document Structure
- Concept 18: Summary
-
Lesson 03: Making Your First Project
For this project, you will submit your very first programming file containing HTML code. HTML is the coding language for building websites. We recommend taking notes from this section and using your notes as the content for your HTML file. This project is not graded. Our reviewers will provide you with helpful suggestions and advice for learning in this program.
-
Part 02 : Make a Stylish Website
You will use a computer language called HTML and CSS and notes about the new concepts and skills you've learned so far to make a webpage that look professional!
-
Module 01: HTML & CSS
-
Lesson 01: Getting Focused
Prepare for this project by getting into a programming mindset. Make sure you are set up for success!
-
Lesson 02: Creating a Structured Document
Learn about HTML page structure, visual styling, and box design. Work with HTML structure tags to organize your contents.
- Concept 01: Why Start with HTML and CSS
- Concept 02: The First Step
- Concept 03: Exploring the Web
- Concept 04: Learn More: Developer Tools
- Concept 05: Page Structure
- Concept 06: Summary of HTML
- Concept 07: Visual Styling
- Concept 08: Focus Checkpoint
- Concept 09: HTML-CSS-DOM
- Concept 10: Boxes Everywhere
- Concept 11: Boxes, Grids and Rules
- Concept 12: Boxifying Design
- Concept 13: How to Listen to Experts
- Concept 14: Interview with Jacques
- Concept 15: Boxes To HTML
-
Lesson 03: Work Session: HTML Structure
Create an HTML file for your notes and examine the differences between structured and unstructured code.
-
Lesson 04: Adding CSS for Style
Learn how to add CSS, divs, spans, classes, and ids to your page. CSS allows you to create the aesthetics that all web users enjoy when browsing the web.
- Concept 01: Where to Focus Your Attention
- Concept 02: Follow Along with Jessica
- Concept 03: Adding Style
- Concept 04: Understanding CSS
- Concept 05: Styling Up
- Concept 06: CSS Summary and Reference
- Concept 07: Learn More: Divs, Spans, Classes, IDs
- Concept 08: Take a Break!
- Concept 09: Learn More: Best Practices in Coding
- Concept 10: Using Semantic Tags
- Concept 11: The Box Revisited
- Concept 12: Positioning Boxes
- Concept 13: Box Sizing and Positioning
- Concept 14: Adding Image
- Concept 15: Code, Test, Refine
- Concept 16: More on DevTools
- Concept 17: Comparing with the Design
- Concept 18: Verifying HTML and CSS
-
Lesson 05: Work Session: CSS Practice
Review the previous lesson and add style to your notes. Once you've practiced enough, you'll be ready to create your own stylish website for your project!
-
Lesson 06: Making Your Stylish Web Page
For the project, you'll use HTML and CSS to make a stylish web page on any topic. You will apply your knowledge of HTML Document Structure to your html file and then create custom CSS styling based on your personal preferences.
-
Part 03 : Code Your Own Quiz
You will use the Python programming language to build your own quiz. You will use a fill-in-the blank style to create a quiz that can even be used as a study tool to help you remember important vocabulary.
-
Module 01: Python Programming
-
Lesson 01: Getting Set Up with Python
Get your computer set up to start programming in Python on your computer!
- Concept 01: Why?
- Concept 02: Interview with Mike Wales
- Concept 03: Why Python?
- Concept 04: Installing Python (Mac)
- Concept 05: Installing Python (Windows)
- Concept 06: Running Python (Mac) — Overview
- Concept 07: Running Python (Windows) — Overview
- Concept 08: Method #1: Using a Text Editor (Mac)
- Concept 09: Method #1: Using a Text Editor (Windows)
- Concept 10: Method #2: Using the Command Line (Mac and Windows)
- Concept 11: Command Line Tutorial, Part I — Navigating Directories
- Concept 12: Command Line Tutorial, Part II — Creating and Removing Files
- Concept 13: Summary — Running Code from the Command Line
- Concept 14: Setting up Your Workspace
- Concept 15: Ready, Set, Go!
- Concept 16: Welcome to Programming with Python
-
Lesson 02: Introduction to Serious Programming
Write your first computer program and learn about programming grammar.
- Concept 01: Where to Focus Your Attention
- Concept 02: What is Programming?
- Concept 03: What is a Program?
- Concept 04: What Dave Just Said
- Concept 05: First Programming Quiz
- Concept 06: Congratulations
- Concept 07: What's Next?
- Concept 08: Language Ambiguity
- Concept 09: Grammar
- Concept 10: Backus Naur Form
- Concept 11: Backus Naur
- Concept 12: Python Expressions
- Concept 13: The Rest of the Lesson
- Concept 14: Speed of Light
- Concept 15: Processors
- Concept 16: Grace Hopper
-
Lesson 03: Work Session: Basic Debugging
Complete a couple debugging exercises to understand the importance of syntax.
-
Lesson 04: Variables & Strings
Learn how to store values in Python variables, and work with text as Python strings.
- Concept 01: Where You Left Off
- Concept 02: Where to Focus Your Attention
- Concept 03: Variables
- Concept 04: Variables Quiz
- Concept 05: Another Hard Thing
- Concept 06: Variables Can Vary
- Concept 07: Varying Variables 1
- Concept 08: Varying Variables 2
- Concept 09: Pause and Think
- Concept 10: Spirit Age
- Concept 11: Strings
- Concept 12: Valid Strings
- Concept 13: Ada
- Concept 14: Hello!!!
- Concept 15: Strings And Numbers
- Concept 16: Before You Continue
- Concept 17: Experimenting with Strings
- Concept 18: Indexing Strings
- Concept 19: Same Value
- Concept 20: Selecting Sub Sequences
- Concept 21: Capital Udacity
- Concept 22: Understanding Selection
- Concept 23: Focus Checkpoint
- Concept 24: Finding Strings in Strings
- Concept 25: Testing find
- Concept 26: Testing find 2
- Concept 27: Practice with string.find()
- Concept 28: Focus Checkpoint
- Concept 29: Finding with Numbers
- Concept 30: More Practice with string.find()
-
Lesson 05: Work Session: String Manipulation
Begin working on your Mad Libs generator by practicing how to manipulate variables and strings.
- Concept 01: Introduction to Work Session 2
- Concept 02: Python Programming 1
- Concept 03: Strings
- Concept 04: Bodacious Udacity
- Concept 05: String Slicing
- Concept 06: Slicing Multiple Strings
- Concept 07: String Concatenation
- Concept 08: Variables 1
- Concept 09: Finding Strings
- Concept 10: Find 2
- Concept 11: Replacing Strings
-
Lesson 06: Input -> Function -> Output
Learn how to use a function to take some input and generate some output based on the contained programming rules within the function.
- Concept 01: Where You Left Off
- Concept 02: A Taste of What You'll Learn Part 1
- Concept 03: A Taste of What You'll Learn Part 2
- Concept 04: A Taste of What You'll Learn Part 3
- Concept 05: Where to Focus Your Attention
- Concept 06: Dave, Sebastian, and Junior
- Concept 07: Focus Checkpoint
- Concept 08: Using Procedures
- Concept 09: Inc Procedures
- Concept 10: Inputs and Outputs
- Concept 11: Focus Checkpoint
- Concept 12: Making vs Using Procedures
- Concept 13: Making vs Using
- Concept 14: Sum Procedure
- Concept 15: Sum Procedure with a Return and a Twist!
- Concept 16: Focus Checkpoint
- Concept 17: Square
- Concept 18: Sum of Three
- Concept 19: Abbaize
-
Lesson 07: Work Session: Print vs Return
Practice using functions while learning more about print and return statements.
-
Lesson 08: Control Flow: If Statements & While Loops
Learn how to manage the flow of a computer program using Boolean values, if statements, and while loops.
- Concept 01: Where to Focus Your Attention
- Concept 02: Equality Comparisons
- Concept 03: Decision Making Playground
- Concept 04: If Statements
- Concept 05: Is Friend
- Concept 06: More Friends
- Concept 07: Or
- Concept 08: Focus Checkpoint
- Concept 09: Biggest
- Concept 10: Prepare for Solution
- Concept 11: Biggest Solution
- Concept 12: Recap and Rest
- Concept 13: While Loops
- Concept 14: While Loops 2
- Concept 15: While Loop Playground
- Concept 16: Print Numbers
- Concept 17: Break Statements
- Concept 18: Congratulations!
-
Lesson 09: Deep Debugging
Get acquainted with five key debugging strategies to help you address problems in your code.
- Concept 01: Bugs Happen!
- Concept 02: Strategy: Examine Error Messages
- Concept 03: Strategy: Work from a Working Example
- Concept 04: Strategy: Make Sure the Examples Work!
- Concept 05: Strategy: Check Intermediate Results
- Concept 06: Strategy: Keep and Compare Old Versions
- Concept 07: Debugging: Strategy Recap
- Concept 08: Debugging as a Scientific Process
- Concept 09: Writing Comments
- Concept 10: Learn More: Debugging
-
Lesson 10: Work Session: Mad Libs Generator
Use the skills you've learned so far to continue developing your Mad Libs generator. You now know how to implement control flow and loops. You also know how to properly debug your code!
-
Lesson 11: Structured Data: Lists & For Loops
Learn how to structure data in Python lists and then iterate over the elements with for loops.
- Concept 01: Introduction
- Concept 02: Experiment with Lists
- Concept 03: Stooges
- Concept 04: Days in a Month
- Concept 05: Play with Lists
- Concept 06: Nested Lists
- Concept 07: Countries
- Concept 08: Relative Size
- Concept 09: Focus Checkpoint
- Concept 10: Mutation
- Concept 11: A List of Strings
- Concept 12: Different Stooges
- Concept 13: Yello Mutation
- Concept 14: Aliasing
- Concept 15: Focus Checkpoint
- Concept 16: Secret Agent Man
- Concept 17: Replace Spy
- Concept 18: List Operations
- Concept 19: List Addition and Length
- Concept 20: Testing Length
- Concept 21: Testing Append
- Concept 22: Focus Checkpoint
- Concept 23: Loops on Lists
- Concept 24: For Loops
- Concept 25: For Loop Playground
- Concept 26: Sum List
- Concept 27: Measure Udacity
- Concept 28: Find Element
- Concept 29: Index
- Concept 30: Learn More: Loops
- Concept 31: Learn More: Create a Game with Python
- Concept 32: Guest Speaker
-
Lesson 12: How to Solve Problems
Practice problem-solving techniques by breaking down large problems into smaller ones.
- Concept 01: How to Solve Problems
- Concept 02: Days Between Dates
- Concept 03: The Problem
- Concept 04: First Step
- Concept 05: Understanding a Problem
- Concept 06: The First Rule
- Concept 07: What Are the Inputs
- Concept 08: How Are Inputs Represented
- Concept 09: What Are the Outputs
- Concept 10: Obey the Rules
- Concept 11: Next Step
- Concept 12: The Expected Output
- Concept 13: Take the Next Step
- Concept 14: Try an Example
- Concept 15: Harder Example
- Concept 16: Algorithm Pseudocode
- Concept 17: Should We Implement It
- Concept 18: Different Approach
- Concept 19: Simple Mechanical Algorithm
- Concept 20: Don't Optimize Prematurely
- Concept 21: What should We Write First
- Concept 22: Define Simple nextDay
- Concept 23: Making Progress Is Good
- Concept 24: What Should We Do Next
- Concept 25: Define daysBetweenDates
- Concept 26: Step One Pseudocode
- Concept 27: Step Two Helper Function
- Concept 28: Step Three daysBetweenDates
- Concept 29: Test for Valid Inputs
- Concept 30: Real World Problem
- Concept 31: Best Strategy
- Concept 32: Finish daysBetweenDates
- Concept 33: Solution Step I
- Concept 34: Solution Step II
- Concept 35: Solution Step III
- Concept 36: Solution Step IV
- Concept 37: Conclusion
- Concept 38: Learn More: How to Solve Problems
-
Lesson 13: Work Session: Mad Libs Continued
Finish the Mad Libs generator by putting together everything you've learned so far!
- Concept 01: Introduction to Work Session 5
- Concept 02: Practice: Apply What You've Learned
- Concept 03: Exploring List Properties
- Concept 04: Exploring List Properties 2
- Concept 05: While Loop 1
- Concept 06: While Loop 2
- Concept 07: While Loop 3
- Concept 08: While Loop 4
- Concept 09: Product List
- Concept 10: Greatest
- Concept 11: Strings to Lists
- Concept 12: Mad Libs: Take Two
- Concept 13: Word in Position
- Concept 14: Putting It All Together
- Concept 15: Raw Input
- Concept 16: Running Mad Libs
-
Lesson 14: Code Your Own Quiz
Complete and submit the final project: "Code Your Own Quiz". This is a a fill-in-the-blanks quiz based on concepts you've learned from your Mad Libs generator.
-
Part 04 : Create a Movie Website
You will write code to store a list of your favorite movies, including box art imagery and a movie trailer URL. You will then use your code to generate a static web page allowing visitors to browse their movies and watch the trailer.
-
Module 01: Object-Oriented Programming
-
Lesson 01: Getting Started
Get a quick introduction to this section, your next instructor, and what you'll be working on to build your "Create a Movie Website" project at the end.
-
Lesson 02: Mini-Project: Take a Break
In this Mini-Project, figure out how to use Python libraries to create a program that reminds you to take a break from working.
- Concept 01: Course Map
- Concept 02: Take a Break (Story)
- Concept 03: Take a Break (Output)
- Concept 04: How Would You Do This?
- Concept 05: One Way of Doing This
- Concept 06: What Is the Error?
- Concept 07: Squashing the Bug
- Concept 08: Making the Program Wait
- Concept 09: Adding a Loop
- Concept 10: Making the Program Wait Longer
- Concept 11: Where Does Webbrowser Come From?
- Concept 12: Reading Webbrowser Documentation
- Concept 13: Enhancing the Take a Break Project
- Concept 14: Take a Break Mini-Project
-
Lesson 03: Mini-Project: Secret Message
In this Mini-Project, figure out how to use Python libraries and documentation to decode a secret message within files on your computer.
- Concept 01: Course Map
- Concept 02: Secret Message (Story)
- Concept 03: Secret Message (Output)
- Concept 04: Planning a Secret Message
- Concept 05: Opening a File
- Concept 06: Changing Filenames
- Concept 07: Checking os Documentation
- Concept 08: Renaming Files
- Concept 09: What Is the Error?
- Concept 10: Squashing the Bug
- Concept 11: Rename Troubles
- Concept 12: Where Does os Come From?
- Concept 13: Reading os Documentation
- Concept 14: Secret Message Mini-Project
- Concept 15: Edge Case
- Concept 16: When Functions Do Not Suffice
-
Lesson 04: Mini-Project: Draw Turtles
Learn how to use classes to call on libraries like Turtle to draw cool shapes in Python.
- Concept 01: Course Map
- Concept 02: Drawing Turtles (Story)
- Concept 03: Drawing Turtles (Output)
- Concept 04: How to Draw a Square
- Concept 05: Drawing a Square
- Concept 06: Changing Turtle Attributes
- Concept 07: Where Does Turtle Come From?
- Concept 08: Reading Turtle Documentation
- Concept 09: Two Turtles
- Concept 10: What's Wrong With This Code?
- Concept 11: Improving Code Quality
- Concept 12: What Is a Class?
- Concept 13: Making a Circle out of Squares
- Concept 14: Turtle Mini-Project
- Concept 15: Comfort Level
- Concept 16: They Look So Similar
-
Lesson 05: Mini-Project: Send a Text
In this Mini-Project, use the Twilio API to make a program that sends a text message to your phone.
- Concept 01: Course Map
- Concept 02: Send Text Messages (Story)
- Concept 03: Send Text Messages (Output)
- Concept 04: Downloading Twilio
- Concept 05: Twilio Download Feedback
- Concept 06: Setting Up Our Code
- Concept 07: Registering with Twilio
- Concept 08: Running Our Code
- Concept 09: Python Keyword From
- Concept 10: Investigating the Code
- Concept 11: Where Does Twilio Come From?
- Concept 12: Connecting Turtle and Twilio
- Concept 13: Send a Text Mini-Project
-
Lesson 06: Mini-Project: Profanity Editor
In this mini-project, you will write a program that checks for profanity in a message and replaces curse words.
- Concept 01: Course Map
- Concept 02: Embarrassing Story
- Concept 03: Planning Profanity Editor
- Concept 04: Reading from a File
- Concept 05: Place Function Open
- Concept 06: Reading Open Documentation
- Concept 07: Connecting Turtle and Open
- Concept 08: Built-In Python Functions
- Concept 09: Checking for Curse Words
- Concept 10: Accessing a Website with Code
- Concept 11: Place urllib and urlopen
- Concept 12: Printing a Better Output
- Concept 13: Profanity Editor Mini-Project
- Concept 14: Connecting Turtle, Open, and Urllib
-
Lesson 07: Movie Website Creation
Make a movie website using the concept of classes in Python as well as your understanding of HTML & CSS.
- Concept 01: Course Map
- Concept 02: What Should Class Movie Remember?
- Concept 03: Defining Class Movie
- Concept 04: What Happens When
- Concept 05: Defining __init__
- Concept 06: What Is Going On Behind the Scenes
- Concept 07: What Will Be the Output?
- Concept 08: Behind the Scenes
- Concept 09: Is Self Important?
- Concept 10: Next Up: Show_trailer
- Concept 11: Playing Movie Trailer
- Concept 12: Play Your Favorite Trailer
- Concept 13: Recap Vocab
- Concept 14: Designing the Movie Website
- Concept 15: Coding the Movie Website
- Concept 16: Movie Website Mini-Project
- Concept 17: Comfort Level
-
Lesson 08: Advanced Class Making
Learn about advanced ideas in Object Oriented Programming like class variables, inheritance, reusing methods, and method overloading.
- Concept 01: Advanced Ideas in OOP
- Concept 02: Class Variables
- Concept 03: Using Predefined Class Variables
- Concept 04: Inheritance
- Concept 05: Class Parent
- Concept 06: What's the Output?
- Concept 07: Class Child
- Concept 08: Transitioning to Class Movie
- Concept 09: Updating the Design for Class Movie
- Concept 10: Reusing Methods
- Concept 11: Method Overriding
- Concept 12: Next Stop - Final Project
-
Lesson 09: Create a Movie Website
You will write code to store a list of your favorite movies, including box art imagery and a movie trailer URL. You will then use your code to generate a static web page allowing visitors to browse their movies and watch the trailer.
-
Part 05 : Discover Your Path
In this section, there is no project submission. Instead, you will explore a quick overview of the vast world of programming. After this section, you'll have a better understanding of different options you have as a programmer. This will help guide you in your final project for this program.
-
Module 01: Discover Your Path
-
Lesson 01: Discover Your Path
Get a quick overview of the vast world of programming. After this section, you'll have a better understanding of different options you have as a programmer. This will help guide to in your final project for this program.
- Concept 01: Introduction
- Concept 02: You Are Here!
- Concept 03: The Paths of Programming
- Concept 04: Learning Zones
- Concept 05: More About Learning Zones
- Concept 06: Mapping Your Own Journey-Quiz
- Concept 07: Programming in the Real World
- Concept 08: Interview with Liz
- Concept 09: Dive Into the World of Programming
-
Lesson 02: Front-End Programming
Learn about front-end web developers who create intuitive and responsive websites.
-
Lesson 03: Back-End Programming
Learn about back-end web programmers who write server-side code to build web apps that serve millions of people worldwide.
-
Lesson 04: Mobile Programming
Learn about mobile programming and the differences between iOS and Android programming.
-
Lesson 05: Data Analysis Programming
Learn about data analysts who analyze data to direct growth and make informed decisions.
-
Lesson 06: Reverse Engineer Project Compass
Dissect a fully-functioning web app and identify the roles of various programmers in its creation.
-
Part 06 : Choose Your Path
Choose one of the five paths (Front-End, Back-End, Android, Data Analyst, or iOS) and complete the associated course and project of your choosing. After you have met specifications on one of these project options (as well as the other required projects), you'll be eligible to graduate.
-
Module 01: Choose Your Path
-
Lesson 01: Completing the Program
Explore your options for the final project. Once you've selected an Extracurricular topic and completed the final project, you can initiate the graduation process and prepare for the next steps.
-
Part 07 (Elective): Front-End Developer
Build a beautiful online resume that will showcase your HTML, CSS, and Javascript skills.
-
Module 01: Introduction to Front-End Programming
-
Lesson 01: Introduction to Front-End Programming
Georgia introduces the front end path and some tips and tricks for learning JavaScript.
-
Lesson 02: Getting Up and Running
Follow along with Cameron Pittman and James Williams to learn about the Online Resume project and some basic JavaScript Syntax to get you started.
- Concept 01: Welcome to the Course!
- Concept 02: Resume Introduction
- Concept 03: Your Goals
- Concept 04: The GitHub Repo
- Concept 05: Download the GitHub Repo
- Concept 06: A Note about HTML
- Concept 07: The Resume's HTML
- Concept 08: CSS and JS in the Resume
- Concept 09: The Browser JavaScript Console
- Concept 10: console.log()
- Concept 11: Hacking Udacity's Front Page
- Concept 12: Using .append() to Build a Page
- Concept 13: Try .append() for Yourself
- Concept 14: Technologies and Techniques Quiz
-
Lesson 03: Data Types in Javascript
Learn about the ways we represent data in JavaScript. You'll gain experience working with Strings, Booleans, Arrays, and JSON.
- Concept 01: var loveJS = true;
- Concept 02: Save and .append() Data
- Concept 03: string.replace()
- Concept 04: Mixing .replace() and .append()
- Concept 05: Format Data, Build a Resume Header
- Concept 06: String Manipulation Quiz 1
- Concept 07: Truthy/Falsy
- Concept 08: var quiz = true;
- Concept 09: Arrays
- Concept 10: .append()ing Arrays Quiz
- Concept 11: Array Manipulation
- Concept 12: String Manipulation Quiz 2
- Concept 13: Object Literal Notation
- Concept 14: Biography Quiz
- Concept 15: Dot and Bracket Notation
- Concept 16: Practice with Objects
- Concept 17: A Note about JSON
- Concept 18: All the Resume Sections
- Concept 19: JSON
- Concept 20: Validating JSON
- Concept 21: Validating JSON Quiz
-
Lesson 04: Problem Set: Document Object Model
These practice problems will focus on the Document Object Model (DOM).
-
Lesson 05: Flow Control in Javascript
Learn how to iterate and add logic flow in your programs using common looping patterns and conditionals.
- Concept 01: If Statements
- Concept 02: While Loops
- Concept 03: For Loops
- Concept 04: For-In Loops
- Concept 05: A Note About For-In Loops
- Concept 06: Work!
- Concept 07: Functions
- Concept 08: Click Metrics
- Concept 09: Collecting Click Locations
- Concept 10: Return Statements
- Concept 11: Internationalize Names
- Concept 12: Encapsulation
- Concept 13: Encapsulating Functions
- Concept 14: Independent Research
- Concept 15: Customize the Portfolio
- Concept 16: The Final Project!
-
Lesson 06: Problem Set: Predicting Results & Challenge Problems
In this lesson, you're going to see two different snippets of code that are entirely the same except for one difference. See if you can predict the results of each. Then you will have the option of completing challenge problems.
-
Lesson 07: Online Resume Project
Once you've mastered the skills of a front end web developer you'll want to make a great first impression. You need a resume that stands out. The resume you build will not only help you build important skills, but will also make it easy to show employers why you’re perfect for the job.
-
Part 08 (Elective): Back-End Developer
You will develop a database schema to store the game matches between players. You will then write code to query this data and determine the winners of various games.
-
Module 01: Intro to Relational Databases
-
Lesson 01: Introduction to Back-End Development
Georgia introduces the Back End path and some tips and tricks for learning about Relational Databases.
-
Lesson 02: Data and Tables
You'll learn about how relational databases let you structure data into tables. You'll learn about the importance of unique keys and relationships between tables.
- Concept 01: Welcome to RDB
- Concept 02: What's a Database
- Concept 03: Looking at Tables
- Concept 04: Data Types and Meaning
- Concept 05: Data Meanings
- Concept 06: Zoo
- Concept 07: Anatomy of a Table
- Concept 08: Answering Questions from a Table
- Concept 09: Aggregations
- Concept 10: Queries and Results
- Concept 11: How Queries Happen
- Concept 12: Favorite Animals
- Concept 13: Related Tables
- Concept 14: Uniqueness and Keys
- Concept 15: Primary Key
- Concept 16: Joining Tables
- Concept 17: Database Concepts
- Concept 18: Summary
-
Lesson 03: Elements of SQL
You'll begin learning SQL, the Structured Query Language used by most relational databases.
- Concept 01: SQL is for Elephants
- Concept 02: Talk to the Zoo Database
- Concept 03: Types in the SQL World
- Concept 04: Just a few SQL types
- Concept 05: Select Where
- Concept 06: Comparison Operators
- Concept 07: The One Thing SQL is Terrible At
- Concept 08: The Experiment Page
- Concept 09: Select Clauses
- Concept 10: Why Do It in the Database
- Concept 11: Count all the Species
- Concept 12: Insert: Adding Rows
- Concept 13: Find the Fish Eaters
- Concept 14: After Aggregating
- Concept 15: More Join Practice
- Concept 16: Wrap up
- Concept 17: Installing the Virtual Machine
-
Lesson 04: Python DB-API
You'll connect Python code to a back-end database while finding and fixing common bugs a Back-End web developer will encounter.
- Concept 01: Welcome to your Database
- Concept 02: What's a DB-API
- Concept 03: Writing Code with DB API
- Concept 04: Trying out DB API
- Concept 05: Inserts in DB API
- Concept 06: Running the Forum
- Concept 07: Hello PostgreSQL
- Concept 08: Give That App a Backend
- Concept 09: Bobby Tables, Destroyer of Posts
- Concept 10: Curing Bobby Tables
- Concept 11: Spammy Tables
- Concept 12: Stopping the Spam
- Concept 13: Updating Away the Spam
- Concept 14: Deleting the Spam
- Concept 15: Conclusion
-
Lesson 05: Deeper into SQL
Discover some of the more advanced SQL topics, such as creating your own tables and aggregations
- Concept 01: Intro to Creating Tables
- Concept 02: Normalized Design Part One
- Concept 03: Normalized Design Part Two
- Concept 04: What's Normalized
- Concept 05: Create Table and Types
- Concept 06: Creating and Dropping
- Concept 07: Declaring Primary Keys
- Concept 08: Declaring Relationships
- Concept 09: Foreign Keys
- Concept 10: Self Joins
- Concept 11: Counting What Isn't There
- Concept 12: Subqueries
- Concept 13: One Query Not Two
- Concept 14: Views
- Concept 15: Outro
-
Lesson 06: Tournament Database
Build a database backed application that determines the winner of a Swiss-style game tournament.
-
Lesson 07: Tournament Results Project
Georgia explains the project for the Back-End path and your next steps after this course.
-
Part 09 (Elective): Data Analyst
Choose one of Udacity's curated datasets, perform an investigation, and share your findings.
-
Module 01: Introduction to Data Analysis
-
Lesson 01: Data Analyst Path Intro
Georgia introduces the front end path and some tips and tricks for learning data analysis.
-
Lesson 02: Setting up Anaconda
Learn to use Anaconda for managing packages and development environments.
-
Lesson 03: Setting up Jupyter Notebook
Learn to use Jupyter notebooks for creating narrative documents containing code, text, and images.
- Concept 01: What are Jupyter notebooks?
- Concept 02: Installing Jupyter Notebook
- Concept 03: Launching the notebook server
- Concept 04: Notebook interface
- Concept 05: Code cells
- Concept 06: Markdown cells
- Concept 07: Keyboard shortcuts
- Concept 08: Magic keywords
- Concept 09: Converting notebooks
- Concept 10: Creating a slideshow
- Concept 11: Finishing up
-
Lesson 04: Dictionaries
Get an awareness of dictionaries, an important data structure in Python that you are going to encounter in the rest of this path.
-
Lesson 05: Data Analysis Process
Go through the data analysis process from start to finish using a dataset about Udacity student engagement.
- Concept 01: Introduction
- Concept 02: Problems Solved by Data Analysts
- Concept 03: Data Analysis Process
- Concept 04: Setting Up Your System
- Concept 05: Intro to CSVs
- Concept 06: CSVs in Python
- Concept 07: Fixing Data Types
- Concept 08: Questions about Student Data
- Concept 09: Investigating the Data
- Concept 10: Problems in the Data
- Concept 11: Missing Engagement Records
- Concept 12: Checking for More Problem Records
- Concept 13: Tracking Down the Remaining Problems
- Concept 14: Refining the Question
- Concept 15: Getting Data from First Week
- Concept 16: Indulge Curiosity
- Concept 17: Exploring Student Engagement
- Concept 18: Debugging Data Analysis Code
- Concept 19: Lessons Completed in First Week
- Concept 20: Number of Visits in the First Week
- Concept 21: Splitting out Passing Students
- Concept 22: Comparing the Two Student Groups
- Concept 23: Making Histograms
- Concept 24: Are your Results Just Noise?
- Concept 25: Correlation Does Not Imply Causation
- Concept 26: Predicting Based on Many Features
- Concept 27: Communication
- Concept 28: Improving Plots and Sharing Findings
- Concept 29: Data Analysis and Related Terms
- Concept 30: Conclusion
- Concept 31: Quiz Solutions
-
Lesson 06: NumPy and Pandas for 1D Data
Learn how to NumPy and Pandas to write clean, concise, and fast data analysis code for one-dimensional data.
- Concept 01: Introduction
- Concept 02: Gapminder Data
- Concept 03: One-Dimensional Data in NumPy and Pandas
- Concept 04: NumPy Arrays
- Concept 05: Vectorized Operations
- Concept 06: Multiplying by a Scalar
- Concept 07: Calculate Overall Completion Rate
- Concept 08: Standardizing Data
- Concept 09: NumPy Index Arrays
- Concept 10: + vs. +=
- Concept 11: In-Place vs. Not In-Place
- Concept 12: Pandas Series
- Concept 13: Series Indexes
- Concept 14: Vectorized Operations and Series Indexes
- Concept 15: Filling Missing Values
- Concept 16: Pandas Series apply()
- Concept 17: Plotting in Pandas
- Concept 18: Conclusion
-
Lesson 07: NumPy and Pandas for 2D Data
Learn more features of NumPy and Pandas you can use to analyze two-dimensional data.
- Concept 01: Introduction
- Concept 02: Subway Data
- Concept 03: Two-Dimensional NumPy Arrays
- Concept 04: NumPy Axis
- Concept 05: NumPy and Pandas Data Types
- Concept 06: Accessing Elements of a DataFrame
- Concept 07: Loading Data into a DataFrame
- Concept 08: Calculating Correlation
- Concept 09: Pandas Axis Names
- Concept 10: DataFrame Vectorized Operations
- Concept 11: DataFrame applymap()
- Concept 12: DataFrame apply()
- Concept 13: DataFrame apply() Use Case 2
- Concept 14: Adding a DataFrame to a Series
- Concept 15: Standardizing Each Column Again
- Concept 16: Pandas groupby()
- Concept 17: Calculating Hourly Entries and Exits
- Concept 18: Combining Pandas DataFrames
- Concept 19: Plotting for DataFrames
- Concept 20: Three-Dimensional Data
- Concept 21: Conclusion
-
Lesson 08: Investigate a Dataset
Choose one of Udacity's curated datasets, perform an investigation, and share your findings.
-
Part 10 (Elective): Android Developer
Build your first Android app - a design for a local business that could be used as a business card.
-
Module 01: Android Basics: User Interface
-
Lesson 01: Introduction to Android
Georgia introduces the android path and some tips and tricks for learning Android programming.
-
Lesson 02: Building Layouts
Learn how to place layouts on a page to create images, buttons, and text on a phone screen
- Concept 01: Introduction
- Concept 02: Preparing for the Journey Ahead
- Concept 03: Views
- Concept 04: Picking Views for YouTube App
- Concept 05: Talking To Your Phone
- Concept 06: Using a TextView
- Concept 07: XML Syntax
- Concept 08: Change the TextView
- Concept 09: Getting Past Errors
- Concept 10: Setting Wrap Content
- Concept 11: TextView Text Size
- Concept 12: TextView Text Color
- Concept 13: Simple ImageView
- Concept 14: Documentation
- Concept 15: Chatting with Google's Kirill Grouchnikov
- Concept 16: Just Checking In
-
Lesson 03: Building Layouts Continued
Learn how grouping layouts together allows for more creative and original designs.
- Concept 01: ViewGroups
- Concept 02: Types Of ViewGroups
- Concept 03: LinearLayout
- Concept 04: Width and Height
- Concept 05: Evenly Spacing Out Children Views
- Concept 06: Layout Weight
- Concept 07: Relative Layout
- Concept 08: Relative to Parent
- Concept 09: Relative to Other Views
- Concept 10: List Item with RelativeLayout
- Concept 11: Padding vs. Margin
- Concept 12: Chatting with Google's Kirill Grouchnikov Part 2
-
Lesson 04: Practice Set: Building Layouts
Download Android Studio and get your first designs onto an actual phone.
- Concept 01: Welcome to the Practice Set
- Concept 02: The Installation Process
- Concept 03: Troubleshooting
- Concept 04: Install Java: Windows Guide
- Concept 05: Install Java: Mac Guide
- Concept 06: Install Android Studio
- Concept 07: Windows: Guide to Install Android Studio
- Concept 08: Mac: Guide to Install Android Studio
- Concept 09: Coffee Break Challenge
- Concept 10: Discussion about Constraint Layout
- Concept 11: Hello World
- Concept 12: Hello World: Written Instructions
- Concept 13: A Quick Tour of Android Studio
- Concept 14: Running Hello World on Your Phone
- Concept 15: Using the Emulator
- Concept 16: Create the Birthday Card App
- Concept 17: RelativeLayout LinearLayout
- Concept 18: The Drawable Folder
- Concept 19: Positioning
- Concept 20: Styling
- Concept 21: Make the Text Larger
- Concept 22: Setting the Font
- Concept 23: Setting the Color
- Concept 24: Attributes for the ImageView
- Concept 25: How to Style the Image
- Concept 26: Minor Adjustments
- Concept 27: Recap
- Concept 28: Make your Own Card
- Concept 29: Intro to Study Break: Charity Miles
- Concept 30: Study Break: Charity Miles
-
Lesson 05: Build a Single Screen App
Build a design for a local business that could be used as a mobile business card.
-
Part 11 (Elective): iOS Developer
Build an iOS app to play a version of Battleship!
-
Module 01: Introduction to iOS Development
-
Lesson 01: Introduction to iOS
Georgia introduces the front end path and some tips and tricks for learning iOS programming
-
Lesson 02: Kickoff
Take your first steps in iOS development by downloading Xcode & writing your first lines of code to help a robot navigate a maze.
-
Lesson 03: Using Objects
Objects are a foundational skill in Swift programming. We’ll look at how they’re used in some apps in the real world.
-
Lesson 04: Variables
Variables allow us to store information so we can use it later when we need it. Learn what variable types are available in Swift, and how to declare them.
-
Lesson 05: Writing Structs and Properties
Structs provide us a nice way to group multiple values into a usable package. Learn how to declare and use structs in Swift.
-
Lesson 06: Operators and Expressions
Add, subtract, multiply, divide, and more using operators and expressions in Swift!
-
Lesson 07: Pirate Fleet
Build an iOS game, Pirate Fleet, as a Battleship clone with a small twist.
- Concept 01: Pirate Fleet 1 Introduction
- Concept 02: Object-Oriented Design
- Concept 03: Our Objects, Your Properties
- Concept 04: How an App (like Pirate Fleet) Works
- Concept 05: Instantiate Some Ships
- Concept 06: Better with Mines
- Concept 07: What’s the Damage, Captain?
- Concept 08: Closing Statements
- Concept 09: iOS Developer Path Outro
-