I tried doing a search on the forum: "Learning Python". And yes, I could do one on the Internet at large, but I trust the forum's members more than a bunch of unknown Tuber's trying to boost their hit rates. I got 7 pages of hits here, skimmed the topic titles and checked-out a few posts. Most were about pros/cons or flaming wars. Some were fairly old (2 years). As you all know, in development, last year's course might as well be last century's.
- Can anyone recommend an up to date on-line course on Python from the standpoint of someone new to programming?
- That although mainly teaching Python, that it would also teach good, structured programming practices with the intent of doing programming professionally with Python, but also as a lead-in to other languages in the future.
- The person doing this is not currently interested in microcontrollers, so something that will be more applicable to build programs that are in demand.
- Free or paid course is fine. If there is such a beast, having some kind of recognized certification would be of interest.
- Although completely down the list of importance, I'd like to take the course with them and learn Python for my own toolbox. 😉
VBR,
Inq
3 lines of code = InqPortal = Complete IoT, App, Web Server w/ GUI Admin Client, WiFi Manager, Drag & Drop File Manager, OTA, Performance Metrics, Web Socket Comms, Easy App API, All running on ESP8266...
Even usable on ESP-01S - Quickest Start Guide
Hi Inq,
As you know, different people like different styles ... and I haven't really looked for Python... there maybe other worthwhile YouTube ones.
If the person is looking for someone to go slowly and clearly, then maybe try Paul McWhorter's Python course .. it's beginner's level only .. includes intro to Visual Studio for editing, etc.
I watched a few episodes a while back, but haven't seen whole course .. I have too many distractions ... !
Pros:
- Assumes the viewer is new to programming
- Takes steps one at a time, deliberately tries to point out the gotchas, includes simple examples to do yourself and then provides solutions.
- Well thought out presentation
- Free ... my favourite price
- Is not embedded system based (other courses he does are)
Cons:
- Nauseating 30 seconds or so about making a coffee at the start of each episode
- only 12 episodes ... last episode is on sorting routines ... so will only be the 'core' basics .. Python is also about using libraries, workbooks, etc. , depending on usage, etc. Maybe look for a follow on, assuming this intro goes ok?
...
I haven't looked specifically at Python for (cheap) paid courses ... if I did, the following would probably be on my checklist:
Coursera is worth a look .. many of their courses are free to 'watch', though they like you to pay for certificates, etc. ... I don't know about Python specifically.
Udemy has a lot ... many are probably ****, but a few are good value if you pick the right moment ... for a few days some are down to £10.99 for a good number of hours of video - check how much for each course as a guide. I suspect they do a limited-time money back guarantee as well if you pick a dud - check the small print.
Packt Publishing ... do a lot of books and videos ... at least some have merit ... They do a $12.99/month read/view as much as you like (online) deal, (occasionally available discounted for a few months or free for a weekend). I have only used the free offers ... but mainly because I can't find the time to do anymore!
------
I haven't seen or looked for any certification. Personally, I would need a lot of convincing about the value of such a thing. I am not a Python programmer, but I have the impression, that in a world where someone is charging for their skills, Python skills are something like 2% general programming approach, 5% knowing the slightly maverick Python syntax, etc. and 93% about applying libraries and other tools, for a particular application area. (I hope this doesn't offend anyone .. it is only my prejudiced viewpoint ... those more skilled in the art are free to offer their viewpoint.)
Just random thoughts .. best wishes, Dave
After I was a seasoned programmer if I needed to learn something new for a contract, I would buy 3 books on the subject, one would always be the dummies book, and the other two were just whatever cover caught my attention. I never read them all, but skimmed key sections (the back of tech books are usually the treasure trove)
I should explain, that strategy was of necessity as opposed to any well thought out strategy as I had lost my ability to read tech material in the late 70's due to my brain injury.
When you 'know' a bunch of languages already, a new one is just like one or more of the others with a small number of differences. If this is the student's first language and he/she has little experience, they will need a different teaching style than @Inq who has many languages under his belt I suspect and 10's of thousands of hours of experience.
First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, and 360, fairly knowledge in PC plus numerous MPU's and MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
My personal scorecard is now 1 PC hardware fix (circa 1982), 1 open source fix (at age 82), and 2 zero day bugs in a major OS.
Can anyone recommend an up to date on-line course on Python from the standpoint of someone new to programming?
Catch 22. Only a beginner to programming could determine how well they are learning from a particular tutorial. Learning a new language after already having learned programming concepts from using a previous language is a different ball game. I also think it is easier to motivate yourself with programming projects. I spent time trying to learn Python basics from tutorials with their boring examples. Also I couldn't stop thinking why do it this way when I already know how to do it in a simpler language! Python is high level interpreted language and I think gets its speed from using library functions written in C++.
So although I have spent some time trying to learn Python, because it is used in most hobby robot projects and has libraries for most everything, I have never actually used it in my own projects as I found it too complex with too much to remember.
It has been my intention to use my RPi in a robot project. I learn best from having reason to use what I am learning (a project) and I learn best from books I can easily follow at my own pace and can easily move back and forth through the explanations.
For the RPi robot project I purchased an introductory book,
Programming the Raspberry Pi, Getting Started with Python, Simon Monk.
I see there is a pdf version online.
When I first learned to program it was actually using an Assembler. If you enjoy programming it probably doesn't matter what tutorials you use, just start a few of them and see if any of them grab your interest.
@davee, et, al...
Hi Inq,
As you know, different people like different styles ... and I haven't really looked for Python... there maybe other worthwhile YouTube ones.
If the person is looking for someone to go slowly and clearly, then maybe try Paul McWhorter's Python course .. it's beginner's level only .. includes intro to Visual Studio for editing, etc.
I watched a few episodes a while back, but haven't seen whole course .. I have too many distractions ... !
Pros:
- Assumes the viewer is new to programming
- Takes steps one at a time, deliberately tries to point out the gotchas, includes simple examples to do yourself and then provides solutions.
- Well thought out presentation
- Free ... my favourite price
- Is not embedded system based (other courses he does are)
Cons:
- Nauseating 30 seconds or so about making a coffee at the start of each episode
- only 12 episodes ... last episode is on sorting routines ... so will only be the 'core' basics .. Python is also about using libraries, workbooks, etc. , depending on usage, etc. Maybe look for a follow on, assuming this intro goes ok?
...
I haven't looked specifically at Python for (cheap) paid courses ... if I did, the following would probably be on my checklist:
Coursera is worth a look .. many of their courses are free to 'watch', though they like you to pay for certificates, etc. ... I don't know about Python specifically.
Udemy has a lot ... many are probably ****, but a few are good value if you pick the right moment ... for a few days some are down to £10.99 for a good number of hours of video - check how much for each course as a guide. I suspect they do a limited-time money back guarantee as well if you pick a dud - check the small print.
Packt Publishing ... do a lot of books and videos ... at least some have merit ... They do a $12.99/month read/view as much as you like (online) deal, (occasionally available discounted for a few months or free for a weekend). I have only used the free offers ... but mainly because I can't find the time to do anymore!
------
I haven't seen or looked for any certification. Personally, I would need a lot of convincing about the value of such a thing. I am not a Python programmer, but I have the impression, that in a world where someone is charging for their skills, Python skills are something like 2% general programming approach, 5% knowing the slightly maverick Python syntax, etc. and 93% about applying libraries and other tools, for a particular application area. (I hope this doesn't offend anyone .. it is only my prejudiced viewpoint ... those more skilled in the art are free to offer their viewpoint.)
Just random thoughts .. best wishes, Dave
Although I do like him, and make time to watch some of his videos, I do agree with a lot of what you state regarding his nauseating coffee intros, not to mention the woke "BOOM's"... it's just not needed, and I find him too slow for my liking.
In my professional opinion, one of the best resources around for learning the basics of many languages, etc... has to be:
You can learn at your own pace, and practice and test with their online examples as you learn.
Once you have mastered all this site has to offer, you can then move onto searching for specific tutorials that interest you and align with your needs.
Cheers
Hi @frogandtoad & @inq ,
I agree with your (frogandtoad) comments ... except perhaps, I only regarded his BOOM as a childish, but otherwise harmless, variant on a 1960s style expression.
More significantly, please remember you are not a 'someone new to programming', which was @inq 's request.
I think mentioning W3Schools as a reference is a good call .. it slipped my mind when I wrote my previous message, but maybe I would have introduced it as a resource, rather than a course.
I also use W3schools from time to time ... mainly HTML/CSS ... but also for other stuff. I tend to regard it more like a Wikipedia for programing stuff... great for a specific look ups when you know what you are looking for, and handy simulator to try out odd lines ... I know they are extending it, but I fear it might be a bit 'clinical' for a programming beginner, at least if only looking at the free stuff (which is all I know about) - perhaps I missed something?
And as I implied before, we are all different, and what works for one, drives another to despair.
Best wishes all, Dave
I agree with your (frogandtoad) comments ... except perhaps, I only regarded his BOOM as a childish, but otherwise harmless, variant on a 1960s style expression.
Likewise, akin to your view of being nauseating 😉
More significantly, please remember you are not a 'someone new to programming', which was @inq 's request.
I did not imply that I was new to programming, and I stand by my recommendation of w3Schools as being a learning resource for absolute beginners.
I tend to regard it more like a Wikipedia for programing stuff...
I view it as both a resource and tutorial site... this is what you will find on the home page - Both learning and reference material:
I know they are extending it, but I fear it might be a bit 'clinical' for a programming beginner, at least if only looking at the free stuff (which is all I know about) - perhaps I missed something?
Sorry, but I have to disagree, imo, of course.
I still maintain this is one of the best learning recourses available for any programmer level, especially from beginner to intermediate!
Indeed, we are all different, hence our different positions.
Cheers
I know they are extending it, but I fear it might be a bit 'clinical' for a programming beginner, at least if only looking at the free stuff (which is all I know about) - perhaps I missed something?
Sorry, but I have to disagree, imo, of course.
I still maintain this is one of the best learning recourses available for any programmer level, especially from beginner to intermediate!
Indeed, we are all different, hence our different positions.
Cheers
Oh, I forgot to mention, that like @zander, I prefer to read books, and hence why I actually prefer static web pages for learning rather than YouTube videos, as for the latter, you are forced to endure the narration put before you (then muck around with speed and fast forwarding, etc...), and most people do not know how to teach, and bore the crap out of you, ending in discouragement!
There are some good teachers online, for sure, but I find most of them are worried about their own performance rather than the teaching aspect of it. At least with static pages (ones with good content, of course - and this is something a beginner would not necessarily recognise), can allow you to quickly move forward in content, to a level at which you feel more comfortable with and a pace that suits you.
Nothing more frustrating than the subject matter not being clearly explained, too fast, etc... and you have to replay that portion of video again and again...
Cheers
Hi @frogandtoad,
We are all different .. let's accept and rejoice in the natural diversity!
I agree with much of what you say ... particularly with some YouTuber's who remind me of over-excited sports commentators -- and I don't like watching sport! On a few occasions I have resorted to replaying bits of a video at reduced speed .. not a pleasant experience!
On the other hand, the better presenters, like our host Bill (@dronebot-workshop) and Paul McWhorter take everything slowly, and clearly, so I can usually understand the overall story, just by watching it. If I am trying to follow along, then I can easily hit pause now and again. Of course, if I already have some familiarity with the topic, then this sometimes means it is slower than I would like .. but I usually find new small details, and always have the 'nuclear' option of fast forwarding if it starts to become tedious.
I think the best videos give a better insight into what to do and what I should see than reading a book, which for tasks like programming and configuring stuff can save a lot of time looking for a trivial mistake or oversight, particularly if the topic is well outside my previous experience. Also, the best videos often have simple animations, etc. , which are difficult to replicate in a book. Again, Bill gives a masterclass in presentation skills every time.
I also think the best videos are more engaging than reading a book, especially when ploughing through the 'need to know, but really boring' bits.
...................
Having said all that, I read far more stuff, than I watch videos. I can scan a document much quicker than watching a video, with a good, but far from perfect, chance of finding the specific bit or get the general ghist without worrying about the detail. And a printed page is far more accessible for finding reminders of details, making notes in the margin, etc. So, I am in no way saying 'books', which includes the on-screen stuff, as well the dead tree stuff, are redundant.
Ideally, I prefer to "mix n' match" between the videos and printed materials. Bill seems to appreciate the same view, by backing each video up with an excellent printed version of the main theme of the video. The video and the printed version are not competitors, they mutually support each other.
...................
@Inq originally asked for personal opinions, and hopefully both your and my comments will be helpful to him.
Best wishes and take care my friends, Dave
I agree with much of what you say ... particularly with some YouTuber's who remind me of over-excited sports commentators -- and I don't like watching sport!
Really? Think of all that fun you are missing out on 🙂 And next you will be saying you never played contact sports. Think of all those physical injuries that would have plagued you into old age you are missing out on.
For me some amateur utube video presenters were just so bad as speakers I couldn't watch them at all. Bill provides written material as well as video although I was once told by a u-tube video presenter, when I commented I preferred his written version, was that the money was in the utube videos. Bill provides the best of both worlds and what he does he does well.
My further thought about learning to program was it depends on why you are learning to program. Although I guess you could teach yourself to become a professional programmer the few professionals I know are mathematicians and have university degrees.
I think if you really want to learn to program, at whatever level you are capable of, you will.
I agree with much of what you say ... particularly with some YouTuber's who remind me of over-excited sports commentators -- and I don't like watching sport!
Oh what? Really?
What happened to Australia vs England Cricket, let alone the World Series?
You're starting to sound like Blakey from "On the Busses" LOL 😀
Cheers
Hi @frogandtoad,
I am beginning to worry this is getting off track from learning Python ..... so I trust this a terminaing comment on my personal sensibilities:
Your guess that I have always done my best to avoid 'contact sports' ... my tolerance limit was Chess at school ... and I am not even sure I would go that far now.
I find it impossible to figure out, how sports like cricket or rugby ever get past health and safety standards, to say nothing of the incredible feeling of boredom they engender in me.
As for Blakey, I have every sympathy with his plight ... luckily I have never had to be a bus inspector!
-------------
By contrast, getting a better handle on Python's libraries, etc. is an interesting prospect... though Julia also has a bit of siren call to get my head around. And various hardware stuff is also inviting.
Best wishes and take care. Dave
I am beginning to worry this is getting off track from learning Python ..... so I trust this a terminaing comment on my personal sensibilities:
My post may have been misconstrued, I was being facetious, thus my comment about physical injuries. I actually never watch sport either or have participated in competitive sport myself. I just found it boring and pointless. It is I believe a means to replace war and the need to find out who can best protect the tribe in time of war. Sports heroes fill an innate need for hero worship which motivated physically superior beings to put their lives on the line for tribal reward to protect the tribe and thus the trait survived into the modern world. Although I do enjoy physical activity and working with others to bring about some useful (to everyone not just the hero) outcome.
I don't know if it is genetic or learned as my Father didn't watch sport either.
My brother is a little bit more sport minded although not interested in watching competitive sport. He liked water skiing as a teenager and enjoys racing his yacht with friends. He was not happy when I spent my money on computers instead of a speed boat.
By contrast, getting a better handle on Python's libraries, etc. is an interesting prospect... though Julia also has a bit of siren call to get my head around. And various hardware stuff is also inviting.
We are all different. I enjoyed programming at a low level to get my computer to sing and dance and I was always enchanted by the magic of science because it was real. However I dislike the Tower of Babel when it comes to computer languages. So I use Python with a grudge as I would rather C++ or BASIC.
Hi @robotbuilder,
I understood your observation was made in a sense of jest and I certainly didn't take any offence from it ... I thought that because it happened to be spot on made it more comical. I also agree and have parallels to your experience, albeit perhaps a view that BASIC was a useful in the early to mid 1970s, before microcomputers were available and for the 8-bit generation of micros, but maybe should have taken graceful retirement into obscurity as 32-bit micros became the norm.
Take care my friend and follow your interests. Best wishes, Dave
I am beginning to worry this is getting off track from learning Python ..... so I trust this a terminaing comment on my personal sensibilities:
Your guess that I have always done my best to avoid 'contact sports' ... my tolerance limit was Chess at school ... and I am not even sure I would go that far now.
I find it impossible to figure out, how sports like cricket or rugby ever get past health and safety standards, to say nothing of the incredible feeling of boredom they engender in me.
As for Blakey, I have every sympathy with his plight ... luckily I have never had to be a bus inspector!
Hi Dave, I was surprised to hear that you weren't into sports, and like @robotbuilder, I too was being facetious, and hope you understood that.
By contrast, getting a better handle on Python's libraries, etc. is an interesting prospect... though Julia also has a bit of siren call to get my head around. And various hardware stuff is also inviting.
Best wishes and take care. Dave
Indeed, python has many libraries, but that's part of what attracts people to it.
I looked into learning "Julia" a few years ago, and if you like it, you may also like to have a look into "LUA" which is recognised as being very versatile and fast. Right now I am screwing around with "Go" and "Rust"... it never ends!
Best wishes Dave!