5.1 Get more context: discuss how to keep learning
5: Advanced Language Topics
5.1 Get more context: discuss how to keep learning - Video Tutorials & Practice Problems
Video duration:
8m
Play a video:
Video transcript
<v Host>So now that we've learned a lot of fundamental</v> concepts in Python, let's discuss how to keep learning. This is something that I've seen a lot with beginner programming courses that I've taught, and it might be like a one off lecture or just like a short course, but then people don't know what to do after that and they kind of just fall off, and that's unless they end up like going into a boot camp and like trying to change a career. So I've seen like both of those situations, and not much in between. So I want to talk about some of the resources that you have for learning how to program that's outside of a course like this. So we've got Tutorials, there are tons of good tutorials on the web, I'll talk about that more in a little bit. There's documentation, we saw that throughout the course, and you can just read through them, try them out, see what they do, if that's the kind of way you like learning. You can ask questions, if you're stuck or if you are not sure what to do next. Quora is a pretty good website for some like general advice, whereas Stack Overlow is better for specific technical solutions to problems. There are a number of online courses that you can take that will be longer than this video series, some of them have even homework assignments and like TA's, there are also of course in person courses that you can take, boot camps are usually about 2 months long and more intensive, those are good options for people who know they are looking for a career change and want to do a specific thing. And of course, degree programs are always there, line:15% I would definitely consider that if you are looking line:15% towards like working at some of the larger companies line:15% like Amazon or Google who pretty much require at line:15% least a bachelor's degree. So there's a few different ways of approaching learning, there's a top down approach and bottom up. So for top down approach, that would be more like tutorials where you follow along with a project or a workflow, and this is great for like learning a new framework or learning how to do this type thing on this platform. The Django tutorial was great when I was learning Django, getting my website up on Heroku was pretty easy because they have pretty good tutorials, learning Github, that kind of thing. Tutorials are a great way to get introduced to these new platofrms, and these are great because you see results quickly, and you might not understand all the details, so the challenge will be adapting it for your use case. And there's also bottom up learning. So courses, documentation, some tutorials like the Python one if you're just learning python, they will introduce concepts one at a time, and have them build on each other, so this is like how this course was, and they'll teach you more of the fundamentals, and it'll take longer to see results, and then the challenge is combining them to build something useful. So you are gonna want to do both, bottom up and top down, but maybe depending upon where you are in the learning process, you prefer one or the other. And my suggestion would be, if you're not going directly into a like a course, definitely like pick a project, and don't make it too small or too big. So some good projects for after taking this course, would be like a choose your own adventure, or a text based game, you can look into using some graphical user interface libraries, and you can create a game or just a GUI application, so I wrote a paint program and a couple of like little interactive games when I was learning Python, and there's things like PyGame, GUI libraries like [Unintelligible]. And with those you'll need to learn, you'll need to know a little bit about using classes, but not too much because you don't necessarily have to write your own classes, but you need to be able to use the classes they provide. You can also like do the things related to lessons 6 and 7 in this course, like analyzing some data or building a simple website, and then you can also make generative art. There's something called processing, and it wasn't originally written for Python, but since Python is becoming a pretty popular language, they're trying to make all of the features available in this like Python mode. So you can look up processing.py if you're interested in making generative art. So when you're tackling these things, think about like are you learning a totally new framework or libnary, in which case, definitely start with the beginner tutorials, and then once you've done that you can change different parts of it and see what happens, or a lot of places have good example projects that you can look at, find what you need, and then adapt it to what you want it to be, or even just remix it and extend the examples to include your own purpose like utility and style. Beyond that, what other concepts should you learn for Python programming? Well there's quite a few more data structures that we didn't look at yet, besides lists. We'll see some of those in the next sub-lesson, but there's lots more, so there's like the collection module, there's like the decimal data type, and you know maybe just look through the Python standard library to see what other data types there are. And then, if you're interested in the more like algorithmic like college or interview style data structures, you can look into stacks and queues, link lists, trees and binary trees, and graphs, and these are all useful data structures to know about especially if you're going to be interviewing for some of the more competitive jobs, and doing backend programming not front end. So some other intermediate concepts are looking at object oriented programming, and in lesson 5.6 we'll be going over classes, but not going over more concepts like inheritance and interfaces. And then more intermediate Python concepts, include exceptions, so when something, when you get an error you can actually anticipate that error and do something about it. So there's also more complicated functions that we'll look at in 5.5, list comprehensions, nested functions, and then decorators and Lambda functions, and there are more, Python can actually get fairly complicated when you get more advanced, but it's great that if you are a beginner, you can actually do quite a bit. These advanced features just maybe let you write less code. And then other essential skills to know about are, how to import external libraries, creating virtual environments, reading and writing to files, and making API requests, so making http requests over the internet. And finally, I'll leave you with a few book suggestions. So there's the Python Tips one, at the bottom here, is an Ebook that I found, or like just mostly a website, that's pretty good at showing a bunch of Python concepts that are a little bit more advanced, so a lot of the concepts we talked about earlier, it'll have them in there, and then Automate the Boring Stuff with Python is good for having writing some automation scripts, and having practical projects to implement, so that would be more like a tutorial style where you get to actually build something. All of these are great, the main point is that there are a lot of resources nowadays for learning programming, and you just have to pick one that feels right to you.