Intro to Programming Nanodegree
Intro to Programming Nanodegree
If you have zero programming knowledge, completing this Nanodegree will give you the basic understanding and skills you need to get started in the world of programming.
This Nanodegree equips you with the foundational knowledge and skills that all programmers use whether they program mobile apps, create web pages, or analyze data. You won’t just learn to code, you will learn what it means to “think like a programmer” and you'll have your own web page and a portfolio of programs you've built to prove it.
Successful completion of this program will enhance your skills, broaden your opportunities, and lay the groundwork for a future in technology. It is not a career-track degree, but for beginners, it is a critical step forward
Why Take This Course?
Programming can be hard. The language is often complex, and the skills are rarefied. For a novice, it can be difficult to know where to start. These challenges often stand in the way for many people. Our mission is to change this. We want to make the world of programming accessible, understandable, and beneficial. All successful programmers share a common body of knowledge. This degree will teach you those same skills.
Completion of this Nanodegree will empower you to make an informed choice about your future. You may decide to pursue a whole new careeer in tech. Your newfound technical literacy may open up promotional opportunities in your current role. You may embark on long-imagined personal project. Regardless of the direction you take, your programming knowledge will allow you to communicate effectively, build efficiently, and think creatively.
Prerequisites and Requirements
- You are self-driven and motivated to learn. Participation in this program requires consistently meeting deadlines and devoting at least 10 hours per week to your work.
- You can communicate fluently and professionally in written and spoken English.
Basic Computer Skills:
- You can find the location of a file on your computer
- You can rename a file on your computer
- You can attach a file to an email
- You can compress (.zip) and uncompress a file on your computer
- You can download and install programs from the internet
What Will I Learn?
Stage 0: Getting Started with HTML
Get some early feedback on what you're learning within the first week of your Nanodegree experience.
Ready to submit? Follow these instructions!
Stage 1: Make a Web Page
You will learn the basics of how the internet works and how documents written in a language called HTML form the backbone of the Web. In the project checkpoint at the end you’ll write HTML and CSS (another language) to give your web page style.
Stage 2: Build a Mad Libs Game
This is where you’ll learn how to program. You’ll learn a programming language called Python and you’ll use it to write instructions that the computer can understand and execute. After this stage you will have incredible power: you will be able to automate almost any repetitive task that can be done on a computer. In the project checkpoint you will write a program in Python to build a reverse Mad Libs game.
Stage 3: Create a Movie Website
In this stage, you will learn an entirely new approach to programming (and thinking) called Object Oriented Programming and how to use this approach to build impressive programs by simply reusing or modifying computer code that others have already written. In the project checkpoint you will create a simple movies webpage with images and trailers.
Stage 4: Reverse Engineer Project Compass
In this stage, you’ll be taking apart the Project Compass web app and examining the features that different types of developers contribute. In the reflection checkpoint you will identify which type of developer (Front-End, Back-End, Mobile, or Data Analyst) contributes each component of the web app. With this solidified understanding or your options, you will then reflect and decide which type of development you want to explore in the final stage and share and discuss your choice with your peers in the program Slack community.
Stage 5: Choose Your Path
Choose one of four paths (Front-End, Back-End, Mobile, or Data Analyst) and complete a course and project of your choosing. Get a real sense of the kind of work that each of these developers do daily. All of the projects come straight from other Udacity courses or Nanodegree programs. If you choose to enroll in the Nanodegree related to your path, you will already have a jumpstart with credit for completing your chosen project.
What You Will Build
As you progress through this Nanodegree you will document what you're learning in a web page that you'll build as you go. By the end you will have a fully-functioning web page and some cool programs that demonstrate what you've learned, like how to:
By using a "styling" language called CSS, you will be able to quickly and easily change the look and feel of your web page. While learning CSS, you'll also gain experience with one of the most important concepts in computer science: avoiding repetition through something called abstraction.
In addition to your own notes about what you're learning, you'll learn to write computer code in a language called Python that will embed your favorite videos (from Udacity or anywhere else) directly onto a web page. While learning Python, you'll be developing a skill that's required for every programming project regardless of language: using procedural thinking to tell a computer exactly what you want it to do.
Even though you will have the skills to modify your web page by changing the code it's made from, the people you show it to may not. You'll add a form that allows visitors to add their own content to your page (if you let them of course). While you're learning what to do with information that someone submits to your web page, you'll also gain a deeper understanding for how the internet works and how computer programmers assemble complex programs by combining pieces of computer code that others have written before them.
How You Will Learn to Build it
This Nanodegree consists of a series of 5 stages. In each one, you will learn new broadly-applicable technical skills. After each stage, you will complete a project checkpoint, then submit your work for valuable feedback on your progress.
Stage 1: Make Your Web Page
You will learn the basics of how the internet works and how documents written in a language called HTML form the backbone of the Web. In the project checkpoint at the end you'll write HTML and CSS (another language) to make your web page look professional.
Stage 2: Code Your Own Quiz
This is where you'll learn how to program. You'll learn a programming language called Python and you'll use it to write instructions that the computer can understand and execute. After this stage you will have incredible power: you will be able to automate almost any repetitive task that can be done on a computer. In the project checkpoint you will write a program in Python to build a fill-in-the blanks type quiz.
Stage 3: Create a Movie Website
In this stage, you will learn an entirely new approach to programming (and thinking) called Object Oriented Programming and how to use this approach to build impressive programs by simply reusing or modifying computer code that others have already written. In the project checkpoint you will create a simple movies webpage with images and trailers.*
Stage 4: Allow Comments
Up to this point, you still haven't put your web page online: you've only seen it on your own computer. In this stage, you will gain a deeper understanding for how the internet works and will write code which tells computers called "servers" how to display web pages. In the project checkpoint you will put your web page online and build what's called a "back end" which will allow people anywhere in the world to view and--if you let them--modify your site.
Stage 5: Choose Your Next Steps
At this point, you will already have a solid understanding of most of the essential concepts and skills that programming requires. This stage will be a rapid sampling of some of the ideas that you haven't seen including:
- APIs: "Application Programming Interfaces" give programmers a way to easily incorporate data from all over the web into their applications.
- Recursion: This may be the most mind-blowing idea in programming.
- Parallel Computing: How to use many computers to solve really big problems more efficiently.
- How to Solve Big Problems: You run into new challenges when you write large programs (or building substantial web pages).
- Responsive Web Design: How to make your web page look good on a computer, tablet, or phone.
In the project checkpoint you will have the chance to pursue one of these ideas even deeper by adding new functionality (you get to choose what) to your web page.