Intro to Computer Science
- Provider Udacity
- Cost Free Online Course
- Session Finished
- Language English
- Duration 12 weeks long
- Learn more about MOOCs
Taken this course? Share your experience with other students. Write review

Class Central Custom Lists
Build and share your own catalog of courses with Class Central's custom lists.
Overview
In this introduction to computer programming course, you’ll learn and practice key computer science concepts by building your own versions of popular web applications. You’ll learn Python, a powerful, easy-to-learn, and widely used programming language, and you’ll explore computer science basics, as you build your own search engine and social network.
Why Take This Course?
You’ll learn the programming language Python, and you’ll explore foundational concepts in computer science. Most importantly, you’ll start thinking like a software engineer by solving interesting problems (how to build a web crawler or a social network) using computer programming.
This course is a first step into the world of computer science, and whether you want to become a software engineer, or collaborate with software engineers, this course is for you. You’ll be prepared for intermediate-level computer science classes when you’ve mastered the concepts covered in this course.
Build a Search Engine
Throughout this course, you’ll build a search engine by learning about and producing key search engine components including a crawler, an index and a page rank algorithm. As you build these pieces, you’ll be learning about and practicing computer science skills that will ready you for intermediate level computer science courses.
Build a Social Network
At the end of the course we will give you a set of relationships (i.e. strings of phrases like "Dave likes Andy, Kathleen and Kristy") and you will use your new computer science skills to organize these relationships into a social network. With your new social network, you can explore relationships and gain insight into how you fit into your own social networks.
Syllabus
Lesson 1: How to Get Started
- Interview with Sergey Brin
- Getting Started with Python
- Processors
- Grace Hopper
- Variables
- Strings and Numbers
- Indexing Strings
- String Theory
Lesson 2: How to Repeat
- Introducing Procedures
- Sum Procedure with a Return Statement
- Equality Comparisons
- If Statements
- Or Function
- Biggest Procedure
- While Loops
- Print Numbers
Lesson 2.5: How to Solve Problems
- What are the Inputs
- Algorithm Pseudocode
- Optimizing
Lesson 3: How to Manage Data
- Nested Lists
- A List of Strings
- Aliasing
- List Operations
- List Addition and Length
- How Computers Store Data
- For Loops
- Popping Elements
- Crawl Web
Lesson 4: Responding to Queries
- Data Structures
- Lookup
- Building the Web Index
- Latency
- Bandwidth
- Buckets of Bits
- Protocols
Lesson 5: How Programs Run
- Measuring Speed
- Spin Loop
- Index Size vs. Time
- Making Lookup Faster
- Hash Function
- Testing Hash Functions
- Implementing Hash Tables
- Dictionaries
- Modifying the Search Engine
Lesson 6: How to Have Infinite Power
- Infinite Power
- Counter
- Recursive Definitions
- Recursive Procedures
- Palindromes
- Recursive v. Iterative
- Divide and Be Conquered
- Ranking Web Pages
Lesson 7: Past, Present, and the Future of Computing
- Past of Computing
- Computer History Museum
- First Hard Drive
- Search Before Computers
- Present of Computing
- Slac and Big Data
- Open Source
- Future of Computing
- Text Analysis
- Energy Aware Computing
- Computer Security
- Quantum Computing
Taught by
Tags
Help Center
Most commonly asked questions about Udacity
Reviews for Udacity's Intro to Computer Science Based on 71 reviews
- 5 stars 72%
- 4 stars 14%
- 3 stars 6%
- 2 stars 4%
- 1 stars 4%
Did you take this course? Share your experience with other students.
Write a review- 1
- …
this review helpful
And the best part of CS101? It’s not just about programming. While I’ve never taken a computer science course before, I understand that there’s a difference between a programming class and a computer science class, and Professor Evans did a good job of mixing the two up. I didn’t just learn about Python and how to write a programme. I also learnt about famous computer scientists (Admiral Grace Hopper, who was an absolute hoot to watch on David Letterman, and Ada Lovelace among them), networking and what affects computing speeds
this review helpful
this review helpful
this review helpful
this review helpful
Their mentor feedback wasn't that great. When I got stuck on a project, they just kept sending redundant nonconstructive information, like. "Hey you're doing a great job check out this link
this review helpful
A good choice for those who can't install Python software on the computers they use. Though having Python installed would be convenient, it is possible to submit everything through their interpreter with no special software required.
this review helpful
this review helpful
this review helpful
Overall I was really impressed with how well-designed the course was. The fact that this one project — building a search engine — actually could lead, in a very natural way, to many of the fundamental concepts of computer science struck me as kind of genius.
this review helpful
I liked his sense of humor and I liked the self-paced aspect of the class. Highly recommended for Python beginners.
this review helpful
this review helpful
Homework assignments involve a lot of thinking and problem solving -- two or three star ones are quite challenging.
Use discussion forums if you're stuck, excellent community of learners!
If you're more game oriented I would suggest coursera's "Interactive Python" course though.
this review helpful
It;s using interactive programming environment that is pretty neat and great for learning purposes but you're not going to have it in the real life. Having some references to how to set up dev. environment in the real life would be nice to have.
Overall, the course is great and highly recommended.
this review helpful
this review helpful
This is basically what final exam is testing, but don't worry, it's impossible not to learn well as the course has many quizzes and exercises.
this review helpful
this review helpful
this review helpful
this review helpful
He is a great teacher.
this review helpful
- 1
- …