1
1

00:00:04,540  -->  00:00:08,170
Hello! And welcome to the online course
for the Austomate the Boring Stuff with
2

2

00:00:08,170  -->  00:00:12,910
Python book. I'm Al Sweigart. I'm a
software developer and textbook author.
3

3

00:00:12,910  -->  00:00:17,240
Automate the Boring Stuff with Python is
my fourth programming book and now
4

4

00:00:17,240  -->  00:00:20,480
I've made an online course that
follows the book's content.
5

5

00:00:20,480  -->  00:00:25,420
"Learn to code" has become a huge mantra.
You have sites like Codecademy and Khan
6

6

00:00:25,420  -->  00:00:30,970
Academy and a massive online open
courses to teach people the program. You hear
7

7

00:00:30,970  -->  00:00:35,120
things like, "coding is the new literacy"
or how everyone in the 21st century will
8

8

00:00:35,120  -->  00:00:37,230
have to learn to code.
9

9

00:00:37,230  -->  00:00:40,530
And if you want to become a software
developer this course can be your first
10

10

00:00:40,530  -->  00:00:42,010
few steps on that path.
11

11

00:00:42,010  -->  00:00:45,879
But what if you don't want to change
careers to software engineering. You're
12

12

00:00:45,879  -->  00:00:49,070
still getting these learn to code
recommendations from everyone, mostly
13

13

00:00:49,070  -->  00:00:50,860
from people with a book to sell.
14

14

