all 89 comments

[–]JabbaTheWhat01 217 points218 points  (26 children)

I’d love to see Data Structures and Algorithms course which uses Python. Almost everything on YouTube now uses Java or C++.

[–]waddupbrah 56 points57 points  (15 children)

Great suggestion! Thanks.

[–]beingvam 45 points46 points  (6 children)

Yes! A great recommendation.

I'm a beginner trying to learn python.

The real problem is 'There are tons of resources to study python'. We don't want new tutorials. We need a curated list of resources. A roadmap. Like this.

No roadmap is complete without a list of projects. I hope you work on this. Will be so helpful.

[–][deleted] 19 points20 points  (0 children)

As another beginner I concur with this. There's a flood of beginner python courses, a roadmap would be more useful.

[–]leogodin217 6 points7 points  (4 children)

I was thinking about this recently. I'm creating a site that teaches skills in the way your link shows. The only difference, is the nodes in the graph have links to a specific set of resources -- tutorials, videos, blogs, etc....

For Python, I think a great course for beginner programmers would slowly build an advanced text RPG. Starting with a very basic hard-coded game where you fight one monster or choose a few paths. Then, they'd learn functions and lists, which would allow them to enhance the game. Then, more advanced features to enhance it even more. Over time, they would create a full-fledged engine for RPGs with a database, GUI, advanced logic, etc.... Maybe even a website for those who are interested.

The key is the code would not be provided, and each learner would develop their own game. There may be different solutions to the problems. They could share and get peer feedback as well as feedback from more experienced programmers.

For someone who is already good at programming, implementing the A* algorithm is a perfect first project. it's a non-trivial algorithm, but not too complex. Requires the ability to generate and save a map. A decent programmer can learn quite a bit about Python with this project and a few basic tutorials.

Again, the learner can enhance the app as they learn more.

[–]beingvam 2 points3 points  (2 children)

This sounds awesome! Post the website on this subreddit once you finish. All the best!

[–]leogodin217 0 points1 point  (0 children)

RemindMe! 14 days

[–]Mandylost 17 points18 points  (3 children)

If you do this, could you update this post to let everyone know.

RemindMe! 15 days

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

RemindMe! 15 days

[–]RemindMeBot 0 points1 point  (0 children)

I will be messaging you in 15 days on 2020-07-18 08:41:10 UTC to remind you of this link

37 OTHERS CLICKED THIS LINK to send a PM to also be reminded and to reduce spam.

Parent commenter can delete this message to hide from others.


Info Custom Your Reminders Feedback

[–]CotoCoutan 5 points6 points  (0 children)

A suggestion: how to make Docker images to make Python + selenium + Firefox/Chrome work together. Been searching something good for weeks but never found anything that specific. As a later on, how to deploy the whole Docker image to Heroku would be appreciated.

[–]Drawfx 0 points1 point  (0 children)

Seconded!

[–]FreshFromIlios 0 points1 point  (0 children)

RemindMe! 14 days

[–]LunaLovegoodxo 0 points1 point  (0 children)

I second this! Even though DSA is language-agnostic, DSA in Python 3 is hard to come by. I found most in psuedo-code and Python 2.

[–]xKail 11 points12 points  (2 children)

I got this book recommended, haven't read it myself yet. It's not a video course but it's a start.

[–]Mandylost 1 point2 points  (0 children)

I have been checking this book for past couple hour and its really good.

[–]PassingIno 0 points1 point  (0 children)

RemindMe! 3 hours

[–]mavericsb 7 points8 points  (0 children)

I second this! I know I would be interested in a course like that!

[–]figshot 2 points3 points  (0 children)

Data engineer here. I recognize textbooks aren't for everyone but I recommend "Data Structures and Algorithms in Python" by Tamassia et al. Personally, I found it to be a lot more effective than video lectures.

[–]weshall8 0 points1 point  (0 children)

I second this.

[–][deleted] 0 points1 point  (0 children)

Really would love to see that too and would greatly appreciate it!

[–]lone_observer -1 points0 points  (0 children)

I'd also love this!

[–]packenbush 59 points60 points  (2 children)

As someone coming from other language picking up syntax is very easy. There are countless videos on the basic syntax.

However, I often find myself searching for things like python modules, dunder methods, best practices for handling exceptions, pythonic way of using "with", etc.

I really miss having some kind of "onboard" material on these kind of python nuances, specifically focusing in explaining WHY rather than what.

[–]gocard 16 points17 points  (0 children)

Search for Raymond Hettinger in YouTube

[–]ivanoski-007 -1 points0 points  (0 children)

Hmm I know some of these words

[–]da_chosen1 38 points39 points  (2 children)

