# Intro to Computer Science

Udacity
Online

Free

## Important information

• Course
• Online
• When:
Flexible
Description

Learn key computer science concepts in this introductory Python course. You'll learn by doing, and will build your own search engine and social network.

Important information
Venues

Where and when

Starts Location
Flexible
Online

## What you'll learn on the course

 Network Network Training Queries Solve Problems Manage Data

## Course programme

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