00:00:50,860  -->  00:00:54,630
(By the way Automate the Boring Stuff
with Python is released under a Creative
15

15

00:00:54,630  -->  00:00:59,060
Commons license, so you can buy a print
or ebook or you can read it online for
16

16

00:00:59,060  -->  00:01:02,560
free at automatetheboringstuff.com.
17

17

00:01:02,560  -->  00:01:06,090
Is there a reason the average office
worker student or administrator should
18

18

00:01:06,090  -->  00:01:11,160
learn to code? Yes. Whether you have to
send emails, visit websites, or going
19

19

00:01:11,160  -->  00:01:15,950
through a ton of spreadsheets and PDFs,
these jobs use laptops and desktop PCs
20

20

00:01:15,950  -->  00:01:20,770
as their primary tool. And sometimes
using a computer means spending hours
21

21

00:01:20,770  -->  00:01:24,790
doing tasks that require a bunch of
mindless clicking and typing.
22

22

00:01:24,790  -->  00:01:28,370
If you don't have an intern to shuffle this
work off to, you should learn to code so
23

23

00:01:28,370  -->  00:01:32,350
that you could program to computer to do
these task for you. Or if you're the
24

24

00:01:32,350  -->  00:01:35,610
intern, you should learn to code so that
you can program the computer to do these
25

25

00:01:35,610  -->  00:01:40,180
task for you. So how is this course is
different from all the other online
26

26

00:01:40,180  -->  00:01:43,729
programming courses? Well, I wrote
Automate the Boring Stuff with Python
27

27

00:01:43,729  -->  00:01:48,250
for people who wanted to get up to speed
making small programs that do practical
28

28

00:01:48,250  -->  00:01:50,270
tasks as soon as possible.
29

29

00:01:50,270  -->  00:01:53,090
You don't need to know sorting
algorithms or object oriented
30

30

00:01:53,090  -->  00:01:56,610
programming paradigms, so this course
skips all of the computer science and
31

31

00:01:56,610  -->  00:01:59,930
concentrate on writing code that get
stuff done.
32

32

00:01:59,930  -->  00:02:03,430
But if you are a computer science
student for budding software engineer,
33

33

00:02:03,430  -->  00:02:06,830
this course will be a good first step to
develop your toolkit of programming
34

34

00:02:06,830  -->  00:02:12,050
skills. This course uses the Python
programming language. Python is the best
35

35

00:02:12,050  -->  00:02:14,990
first language to learn. Many
universities are switching their
36

36

00:02:14,990  -->  00:02:19,190
computer science curriculum away from
Java and to Python. It has a simple
37

37

00:02:19,190  -->  00:02:23,240
syntax and a gentle learning curve, but
it's still a powerful language used in
38

38

00:02:23,240  -->  00:02:24,380
the real world.
39

39

00:02:24,380  -->  00:02:29,680
Google, NASA, Yahoo, YouTube and even non-technology companies like JPMorgan Chase
40

40

00:02:29,680  -->  00:02:34,209
or Industrial Light and Magic, all used
Python. So learning to code can increase
41

41

00:02:34,209  -->  00:02:38,140
your productivity but it's also a fun,
creative skill and unlike other creative
42

42

00:02:38,140  -->  00:02:41,290
skills or hobbies, if you have a
computer there's nothing else to buy in
43

43

00:02:41,290  -->  00:02:46,000
order to write code. You don't have to
buy paint or yarn or power tools. All you
44

44

00:02:46,000  -->  00:02:48,990
need is some free software called the
Python interpreter.
45

45

00:02:48,990  -->  00:02:52,770
Sound good? Let's get started. Right now.
46

46

00:02:52,770  -->  00:02:56,340
Open a web browser and go to python.org. You'll need to download and install
47

47

00:02:56,340  -->  00:03:01,150
Python for your operating system. This is
slightly different on Windows, Mac, and
48

48

00:03:01,150  -->  00:03:04,810
Linux, so consult the course notes for
specific instructions. The one thing you
49

49

00:03:04,810  -->  00:03:10,140
need to know is that you should download
a version 3 Python, like Python 3.5 and not a
50

50

00:03:10,140  -->  00:03:15,860
version 2 Python, like Python 2.7. When we say "Python" we usually mean either the Python
51

51

00:03:15,860  -->  00:03:19,360
interpreter software that you've just
downloaded installed or the Python
52

52

00:03:19,360  -->  00:03:24,440
language. Python (the software) comes with
an editor program that you type your
53

53

00:03:24,440  -->  00:03:29,790
Python (the language) code into. The
editor is called IDLE. Consult the
54

54

00:03:29,790  -->  00:03:33,270
course notes for how to start up IDLE on
your operating system. Beginning in the
55

55

00:03:33,270  -->  00:03:37,140
next lesson we'll start writing code
using it. I highly recommend that you
56

56

00:03:37,140  -->  00:03:40,840
have IDLE open and follow along with the
videos by typing the examples into it.
57

57

00:03:40,840  -->  00:03:44,890
Don't just sit and watch the videos. It's
easy to passively watch the videos and
58

58

00:03:44,890  -->  00:03:48,870
think you understand the concepts. Typing
the code build your muscle memory and
59

59

00:03:48,870  -->  00:03:52,470
forces you to see if you can get the
code working. One last thing that you
60

60

00:03:52,470  -->  00:03:53,620
should know from the start:
61

61

00:03:53,620  -->  00:03:58,180
Half of the software engineers day is
spent googling for information. Programming can be
62

62

00:03:58,180  -->  00:04:01,709
complicated and no one can keep all this
information in their head. So don't feel
63

63

00:04:01,709  -->  00:04:05,570
bad about constantly looking stuff up on
the internet. That's exactly what
64

64

00:04:05,570  -->  00:04:11,120
professional software developers do
every day. So if you get an error message
65

65

00:04:11,120  -->  00:04:15,230
and you have no idea what it's talking
about, a good starting point is copying
66

66

00:04:15,230  -->  00:04:21,859
and pasting this message into a search
engine.
67

67

00:04:21,859  -->  00:04:26,120
The first 3 results will probably be to a website
called Stack Overflow, which is a great
68

68

00:04:26,120  -->  00:04:29,729
question and answer site. So before
asking people for an answer,
69

69

00:04:29,729  -->  00:04:33,610
try to find the answer yourself on the
web. One, this will almost always be
70

70

00:04:33,610  -->  00:04:37,719
faster because, two, other people have
probably had your question and already
71

71

00:04:37,719  -->  00:04:38,920
had answered.
72

72

00:04:38,920  -->  00:04:42,530
But when you do ask questions, provide as
much detail as possible
73

73

00:04:42,530  -->  00:04:46,210
Here's a few things to keep in mind.
Explain what you're trying to do, not
74

74

00:04:46,210  -->  00:04:50,289
just what you did. Your helper can then
tell you if you're on the wrong track.
75

75

00:04:50,289  -->  00:04:54,319
If you get an error message, specify the
point at which the error happens. What
76

76

00:04:54,319  -->  00:04:58,110
line number does it happen on? Does the
error happen every time or does it just
77

77

00:04:58,110  -->  00:05:00,380
happen randomly sometimes?
78

78

00:05:00,380  -->  00:05:04,720
Copy and paste the entire error message
and your code to a pastebin site, like
79

79

00:05:04,720  -->  00:05:09,340
pastebin.com or gist.github.com. These websites will give you a link
80

80

00:05:09,340  -->  00:05:12,580
to your text which makes it easy to
share with other people.
81

81

00:05:12,580  -->  00:05:15,639
Explain what you've already tried to do
to solve your problem.
82

82

00:05:15,639  -->  00:05:19,129
This trims down the list of possible causes
and tells people that you've already put
83

83

00:05:19,129  -->  00:05:22,590
some work into figuring things out on
your own. List the version of Python
84

84

00:05:22,590  -->  00:05:26,900
you're using. Also, say if you're running
Windows, Mac, or Linux and what version
85

85

00:05:26,900  -->  00:05:31,969
you're running, like Windows 7 or Mavericks 10.9.2.
86

86

00:05:31,969  -->  00:05:36,049
Asking effective questions and knowing
how to find answers are invaluable tools
87

87

00:05:36,049  -->  00:05:38,119
on your program journey. Let's begin!