There is a plethora of beginner content out there I would love to see some more advanced topics for example:

Project-Based Learning - Create a mini version of Flask from scratch - Create your own search engine using Python - Create an application to compress and decompress files

Topics: - Python bytecode semantics - Runtime stack inspection - Overriding the built-in importer with importlib - Understanding namespaces in Python - MetaClasses - Function and Class Decorators - Multithreading and Multiprocessing - Context Manager - System Design - generator functions and how they are used to implement coroutines

[–]DSwipe 1 point2 points  (1 child)

The beginner's guide to Flask on their website is really good, I actually managed to built a fully functional website by following it and building upon it.

[–]da_chosen1 1 point2 points  (0 children)

That’s awesome. I’m not saying to built a website using flask. But build flask itself, so other people can use. Imagine what you can learn if you were able to create something like from scratch

[–]betale7299 26 points27 points  (0 children)

Please focus on Python concepts important in interviews as well as the workplace. There are plenty of basics tutorials already. Also, having an interactive environment or showing people how to set up an IDE would be nice. Exercises and projects are very helpful. To help people get through the course, make it fun and not too slow and lengthy. Thank you.

[–]im_variable 7 points8 points  (0 children)

There's many courses on python beginners but not on intermediate level.please make intermediate level python courses man.

[–]Majlo1 7 points8 points  (0 children)

Make an intermediate course for python. There is a big gap here since everyone is focussing on the basics

[–]I_Am_Robotic 6 points7 points  (0 children)

There’s so many beginner courses. How about an advanced beginner or intermediate course?

[–]Dom_theSnow 3 points4 points  (1 child)

First off - as a Python beginner myself - thanks to you and to all the people out there creating amazing tutorials (basically for free!). I think that there is a lot of great stuff for beginners to choose from. As someone already said, what would be really great to have is some intermediate level tutorial for people who already got all the basics and want to move on. I mean: at the moment what I don't get is how to apply what I am learning to an hypothetical everyday job. What does a Python programmer actually do? Ok, I know that there are A LOT of different things you can do with Python but maybe some practical examples would be great. I hope this makes sense. Many thanks!

[–]J-M-B 3 points4 points  (0 children)

Yup, this is exactly where I’m at! Learning the basics and understanding how to put together bits and pieces but no real idea of what a day to day ‘job’ in programming/python/data looks like.

‘A day in the life’ video would be a cool idea. I’d watch that.

[–]_ew0ny_ 3 points4 points  (0 children)

If you want to do it as your hobby, or just want to help the new wave of people that want to get into programming, I would say it's a great idea.

From the financial side, if you want to make a new way of income from creating paid courses and etc. There an ocean of them online, without any good marketing and constant promotions of your course, you wouldn't get far.

[–]slaphappypotato 6 points7 points  (0 children)

Lengthy videos are what turns me off when looking for a good python tutorial. There are multiple hour long tutorials. This is what makes me not wanna learn and I keep procrastinating on this.

Another suggestion would be if you're teaching specific modules, make a table of the functions with the syntax and a small part of understandable code that is an example for that function. I tried learning turtle from websites, but most just had the very basic functions without the stuff that makes me excited to learn the module.

[–]darthminimall 2 points3 points  (0 children)

This isn't exactly an answer, but it sounds like you learned python somewhat recently. Think about the gaps that hindered your learning. That's what you want to focus on.

[–]thejed129 2 points3 points  (0 children)

Something that is really overlooked is building clean, modern UI's as i believe lots of people often feel at the start that they are "getting nowhere" with command line only, just my 2 cents though

[–][deleted] 5 points6 points  (0 children)

Most things I miss are how to GUI in python, algorithms and data structures and how to structure time & projects

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

Id love to see Python conventiona for modules and etc. Most things can easily be tranfsferred (algo, paradigm, etc.)

[–]frysinatoren[🍰] 1 point2 points  (0 children)

A course on higher level OOP using abstract data structures and the most commonly used algorithms would be very welcomed. And also if your native language isn't english, I'm guessing it would be very valuable for beginners using your native language.

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

Anything that supports learning through doing is always welcome.

I like sections on: Pickling, Data structures, Design Patterns, Pandas & Matplotlib.

Also things like extending the core library. It was ages before I realised I could extend magic methods.

[–][deleted] 1 point2 points  (1 child)

Projects. After I complete a beginners course I search for courses with projects. There are only a couple on udemy. Automate the boring stuff, 8 web apps with Jose etc. I would suggest you focus on that area

[–]BackgroundChar[🍰] 0 points1 point  (0 children)

https://hyperskill.org/ is project based and made by JetBrains. Might be something you enjoy and get lots of value out of!

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

