Jump to content

I just finished the codeacademy course on Python.  I feel like i have a very good understanding of the language.  What can I start doing with Python, and also is there another free online course, but one that is more advanced?

Thanks

I can help with programming and hardware.

<Script>alert("This website is vulnerable to XSS");</Script>

Link to comment
https://linustechtips.com/topic/434116-post-codeacademy-python/
Share on other sites

Link to post
Share on other sites

I second whitephoenix.  Nothing quite like learning by doing.  And there are a lot of things you can do.  Personally, I mostly use Python for numeric computation, simulations, and the like, rather than for writing programs (so a lot of my recommendations are geared more that way).  Granted, this is mostly on an "as-I-need-something" basis, but I find excuses.  E.g.: finding an optimal strategy for The Witcher's dice poker, making a model of the human vocal tract to do acoustic/resonance analysis, and doing simple statistics on data sets.

 

A great place to go is Project Euler, which is a collection of math problems ranging from fairly simple ("find all even Fibonacci numbers less than some value") to some pretty heavy geometry and number theory stuff that will require a decent bit of mathematics background, or learning a bunch of math stuff.  If that's your thing, though, these are soem great problems that can really force you to test your creativity and coding skills.

 

Another recommendation I can throw out is the O'Reilly series of books for Python.  I've only used one--Natural Language Processing, which I'm only partway through--but I like it a lot, and O'Reilly has a good reputation when it comes to publishing books like this.  They're not available for free to my knowledge (except the one I mentioned), but assuming the NLP one is representative of their quality, I'll recommend the series all the same.  Some of the books could be great for developing your Python skills post-Code Academy.

 

Another thing to keep in mind: Python has approximately infinity billion libraries, and some are indispensable for certain jobs.  Depending what sorts of things you might want to do with Python, a few to check out (somewhere, there has to be some good tutorials/course-type things for these):

  • Numpy, Scipy, and Matplotlib--as mentioned, Numpy adds array-based math, much like Matlab, and is awesome for big numeric calculations.  Scipy is geared more towards scientific (rather than strictly numeric) applications, and has things like signal analysis, numeric integration, and that sort of thing.  Matplotlib is a huge plotting/graphic library that lets you make some really nice, clean images.  The three of these together make Python a pretty equal match for Matlab, in my opinion.
  • Pandas--this one is geared towards data management and statistics.  I haven't used it much so I can't say much about it.  I belive it's goal is to add R-like functionality to Python, but I don't know how comparable this is to R.
  • Natural Language Toolkit--as mentioned, great for natural language processing, which is any sort of computational stuff relating to language data.  Text mining, word frequency counting, chatbots, the works.
  • Rpi.GPIO--if you have a Raspberry Pi and some GPIO peripherals (or can borrow some from someone), this will let you control things with a Python script.

 

If you go the Numpy/Scipy/Matplotlib route, you'll probably be delving deep into the world of computational mathematics--e.g., numeric methods for solving differential equations, which isn't nearly as bad as that may sound--but oh, the things you can do.  Things like simulating a solar system with an arbitrary number of planets, or modeling the heat equation, or what have you.

Link to comment
https://linustechtips.com/topic/434116-post-codeacademy-python/#findComment-5820133
Share on other sites

Link to post
Share on other sites

Automate the Boring Stuff (or one of the authors other books) might be of interest to you. Quickly skim over the tutorial pages and then move onto the projects. Another book that you may want to check out is How to Think Like a Computer Scientist as it may get into topics you never covered in the Code Academy tutorial.

 

Aside from that, get familiar with using the Python documentation and just do a lot of coding. Code as much as you can. Here are some more project ideas and you can try challenge sites like Project Euler, Code Abbey, Coding Bat, Rosalind and Hacker Rank just to name a few. 

Link to comment
https://linustechtips.com/topic/434116-post-codeacademy-python/#findComment-5820363
Share on other sites

Link to post
Share on other sites

Automate the Boring Stuff (or one of the authors other books) might be of interest to you. Quickly skim over the tutorial pages and then move onto the projects. Another book that you may want to check out is How to Think Like a Computer Scientist as it may get into topics you never covered in the Code Academy tutorial.

 

Aside from that, get familiar with using the Python documentation and just do a lot of coding. Code as much as you can. Here are some more project ideas and you can try challenge sites like Project Euler, Code Abbey, Coding Bat, Rosalind and Hacker Rank just to name a few. 

I second this. Start a (relatively) large scale project and get coding. It's a lot of fun, it gives you experience, and it makes you more familiar with the language.

CPU: AMD FX-6300 4GHz @ 1.3 volts | CPU Cooler: Cooler Master Hyper 212 EVO | RAM: 8GB DDR3

Motherboard: Gigabyte 970A-DS3P | GPU: EVGA GTX 960 SSC | SSD: 250GB Samsung 850 EVO

HDD: 1TB WD Caviar Green | Case: Fractal Design Core 2500 | OS: Windows 10 Home

Link to comment
https://linustechtips.com/topic/434116-post-codeacademy-python/#findComment-5820631
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×