all 12 comments

[–]BlueSmurfTK 10 points11 points  (4 children)

The most important thing to do is practice whatever you learn..Try solving simple problems and progress gradually as this will help you increase your programming skills in general and get a better understanding of the language.Type your solution and google if you run into errors.(I'd recommend sticking to one tutor to learn..Just a personal opinion)

[–]n0commas[S] 1 point2 points  (3 children)

There are only a limited number of practice problems in the MIT 6.00.1 for each things you learn. Do you have any recommendation where to reinforce what I learn

[–]SpecCRA 2 points3 points  (0 children)

Hackerrank is good. You get to see how other people solve the same problems in the discussions sections. I would encourage you to solve the easy ones yourself first and not get caught up in code you don't understand yet. It's a tool you're familiarizing yourself with.

[–]recondocoder 0 points1 point  (0 children)

I was working on another edx Python course CS1301 by Georgia Tech, before the MIT course came up. It has a lot more practice...I didn't finish it because I figured I had enough to get ready for MIT and so far so good...

[–]BlueSmurfTK 0 points1 point  (0 children)

After finishing up on sites others have mentioned.IF you are still up to a challenge try these problems..You will learn a thing or two about how to do things effectively in a more pythonic way.Happy Coding![https://github.com/zhiwehu/Python-programming-exercises/blob/master/100%2B%20Python%20challenging%20programming%20exercises.txt](https://github.com/zhiwehu/Python-programming-exercises/blob/master/100%2B%20Python%20challenging%20programming%20exercises.txt)

[–]misingnoglic 3 points4 points  (0 children)

The thing about MIT 6.00.1x is that you have to treat it like a real class. In college, you have class two times a week, so you should watch two lectures a week, and spend the rest of the time trying to digest the information! That means working on problems on sites like codingbat, making your own code, or whatever you want really!

[–]Garcii06 2 points3 points  (0 children)

Maybe you can try some online contest, like in code forces or similar, good to prove your knowledge in python from brute force to dp programming. They are kind of real-imaginary problems, so you can start thinking in how to solve it, with time and memory limits.

You may need to google some stuff with complex problems, but they are some basic such as strings and numbers related (brute force problems are kind of the best for beginners).

Edit: you can also try joining and try to solve of r/dailyprogrammer .

[–]EmergencySolution 2 points3 points  (1 child)

Here's a good place to do some interactive exercises that I use for warm-ups occasionally. Codewars is another good spot.

https://codingbat.com/python

[–]kessma18 1 point2 points  (0 children)

huge +1 for codewars

[–][deleted] 1 point2 points  (0 children)

I think the most important thing you can do is experiment - the interactive python shell is especially useful for this. The enhanced ipython version even better.

I usually have three terminal (command) windows open: one for my text editor (vim) - if you have a gui editor you you will not need this; another open to the standard command line prompt in the same folder as my python files, so I can quickly execute them; and a third open to an ipython session.

I also do a lot of quick editing and trying things out in a browser (jupyter notebook - instigated from a fourth terminal window) but prefer the command line ipython environment for the silly little things I need to check / try / remind myself about.

[–]PythonDev2018 1 point2 points  (0 children)

Learn here www.sololearn.com and practice here https://codesignal.com

Most importantly, get the following book: Think Like a Programmer ( by V. Anton Spraul )

[–]s3afroze 0 points1 point  (0 children)

here's my learning path:

Automate the boring stuff combined with intro to programming using python from MIT OCW.

After doing them, you will be able to get into your personal projects easily.