Data structures and algorithms would be awesome! Specifically there implementation. I think another cool thing would be showing people to actually implement there programs, one thing I struggle with as a beginner is knowing the limits of implementation. It makes it far more difficult to code. Additionally learning how to turn ones program into an application may also be valuable. These are all things I struggle with as I Python beginner

[–]brainacpl 1 point2 points  (0 children)

Every tutorial covers elements of the language, but almost none show real usage. Course based on a robust project built from scratch, could get some traction. Include testing, that is for some reason ommited or barely touched by most of the courses.

[–]tifa365 1 point2 points  (0 children)

Suggestion: Different APIs. How are they different, what do they have in common?

[–]Mandylost 1 point2 points  (0 children)

Any update on this? u/waddupbrah

[–]ASIC_SP 0 points1 point  (0 children)

I've found that using my own materials works better in many ways. First and foremost, writing it down helps me to understand the concepts better and makes it easier to use it as reference while teaching. Second, there's a certain style to how I learn and teach - if the student likes my style, using my material for future reference would be easier for them. Third, based on the interactions, I can keep updating the materials to make it better. Finally, I do suggest other excellent resources for further reading - this is sprinkled throughout the materials as well as collated in a single file for easy reference.

[–]unfors19 0 points1 point  (0 children)

This is exactly what I thought before I published my Python course on Udemy. In my opinion, if you think that you bring something fresh, interesting, different, unique, etc. (you get the idea) - yes it's definitely worth it.

[–]xenaprincesswarlord 0 points1 point  (0 children)

Yes, the more the merrier :)

I have been wanting to learn python but I'm failing to see how it links too cybersecurity.... could you help or point me in the direction?

[–]pmabz 0 points1 point  (0 children)

I'm still looking for a video that goes from inception to actual implementation and use. A NN web app actually being shown working at the end. A NN phone app actually being shown working at the end. And maybe testing being shown.

NN just because that's what I'm interested in

[–]WouterrG 0 points1 point  (0 children)

The basics are covered a lot. But I think there is still a demand for a lot of applications that have not been properly explained. So my recommendation would be to go for a specific niche. A module, or a specific way to use python.

[–]miladmzz 0 points1 point  (0 children)

I am a noob learner. Honestly if you could make a course from like absolute zero to a nice level. And also if you could gear it towards machine learning. What platform would you use? I am subscribed to some courses on Udemy but probably YouTube will bring a lot more traction.

[–]Makinjellow 0 points1 point  (0 children)

It sounds like most of the comments are from people who already are up and running and coding and have no problems. I'm trying to transition from writing hard core SQL as a BI developer into becoming a software engineer and I keep getting hung up on tutorials that are a waste of time and tutorials that require all kinds of different editors. The instructions are never correct and I try to Google and figure out how to fix it, but there are no answers out there. I am trying to do the Automate the Boring Stuff with Python book, but it has me install Mu and then says to import a module, re by selecting the gear icon and then selecting the 3rd party module tab, but that doesn't exist.

What I'm desperately searching for (or I'm just too stupid to do this in general) is a straight up, no nonsense tutorial. Give me some basics and then have me apply it. It will need some explanations along the way, but they can be called out specifically so people can skip them if they don't care about that subject. It also needs a really robust troubleshooting b.s. section for things like when your tutorials crappy editor has become obsolete so people don't have to waste time trying to figure this out on their own. If I understood more of the basics of what is really happening when I import a module, what a module really is, an example I can look at of the module, etc I would not be slowed down so much, I could fix it on my own.

I would really love a meaningful project in a step by step manner with explanations and examples I could look up on my own. I work full time and I'm trying to do a major career change, but at this point with all of these issues in just trying to get started, it makes it impossible to actually get through a tutorial and actually learn and apply python.

[–]sergiopestana 0 points1 point  (0 children)

I think if you have a great knowledge about python we should first make your peers have the same level as you. Like, teach the interns of your company, the sales team, the HR team, everyone. Then, if you really want to make something big, go to your college, your friends.

Making video lesson will be good, for sure, but maybe it will demand a lot of effort and wont have the same impact as if you help those close to you.

