10 ms·
30 Days of Python
- hacker_newz 4y agoWhat's with all the spam issues?
- l_theanine 4y agoMore common than you think on educational repos like this.
- Kiro 4y agoWhat's the point? It's just an empty issue.
- netruk44 4y agoIt looks like these people are using it as kind of a bookmark somehow, with the issue title as their bookmark title ("learn", "python learning", "30 days of python", "python").
- l_theanine 4y agoI think sometimes it’s a misunderstanding of the platform by people with no clue what they’re doing, and maybe a partial language barrier?
- hummus_bae 4y ago[dead]
- l_theanine 4y agoPretty good curriculum, I’m not sold on MongoDB, I’d prefer someone with Postgres or SQLite experience so they can be immediately useful on a project, but it’s better than nothing, which would be even worse. There’s a rather deep rabbit hole really about figuring out what the best beginner curriculum should look like, because if the diversity of the applicability of Python. They might be doing to a data science role, a sysadmin role, an infosec role, an educational role, you just never know. I think it’d be prohibitively difficult to unify these tracks, and might even play a role in the perceived difficulty for a lot of people coming to computer work from zero programming experience. Someday, I’d like to see some sort of AI platform that can gauge a users intuition about the concepts on the whiteboard and tailor lessons to be impressed upon that user the best way. I’d teach a 30yo with ten years of Excel munging experience different than I’d teach a 20yo with no CS education at all besides video games. That could be automated to great benefit, imo.
- nerdponx 4y agoAnother -1 for MongoDB here. It's a newbie trap in general. However is is probably easier to get started with for someone who is already learning Python, because its data structures closely resemble Python data structures, the query language can be expressed directly in Python object literals. This makes MongoDB a very gentle introduction the basic usage of databases for storing data (as opposed to e.g. dumping JSON to a file). Starting with Mongo might make it easier to graduate to relational databases & SQL later. Arguably TinyDB might be a better choice than MongoDB, but at least Mongo does get used in industry once in a while.
- rekahrv 4y ago> There’s a rather deep rabbit hole really about figuring out what the best beginner curriculum should look like, because if the diversity of the applicability of Python. So true. I really like that 1 day is devoted to: * PyPI * virtual environments Those feel super useful in all the roles you've listed. I'm also not convinced that MongoDB is the most practical choice. On the other hand, it might be more intuitive to learn on 1 day than the relational database modelling. (Especially if we assume that the student has already learned about various data structures during week 1.)
- rekahrv 4y ago> Someday, I’d like to see some sort of AI platform that can gauge a users intuition about the concepts on the whiteboard and tailor lessons to be impressed upon that user the best way. I’d teach a 30yo with ten years of Excel munging experience different than I’d teach a 20yo with no CS education at all besides video games. That could be automated to great benefit, imo. That's an intriguing idea!!
- ssgodderidge 4y ago>“Python is eating the world and you are killing it before it eats you.” Whoa, took a dark turn there
- werwerwerew 4y ago[flagged]
- glacials 4y agoLove that this starts you right in the terminal and VSCode from the outset. A friend has been on the Codecademy grind as a new developer, and ~1 year in she is continually frustrated with how little focus it places on real-world tools and experiences. It seems they want to keep you in their in-browser interpreter for as long as they reasonably can.
- bshipp 4y agoSo many courses demand you start in a text editor and I understand the rationale but I write almost everything in PyCharm and strongly encourage everyone to find a comfortable IDE. If the intention of coding in Python is to get stuff done quickly, it seems a bit silly to handcuff yourself by avoiding one of the biggest time-savers.
- DiggyJohnson 4y ago> biggest time-savers I strongly believe there's a balance to be struck between getting started quickly and understanding how your code is run. Especially if it's an interpreted language like Python. If you do understand opening a terminal in your project's repository and executing `python3 ./mypythonfile` then this should be prioritized. Even for noobs.
- grvdrm 4y agoCompletely agree with your last point. So many of my tools over the years have stuck with their simple command line initiation rather than wrapping into GUIs or other alternatives. Being able quickly write “python [whatever you are doing]” is awesome.
- mavhc 4y agoWhen teaching noobs I first have to tell them how to make folders, create files, what files are and where they are stored, modern systems abstract that all away. I want them to realise that code is just text files, same with html
- DiggyJohnson 4y ago
- alienreborn 4y agoSimilar course that's pretty good: https://dabeaz-course.github.io/practical-python/ https://dabeaz-course.github.io/practical-python/
- zoomablemind 4y agoNice learning guide. On basic level Python is easy to learn, if already familiar with anything programming related. However, acquiring a practical idiom for Python code is not that trivial, in my experience. There are so many ways of expressing the same intent in Python, also the lack of explicit types eventually bites you where least expected. Also the whole domain of the double-underscore object-functions is like an "easter egg" left for someone to figure out. I wish the learning guides early on centered on builing an "engineered" application. Covering the approaches to structring the application, user input processing, error handling, logging, dependencies, packaging etc. Such that the learners won't be left alone with a simple knowledge of syntax and basic operations. Well, likely there are such guides already.
- molsongolden 4y agoHas anybody seen a good guide like the "engineered" application mentioned above?
- dangets 4y agoI'll give a plug for 'Cosmic Python'[0], it goes into detail of structuring larger python applications using hexagonal-ish architecture. I wouldn't recommend this approach for smaller services. [0] https://www.cosmicpython.com/book/preface.html https://www.cosmicpython.com/book/preface.html
- Pandabob 4y agoI'd personally like to see more python books like Cosmic Python, that delve into how to build enterprise applications with the language. Feels like an unserved market compared to all the python related data science books that are really popular. That said, at some point it starts to make sense to read open source repositories to pick up useful patterns.
- wildrhythms 4y agoI agree, and my belief is as soon as beginners get to the inevitable early hurdle of "ah well if you want to type a number into input() you have to cast it to an integer type..." the vague allusions to simplicity surrounding Python vanishes and you might as well have started with Java like most college curriculums do.
- photochemsyn 4y agoThis could easily be expanded to 60 days of Python, but it provides a nice overview and everything included is clearly explained. Perhaps add a full section on generators and yield/yield from, those are useful, and maybe itertools as well? Also dict comprehensions are nice, they could go in as an addendum to list comprehensions. It might be a good idea to introduce virtual environments earlier, as they help keep things from getting too snarled up dependency-wise. In terms of modules, pathlib is very useful, if you're going to be collecting data from web scraping or similar then automating the process of creating directories and transferring files to them. Subprocess is another good one, for coordinating multiple activities in one script.
- janalsncm 4y agoSorry, this is simply not realistic. This curriculum expects people to spend an entire day to learn strings, but then by the end only spend a day building an entire web server? Similarly with web scraping, these are very involved topics which could probably take a full course to introduce. If the purpose is simply to expose learners to the concept then perhaps the advanced sections are justified, but then there’s no reason we need to spend a full day on each of the data structures. One or two days is enough. Further, the author goes into extensive detail about strings (which is great) but then says basically nothing about the more advanced topics.