Reuven Lerner's Python Courses/Intro Python: Fundamentals

  • $300

Intro Python: Fundamentals

What you need to start with Python: Syntax, loops, and data structures. 

Get this course, and many others, as part of my LernerPython membership, at https://LernerPython.com.

If you don't yet know Python, you should

Python is one of the most popular languages in the world. It's widely used in Web development, data science and machine learning, devops, and automated testing.  Stack Overflow reports that it's not only the most popular language on their site, but also the fastest growing language.

So Python is popular.  And it's only getting more popular over time.

Bottom line: If you know Python, then you can get a great job.  Or you can keep your current job, and improve your standing (and thus your salary).  

I know this, because some of the world's best-known companies invite me to teach Python to their engineers.  Just about every day, I go to companies like Apple, Cisco, Ericsson, IBM, Intel, and VMWare, teaching Python to their staff.    These companies are always looking for people who know Python — but because such people are hard to find, they bring me in to train their existing developers.

My students are typically experienced with C, C++, C#, and Java. So they know how to program, but they don't know Python.  I sometimes say that  they can program in Python, but with a Java accent — meaning, they  might know how to get things done, but not in the most efficient or "Pythonic" way.  

My intro course covers data structures, working with files, writing and calling functions, basic functional programming, modules, and basic object-oriented programming.  Throughout the course, I give my students exercises that force them to use what they've learned, and to integrate these ideas into their Python coding.  By the end of the course, they're ready to use Python to solve problems, and to do their jobs — not just because they know Python, but because they have a sense of how it works, and how to teach themselves more.

My course begins with a tour through Python's syntax and data structures — strings, lists, tuples, and dictionaries.  These are the data structures that you must master if you'll become fluent in Python. Lists, tuples, and dicts aren't just for beginner Python developers; the language itself is implemented using oodles of lists, tuples, and dicts. And the sooner you know how to work with them, the sooner you'll become fluent in Python.

If you're an experienced developer who has always wanted to learn Python, this is the best starting point I can think of.  I've given this course hundreds of times, to thousands of developers around the world.  I've honed my explanations and exercises to ensure that you'll have the optimum learning experience.  

Contents

Syllabus
Preview
Welcome
Preview

Section 1: Introduction

Welcome to Python, and to this course!

In this first section, we'll look at some of the basic building blocks of the Python language: Variable assignment, user input, conditions (with if/elif/else), and even complex Boolean comparisons.
1. Introduction
2. Variable assignment
3. User input
Preview
4. Comments
5. Conditionals
6. Complex conditions
7. Exercise #1 (weather reaction)
8. Solution #1 (weather reaction)
Intro Python, section 1.ipynb

Section 2: Basic data types

Python comes with a number of built-in data types that developers use every day. In this section, we'll introduce the simplest types, and show how we can convert from one type to another.
9. None
10. True, False, and boolean context
11. Integers
12. Max int?
Preview
13. Converting to ints
14. Exercise #2 (number guessing game)
15. Solution #2 (number guessing game)
16. Hex, oct, and bin
Preview
17. Floats
Intro Python, section 2.ipynb

Section 3: Strings

Want to work with text? Strings (aka "str") are how we do it in Python. In this section, we look at how to define and work with strings.
Syllabus: strings
Preview
18. Intro to strings
19. Backslashes
20. Raw strings
Preview
21. Slices
22. Searching with "in"
23. Exercise #3 (Pig Latin)
24.Solution #3 (Pig Latin)
25. String methods
26. Triple-quoted strings
27. Bytes and characters
28. str.format and f-strings
29. print function options
Intro Python, section 3.ipynb

Section 4: Loops

In this section, we'll discuss:
- for loops -- iterating over strings
- how does a "for" loop really work?
- what about the indexes?
- the "enumerate" function
- break and continue
- the "else" clause in Python loops
- iterating a number of times with "range"
- iterable vs. non-iterable objects
- "while" loops
- "for" vs "while" -- when to use each
Syllabus: loops
Preview
30. for loops
31. indexes and enumerate
32. range
33. Exercise #4 (loop exercises)
34. Solution #4 (loop exercises)
35. break and continue
36. else on loops
37. while loops
Intro Python, section 4.ipynb

Section 5: Lists

Lists are the most commonly used data structure for ordered collections, similar to arrays in other languages. In this section, you'll learn how to create and manipulate lists.
Syllabus: lists and tuples
Preview
Intro Python, section 5.ipynb
38. lists
39. Assignment and lists
40. append
41. Exercise #5 (sum and mean of numbers)
42. Solution #5 (sum and mean of numbers)
43. extend and plus equal
44. advanced inserting into lists
45. removing from a list
46. stacks and queues
47. iterating over lists
48. range
49. str.split
50. str.join
51. Exercise #6 (Pig Latin sentence)
52. Solution #6 (Pig Latin sentence)
53. Adding to strings, adding to lists
54. sorting

Section 6: Tuples