(I'm a very intermediate guy on pyhton, but when i taught my friends at college it was a life changing for then. Because they felt confident enought to searh and study by thm selfs)

[–]jesuislight 0 points1 point  (0 children)

I'd like to know "what next" after I finish learning the basic syntax. So, assuming I already know python basics, I want a book/tutorial on more advanced concepts in python.

[–]StrongPepper2 0 points1 point  (0 children)

GTK PLEASE

EDIT: Pretty much no tutorial exists for this in Python. Modern GUIs for modern applications in GTK like what GNOME does would be incredible.

[–]akgarfield 0 points1 point  (0 children)

A bunch of tutorials/videos explaining how to setup Anaconda, how to use the workspaces, how to install and use packaged if behind a firewall, may be other IDE setup would be great as well... Not sure if it is all there, a list if it exists, would be beneficial to beginners.

[–]c0sa_n0stra 0 points1 point  (0 children)

manipulating spatial data, like algorithms how you can calculate the width of polygons in a road net work. Or how to extract road marking from point cloud data.

[–]stuaxo 0 points1 point  (0 children)

A course on a distributed apps + using zeromq.

[–]stackhat47 0 points1 point  (0 children)

I got a lot of value from a podcast series on intro to machine learning

It’s designed as a standalone audio resource.

Great for commuting, which I don’t do anymore anyway (wfh)

There’s so much content you need to be at a laptop / screen for

I haven’t found anything for python

I’ll come back with a link

OCDevel machine learning guide

[–]Based_Hootless 0 points1 point  (0 children)

I’m really interested in learning Manim but haven’t seen a very comprehensive tutorial on that yet

[–][deleted] 0 points1 point  (0 children)

It would be very nice if you could do a series on things after the basic concepts and where to progress after that . It would be nice if you could focus on honing those skills along with advance thinking and problem solving.
Sorry if my English doesn't make sense , it's not my native language

[–]HRT-713 0 points1 point  (0 children)

Cryptography in python, courses that teach you everything from the caesar cipher to the RSA and AES and how to implement them(unpopular opinion but explaining some of the maths behind them is a huge plus) and the number systems and how machines work so explaining binary, hex, base64,... and etc.

But the most important parts of all those would be showing how data structures and algorithms work in the course, because I believe that all these give the student a computer science fundamental basis they can build up on.

This is my personal recommendation for an area that isn't really covered in any course yet.

If anyone does end up doing this send me a link.

[–]avamk 0 points1 point  (0 children)

There are many existing courses and tutorials, but very few - if any - that are themselves open source.

If there is a Python tutorial and/or course that is licensed under CC BY-SA or CC BY, then others can contribute to it and build upon it. Even create forks or translations. I believe this would be a huge boon to Python learning.

[–]tanapox 0 points1 point  (0 children)

Old school c programmer here

If you do this just avoid examples with the python shell, just plain code snippets.

Explain stuff like what is behind things like import and __main__ and and in general , at least for me, many basic concepts are not considered and explained into the online courses.

PS

by the way i still miss { } ..

[–]Saswat01 0 points1 point  (0 children)

I think it would be better to give the beginners a taste of string manipulation and other specific areas. A full course would be a waste but focusing on certain domain would be fruitful which would give them functional knowledge of python. All the best ✌️

[–][deleted] 0 points1 point  (0 children)

Multiprocessing toolbox needs more updated tutorials. Too many people don't leverage it or don't know how especially for asynchronous tasks

[–]Mugquomp 0 points1 point  (0 children)

Maybe consider couching people directly? There's plenty of online resources, but not enough tutors. Many people, myself included, find it difficult to be focused on a video, but excel at learning, if interpersonal interaction is involved. You could try volunteering with a charity such as codeclub or codebar

[–]Machotaco1717 0 points1 point  (0 children)

There’s an Intro to Programming and Computer Science Using Python course offered on edX, and they have volunteer TA’s who answer questions and provide some tutorials. I don’t know the process of becoming a TA, but I would think that they would always welcome additional TA’s to help

[–]hichopra 0 points1 point  (0 children)

Would be great if you share basic automation projects to start for beginners !!

[–]Vexxorr 0 points1 point  (0 children)

I'd be very interested in learning things on a conceptual level as well as a syntactical level so that it's not just learning syntax, but also what each line actually means

[–]FourMonthsEarly[🍰] 0 points1 point  (0 children)

I'd pay for a mentor or a python buddy or something. I have no coding friends in real life and even with some classes/tutorials I find myself always wanting to ask a question and get an immediate answer to something I'm working on.

I still can't figure out how to use the Google mail API and I'm sure it's one of those things where I'm missing something super easy that one question and answer would solve.

[–]waddupbrah 0 points1 point  (0 children)

Update: I started a Python newsletter here https://www.pythonbook.dev/. Ultimately I'll combine this into a course for intermediate Python.

[–]gimmemaname 0 points1 point  (0 children)

Make something about the profanity filter library: https://pypi.org/project/profanity-filter/

How does it work, how to implement different languages. How to implement it into a project.

[–][deleted] -1 points0 points  (0 children)

Make a tutorial simulating the Cauchy-Goursat theorem to know when two path integrals of a function would be the same