Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
The Self-Taught Programmer
Rating: 4.4 out of 5(4,387 ratings)
172,891 students

The Self-Taught Programmer

The Definitive Guide to Programming Professionally
Created byCory Althoff
Last updated 3/2021
English
English [Auto],

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.

Coding Exercises

This course includes our updated coding exercises so you can practice your skills as you learn.

See a demo
Image of coding exercise example

Course content

5 sections79 lectures5h 56m total length
  • Welcome3:58

    Begin your journey into programming with a practical roadmap to core concepts and tools. Discover five course parts, Python and object-oriented programming, and strategies for landing your first software job.

  • The Self-Taught Programmer Community0:25
  • Exercise Solutions0:08
  • Inspiration I1:51

    Discover how self-taught programmer Kevin Systrom co-founded Instagram with Mike Krieger in 2010 while working in marketing, built the prototype, and grew it into a $1 billion sale to Facebook.

  • Installing Python2:19

    Install python on mac and windows by following steps from python.org downloads, selecting the latest version starting with 3, running the installer, and completing the setup.

  • Getting Started2:55

    Print 'Hello world' in Idle's interactive shell, then save the file and run your program with the Run module.

  • Your first program
  • Win One!0:27
  • Syntax Errors1:41

    Understand how Python syntax governs code structure and when syntax errors occur. Go to the reported line, fix the problem, and rerun; seek help in the self-taught Programmers Facebook group.

  • Intro to Programming3:02

    Explore Python basics, including indentation, keywords, and comments; type code into the shell or Idle's text editor, print hello world, and see how line-numbered examples form three lines of code.

  • Feedback0:32

    Corey Althoff thanks you for taking the Self-Taught Programmer course and invites feedback or a review to support your programming journey and his course.

  • Printing a Different String
  • Math2:56

    Use Python to perform math operations such as add, subtract, multiply, and divide, and learn about constants, variables, data types, incrementing and decrementing, and basic naming rules.

  • Calculate
  • Data Types2:45

    Learn how Python groups data into data types and that everything is an object. Explore integers, floats, strings, booleans, and none type with simple examples like Hello world.

  • Arithmetic Operators4:18

    Explore arithmetic operators in Python, including exponent, modulo, and integer division, and apply the order of operations to evaluate expressions and determine quotient, remainder, evenness, and oddness.

  • Arithmetic Operators Exercise 1
  • Arithmetic Operators Exercise 2
  • Arithmetic Operators Exercise 3
  • Comparison Operators3:12

    Explore how Python comparison operators evaluate expressions to true or false, using greater than, less than, greater than or equal to, less than or equal to, equal, and not equal.

  • Comparison Operators Exercise
  • Logical Operators2:45

    Explore Python logical operators—and, or, and not—and how they evaluate expressions to true or false, with and requiring all true and not inverting the result.

  • Logical Operators Exercise 1
  • Logical Operators Exercise 2
  • Statements4:21

    Explore Python statements and conditional logic, including if, elif, and else blocks, and nesting concepts. Learn how simple and compound statements use expressions to decide actions.

  • Statements Exercise
  • Functions5:40

    Learn how to define and call functions in Python, use required and optional parameters, return values, and document with docstrings to specify parameter data types and enable reusable code.

  • Functions Exercise 1
  • Functions Exercise 2
  • Functions Exercise 3
  • Built-In Functions2:00

    Explore Python built-in functions, from print and len to str, int, float, and input, and learn how to convert data types and make decisions with if statements.

  • Built-In Functions Exercise
  • Win Two!0:22
  • Exceptions1:26

    Explore how exceptions differ from syntax errors in Python, including zero division errors, converting nonnumeric strings to floats, and adding an integer to a string. See notes.

  • Exception Handling2:05

    Learn exception handling in Python by using try and except to handle errors from user input, such as avoiding division by zero with a message 'B cannot be zero'.

  • Type a Number
  • Scope2:56

    Learn how Python variable scope controls reading and writing with global and local scopes, why the global keyword matters, and how to avoid name collisions in large programs.

  • Lists5:43

    Discover how to store objects in containers by using lists, tuples, and dictionaries in Python, and learn list creation, indexing, mutability, and append and pop operations.

  • Lists Exercise 1
  • Lists Exercise 2
  • Lists Exercise 3
  • Tuples3:00

    Explore tuples, immutable containers that store ordered items with parentheses or a tuple function. Access by index, test membership with in, and use as dictionary keys for data like coordinates.

  • Tuples Exercise
  • Dictionaries4:23

    Map keys to values using dictionaries to store and retrieve data, create and modify mappings, access values by keys, check membership with in or not in, and delete with del.

  • Dictionaries Exercise
  • Containers in Containers2:26

    Learn to nest containers in containers by storing lists, tuples, and dictionaries inside other containers, access elements by indices, and use containers as dictionary values.

  • Containers in Containers Exercise
  • Strings Part I5:44

    Learn to manipulate Python strings through indexing, including negative indexing, slicing, case changes, concatenation, and formatting, while understanding immutability, splitting, joining, and trimming whitespace.

  • Strings Exercise 1
  • Strings Exercise 2
  • Strings Exercise 3
  • Strings Exercise 4
  • Strings Exercise 5
  • Strings Part II5:02

    Master Python string operations with in and not in checks, escaping quotes, and newline escapes. Practice slicing with start and end indices, and using replace and index to locate text.

  • Strings II Exercise 1
  • Strings II Exercise 2
  • Strings II Exercise 3
  • Strings II Exercise 4
  • For-Loops5:23

    Explore how for loops enable iterating through strings, lists, tuples, and dictionaries, using an index variable and range to process items and transform data.

  • For-Loops Exercise 1
  • For-Loops Exercise 2
  • For-Loops Exercise 3
  • While-Loops7:03

    Learn how while loops differ from for loops, understand control flow with break and continue, and explore nested loops in Python, including avoiding infinite loops.

  • Guess a Number
  • While-Loops Exercise
  • Modules4:41

    Explore how to organize Python projects with modules, import built-ins, and reuse code across files, including creating and importing your own modules and using math, random, statistics, and keyword utilities.

  • Modules Exercise
  • Create a Module
  • Files5:40

    Learn to read and write files in Python, create files, and manage data using the os path function to build cross-platform paths and open files in read or write modes.

  • CSV Files3:04

    Master Python's built-in csv module to read and write csv files, manage delimiters, write rows from lists, and iterate with the reader to print data as rows appear.

  • CSV Movies
  • Hangman5:28
  • Modify Hangman
  • Win Three!0:18

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!