Tuples are perhaps the most mysterious data structures in Python, because people don't understand why they exist or when they should be used. In this section, we'll introduce tuples and give you insights into when and how to use them.
55. Intro to tuples
56. Tuples are immutable
57. Tuple creation trickiness
58. Unpacking
59. Convering to-from tuples
60. Sorting tuples
61. Exercise #7 (people)
62. Solution #7 (people)
Intro Python, section 6.ipynb

Section 7: Dictionaries

Dictionaries are, without a doubt, the most important data structure in Python. In this section, you'll learn how to create and manipulate dictionaries, as well as what makes them so special.
Dict syllabus
Preview
63 Intro to dicts.mp4
64. Exercise #8 (restaurant)
65. Solution #8 (restaurant)
66. Get and setdefault
67. iterating over a dict
68. Exercise #9 (Rainfall)
69. Solution #9 (Rainfall)
70. How do dicts work?
Intro Python, section 7.ipynb

Section 8: Sets

Sets are another built-in type, giving us unsorted but high-speed access to unique values.
71. Intro to sets
72. Lists vs. sets
73. Adding to and removing from sets
74. Exercise #10 (dollar store)
75. Solution #10 (dollar store)
76. Set operations
77. Exercise #11 (spelling bee)
78. Solution #11 (spelling bee)
Intro Python, section 8.ipynb

Conclusion

79. Conclusion

PDFs of slides

1. Introduction
2. Simple data types (none, boolean, int, string)
3. Lists, tuples, sequences
4. Dictionaries and sets

Become a better developer.

I'm Reuven — and for 20 years, I've spent just about every day teaching Python, data science, and Git at some of the world's best-known companies. 

I've recorded my most popular courses here, for you to learn these skills — even if you don't work for a big company.

After taking my courses, you'll be able to to solve bigger problems in less time — allowing you to do your current job better, or to find a new, better job.

FAQ

How long is the course? Is it complete?

About 7 hours of video lessons, covering all of the topics (syntax, numbers, strings, loops, lists, tuples, and dicts) in detail, and with many exercises.

What version of Python do you use?

The course uses Python 3.7, the most recent version as of the time I recorded.  I recommend that everyone use Python 3.6 or above in their day-to-day work.

Many of my clients still use Python 2, so I do try to mention where versions 2 and 3 differ.  That'll help those of you who need to use Python 2 in your jobs to bridge the gap between the two.

This price is far too high for someone living in my country. Do you offer "parity pricing," or something like it, for people outside of the world's wealthiest countries?

Yes.  If you live outside of the 30 wealthiest countries in the world, I offer a 40% "parity pricing" discount.  E-mail me at reuven@lerner.co.il to receive the coupon.

What does this course cover?

The basic syntax and data structures of the Python programming language. In particular, I'll teach you:

- The basic structure (including indentation + blocks)
- Numbers (ints and floats)
- Strings
- Loops (for and while)
- Lists and tuples
- Dictionaries

These are the ideas and techniques that every Python programmer uses, every single day. Whether you're using Python for Web apps, automated testing, data science, devops, or just exploring, this course will teach you the techniques you need to master in order to really understand and work with Python.

What if I don't like the course?

Then e-mail me, at reuven@lerner.co.il, and I'll refund your money.

Just data structures and loops? Really?!?

Yes, because these are the most important topics you can learn in Python.

This covers the material from (roughly) the first day of my four-day course.  I'm intending to put that entire course online, which means that there will be additional modules covering functions, functional programming, modules, and object-oriented programming.

It's important to remember, though, that these basic data structures (strings, lists, tuples, and dicts) are used each and every day by Python developers, regardless of their skill level or years of experience. If you have a good grasp of these data structures, then you can do some amazing things with Python.

I'm a student or retiree (pensioner). Can I get a discount?

Yes! I offer a 20% discount to students and pensioners.  Just e-mail me (reuven@lerner.co.il) to get the coupon code.

I've been using Python for a few months. Why should I take this course?

Because in my experience, many people who use Python every day don't have a full understanding of how the language works. As a result, they aren't able to take advantage of its capabilities.

If you have been using Python every day for a year or more, then this course is probably too basic for you.  (Although I've had many students with that background who say that I filled in many gaps in their understanding.)  But if you've been using Python for less than a year, then you will more than likely benefit from this course, learning tricks and tips to make your programs more efficient and "Pythonic."

Are the exercises the same as in Practice Makes Python?

My book (and course), "Practice Makes Python," contains 50 of my favorite exercises from the Python courses I have taught over the years.  So yes, there is some overlap between the exercises.  However, a number of the exercises are new and different.  I'd estimate that about half of the exercises in this course are also in "Practice Makes Python."

What background do I need for this course?

The typical person taking this course has experience with another language — typically C, C#, C++, or Java.  Others take this course with a background in JavaScript, Matlab, or R.

People have taken this course without much of a background in programming, but they have often complained that it moves too fast for them.  I'm planning to put my "Python for non-programmers" course online in the near future, which covers many of the same topics, but at a slower pace and with more explanations.