Python for Absolute Beginners Transcripts
Chapter: The big ideas of software development
Lecture: Beginners and experts
Login or
purchase this course
to watch this video and the rest of the course contents.
0:00
No matter what your end goal is
0:01
do you want to learn some programming so you can
0:04
be better analyzing your data as a scientist?
0:07
Do you want to start a new startup like Google?
0:11
Or do you want to just manage some data
0:12
while you're doing some accounting
0:14
or automate simple things around the office
0:16
or your even your house?
0:19
No matter what your end goal is
0:20
you're going to go through different stages.
0:22
At first, you're going to be like
0:23
wow, this Python, I don't really even know
0:25
how to put it together correctly.
0:27
And you'll get better at the structure
0:29
of writing Python code or source code in general
0:32
you'll be able to do that reliably.
0:33
But when you approach a problem, it'll be like
0:36
wow, I know how to do stuff in the language.
0:39
But this problem, I don't know how to apply
0:42
the Python to this complex problem
0:44
or how to break it down in a way that I can deal with.
0:48
So in this next short section
0:49
I want to talk about the difference
0:51
between pros and beginners.
0:54
In some ways, people who can just sit down
0:56
and write whole web applications
0:58
that are things like Google or, you know, do their startup.
1:02
You know, Mark Zuckerberg sitting in his dorm room
1:04
creating Facebook, it seems like
1:07
there's a huge divide between beginners
1:09
and pros who are experts in that world.
1:11
But really, what you'll see is it's just
1:13
a few bits of mindset, some practice
1:16
and a whole bunch of persistence, really.
1:19
So let's talk about the differences.
1:21
Persistence to just keep trying.
1:24
Now, you might think this thing I'm trying to do
1:26
is frustrating because I'm a beginner
1:28
and I don't know what I'm doing.
1:30
That may be true, but a lot of times, it's just frustrating.
1:33
And that happens to experts as well.
1:36
I was working with a library just a few days ago
1:38
and it was like, why is this thing not working?
1:41
And I've been programming for over 20 years
1:43
and yet it is right there in front of me.
1:46
It's not clear what it's supposed to do.
1:49
It's definitely not doing what it's
1:50
what I'm trying to ask it to do.
1:52
And how did I solve it?
1:54
I didn't use necessarily 20 years of experience.
1:56
I just kept looking for answers.
1:58
I just kept trying variations
2:00
until the thing finally worked.
2:02
So do not discount, just persistence
2:05
to get through these problems
2:06
because it's not just that you run into them
2:09
as beginners and they go away.
2:11
No, sometimes that's true for sure.
2:13
But it's not as true as you would think.
2:15
And along with that, just feeling like
2:17
you're stuck on a problem, it's just part of the journey.
2:20
Again, as a beginner, if you feel stuck
2:22
you might think, well, I'm stuck because
2:24
I have no idea what I'm doing or worse
2:26
you might think I'm stuck because this is not for me.
2:28
I'm not good at this.
2:30
No, like I just told you just a few days ago
2:32
I was totally stuck and I've spent hours
2:35
looking at this thing, trying to figure out
2:36
why it won't work.
2:37
But difference as an expert is I know
2:40
that that is part of the journey
2:42
but it's also going to go away.
2:44
If I apply rule number one, I'm persistent
2:46
and I just keep working on it.
2:48
But eventually, I'm going to find that article
2:51
that somebody wrote or that Q&A that somebody did
2:54
or that thing in the documentation I overlooked
2:56
and it's going to unlock and then whoosh
2:58
off it'll go again, you'll just be cruising along
3:00
working, smooth, even keeled for a while
3:02
until you hit another thing like this.
3:04
So being stuck is part of the journey.
3:06
And just because you feel that way
3:07
it doesn't mean it's not for you
3:09
it just means it's part of the journey.
3:11
Now one thing that does help is
3:13
seeing a similar problem before on other projects
3:16
that you've created, on articles, or in a book
3:19
or something like that.
3:20
This does take a little bit of experience
3:23
'cause how are you going to see similar things
3:24
when you're brand new?
3:25
Well, you just have to expose
3:26
yourself to them and try solving problems
3:28
and reading and taking online courses
3:29
or even in person courses.
3:31
But going through and just getting that experience
3:34
this is something that really is helpful.
3:35
Think I need to create a website and have users login.
3:38
Well, if I've done that five times before, guess what
3:41
it's pretty straightforward to seeing
3:43
how to solve that problem.
3:44
But if I've never done it, a research project.
3:46
The thing is, being really good at programming
3:48
is not necessarily being super smart.
3:51
It's just going through a little problem
3:53
after a little problem, after a little problem
3:54
and having that in your toolbox.
3:57
Another thing that's super valuable are data structures
3:59
and we haven't talked about these yet
4:00
but organizing your data in just the right way
4:03
makes it much easier to think about
4:05
and it gels better with the language
4:08
in ways that can process it and you can
4:10
ask questions about it, and so on.
4:12
So we're not there yet, and when we get to the part
4:14
where we're writing more complex code
4:16
we'll get into the data structures
4:17
and you'll see what I mean.
4:20
Much like the seeing a similar problem
4:22
but more random fact based
4:25
is having tonnes of very small and simple facts on hand.
4:28
How do I install this library?
4:29
Well, I know I typed this thing.
4:30
And if it gives me this error, like permission, denied
4:33
I know, oh, I have to do this other thing
4:35
in addition to that.
4:36
And just having all these little small facts on hand
4:39
it really, really is helpful.
4:41
It might feel like it's something for the super smart
4:44
this person just knows everything.
4:45
They say, do this little thing or that little thing.
4:47
But it's not smart, like physics and Einstein
4:50
or large hadron collider smart
4:51
where you've got this grand vision of the universe
4:54
that people don't have.
4:55
You just have zillions of little tiny facts
4:58
and techniques that you've somehow learned
5:00
you've experienced, you've dug up
5:02
and they just add up layer after layer after layer.
5:04
So again, the only way to get that is
5:06
just keep working through it, be persistent.
5:10
Knowing the libraries, both the built in standard ones
5:13
and the external ones you can use to solve a problem
5:15
is super helpful.
5:17
There's places you can go look
5:18
and we'll talk about that later when we get
5:20
into the external library section.
5:22
But these complicated algorithms
5:24
or things that you need to do understanding
5:26
a complicated data file structure
5:28
or some crazy thing like that
5:30
you could either do tons of work that could be error prone
5:34
frustrating and hard to solve that.
5:36
Or you could just go and grab an external library.
5:38
There's over 200,000 different libraries
5:41
available to Python that you can say our
5:43
this scientific data file, I if I need to pull
5:46
data out of a telescope for astronomy
5:49
there's a known format for much of those files
5:51
and I can just go grab that library and say
5:53
love that thing up.
5:54
I don't have to try to learn that
5:56
but if you're new, you maybe don't know that.
5:58
You don't know that, Oh, I can just grab A library
6:00
and write two lines of code instead of 300
6:03
complicated lines to try to figure out what this file is?
6:05
So knowing those things is really important
6:07
and we're going to learn that in this course.
6:10
Googling for solutions and error details
6:13
you'll hear people mock developers
6:15
and often newer developers say
6:16
Oh, they just copied and pasted that from Stack Overflow
6:19
or they don't really know what they're doing
6:20
they just Google for this.
6:22
That may be something that should be avoided, eventually.
6:25
We will see more as we go through this course.
6:27
But certainly, if you get stuck
6:30
you're very unlikely to be the first person
6:32
to have that problem and because it's Python
6:35
there's so many people using it
6:36
that it's very likely there's a
6:38
discussion online about that problem.
6:40
Sure, sometimes you'll be stuck
6:41
and you can't just go find the answer online.
6:44
But there's a surprising number for which you can.
6:47
Don't hesitate to Google the error details
6:49
or more details about a library
6:52
of what you're trying to accomplish.
6:53
It's actually pretty productive
6:54
and that helps you see similar problems
6:57
or acquire these simple facts that you just have on hand
6:59
because you can level up through someone else's
7:02
hard work of figuring it out.