The Self-Taught Programmer
4.5 (1,547 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
64,659 students enrolled

The Self-Taught Programmer

The Definitive Guide to Programming Professionally
4.5 (1,547 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
64,659 students enrolled
Created by Cory Althoff
Last updated 5/2020
English
English [Auto]
Current price: $69.99 Original price: $99.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 6 hours on-demand video
  • 12 articles
  • 43 coding exercises
  • Full lifetime access
  • Access on mobile and TV
  • Assignments
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Start to program in Python 3 and build your first program.
  • Learn Object-oriented programming and create a powerful Python program to get you hooked.
  • Learn to use tools like Git, Bash, and regular expressions. Then use your new coding skills to build a web scraper.
  • Study Computer Science fundamentals like data structures and algorithms.
  • Finish with best coding practices, tips for working with a team, and advice on landing your first programming job.
Course content
Expand all 78 lectures 05:55:10
+ Part I Introduction to Programming
34 lectures 01:48:59
The Self-Taught Programmer Community
00:22
Exercise Solutions
00:08
Installing Python
02:19
Getting Started
02:55
Your first program
1 question
Win One!
00:15
Syntax Errors
01:41
Printing a Different String
1 question
Math
02:56
Calculate
1 question
Data Types
02:45
Arithmetic Operators
04:18
Arithmetic Operators Exercise 1
1 question
Arithmetic Operators Exercise 2
1 question
Arithmetic Operators Exercise 3
1 question
Comparison Operators
03:12
Comparison Operators Exercise
1 question
Logical Operators
02:45
Logical Operators Exercise 1
1 question
Logical Operators Exercise 2
1 question
Statements
04:21
Statements Exercise
1 question
Functions Exercise 1
1 question
Functions Exercise 2
1 question
Functions Exercise 3
1 question
Built-In Functions
02:00
Built-In Functions Exercise
1 question
Win Two!
00:15
Exceptions
01:26
Exception Handling
02:05
Write a program that asks the user to type a number, convert it to an integer, and print it. If you can't convert their input to an integer, print a message that says "Please type an integer."
Type a Number
1 question
Scope
02:56
Lists
05:43
Lists Exercise 1
1 question
Lists Exercise 2
1 question
Lists Exercise 3
1 question
Tuples
03:00
Tuples Exercise
1 question
Dictionaries
04:23
Dictionaries Exercise
1 question
Containers in Containers
02:26
Containers in Containers Exercise
1 question
Strings Part I
05:44
Strings Exercise 1
1 question
Strings Exercise 2
1 question
Strings Exercise 3
1 question
Strings Exercise 4
1 question
Strings Exercise 5
1 question
Strings Part II
05:02
Strings II Exercise 1
1 question
Strings II Exercise 2
1 question
Strings II Exercise 3
1 question
Strings II Exercise 4
1 question
For-Loops
05:23
For-Loops Exercise 1
1 question
For-Loops Exercise 2
1 question
For-Loops Exercise 3
1 question
While-Loops
07:03
Write a program with an infinite loop and a list of numbers. Each time through the loop the program should ask the user to guess a number (or type q to quit). If they type q, the program should end. Otherwise, it should tell them whether or not they successfully guessed a number in the list or not.
Guess a Number
1 question
While-Loops Exercise
1 question
Modules
04:41
Modules Exercise
1 question
Create a module named cubed with a function that takes a number as a parameter, and returns the number cubed. Import and call the function from another module.
Create a Module
1 question
Files
05:40
CSV Files
03:04
Take the items in this list of lists: [["Top Gun", "Risky Business", "Minority Report"], ["Titanic", "The Revenant", "Inception"], ["Training Day", "Man on Fire", "Flight"]] and write them to a CSV file. The data from each list should be a row in the file, with each item in the list separated by a
CSV Movies
1 question
Hangman
05:28
Modify the game, so a word is selected randomly from a list of words.
Modify Hangman
1 question
Win Three!
00:10
+ Part II Introduction to Programming Paradigms
9 lectures 50:42
Inspiration II
01:18
Functional Programming
01:45
Object-Oriented Programming
07:51
The Four Pillars of OOP
07:50
Four Pillars Exercise 1
1 question
Four Pillars Exercise 2
1 question
In this assignment, you will practice using inheritance.
Try Inheritance
1 question
More OOP
04:43
More OOP Exercise 1
1 question
More OOP Exercise 2
1 question
More OOP Exercise 3
1 question
Live Coding: E-commerce
18:02
War
06:21
Win Four!
00:07
+ Part III Introduction to Programming Tools
11 lectures 51:57
Inspiration III
02:04
Operating Systems
01:19
In this assignment, you will practice using Bash.
Practice Bash
2 questions
Vim
01:33
Regular Expressions
08:27
In this assignment, you will practice using regular expressions from the command-line.
Practice Regular Expressions
2 questions
Match Two
1 question
Package Managers
03:39
In this assignment, you will download a package from PyPi.
Download a Package
1 question
Version Control
09:12
Live Coding: PyCharm
10:12
Web Scraper
05:39
Web Scraper Video Notes
00:03
In this assignment, you will create a code portfolio on GitHub.
Create a GitHub Portfolio
1 question
Win Five!
00:12
+ Part IV Introduction to Computer Science
15 lectures 01:04:47
Inspiration IV
02:13
Algorithms
07:02
Big O Notation
00:02
Combine Two Lists
02:19
Recursion
04:17
Binary Search
06:49
Find the Duplicate
04:12
Last Digit
03:57
Last Digit Exercise
1 question
Find the Intersection of Two Lists
03:22
In this assignment, you will write an algorithm to practice solving problems.
Algorithms Challenge
1 question
Data Structures Exercise 1
1 question
Data Structures Exercise 2
1 question
Hash Tables
06:02
Linked Lists
05:21
Create a Linked List
06:18
Search a Linked List
04:05
Win Six!
00:12
+ Part V Land a Job
9 lectures 56:59
Inspiration V
01:10
Best Practices
07:56
Climbing the Freelance Ladder
11:57
Creating the Perfect Freelance Profile
11:55
Applying for Freelance Programming Jobs
11:00
Landing Your First Full-Time Job
06:28
Preparing for Your First Full-Time Job
04:07
Next Steps
01:51
Congratulations! Win Seven!
00:35
Requirements
  • This course assumes you have no prior programming knowledge. It is for beginners!
  • All you need to get started is a computer. Any computer will do!
Description

I am a self-taught programmer. After a year of self-study, I learned to program well enough to land a job as a software engineer II at eBay. Once I got there, I realized I was severely under-prepared. I was overwhelmed by the amount of things I needed to know but hadn't learned yet. My journey learning to program, and my experience at my first job as a software engineer were the inspiration for this course. 


This course is not just about learning to program; although you will learn to code. If you want to program professionally, it is not enough to learn to code; that is why, in addition to helping you learn to program, I also cover the rest of the things you need to know to program professionally that classes and books don't teach you. The Self-taught Programmer is a roadmap, a guide to take you from writing your first Python program, to passing your first technical interview. I divided the course into five sections: 


1. Learn to program in Python 3 and build your first program. 

2. Learn Object-oriented programming and create a powerful Python program to get you hooked. 

3. Learn to use tools like Git, Bash, regular expressions and databases. Then use your new coding skills to build a web scraper. 

4. Study Computer Science fundamentals like data structures and algorithms.

5. Finish with tips for working with a team and landing a programming job. 


You CAN learn to program professionally. The path is there. Will you take it?

Who this course is for:
  • New programmers.
  • Anyone that wants to learn how to go from a complete beginner to a software engineer.
  • Anyone that wants to learn to program to improve their career!