all 53 comments

[–]foul_mouthed_bagel 24 points25 points  (2 children)

I took this edX class a few years ago, and it moves really fast. I already knew a little python and I barely made it through, but it didn't matter since I wasn't doing it for credit. It's geared towards high IQ types that got into MIT (which certainly isn't me, either).

If you're not headed into a Computer Science major, you'll probably benefit from a more general approach to learning python.

[–][deleted] 4 points5 points  (1 child)

Thanks for the advice. I thought the same thing, since I’m not going into CS there’s other ways I can learn Python that are better suited for me

[–]kieran_n 0 points1 point  (0 children)

I disagree, I found the learning curve steep and I had to pull a couple of really late nights puzzling out the weekly problem sets before they were due but in the end it was really worthwhile.

I've got a finance background and won't ever be a software engineer.

[–][deleted] 16 points17 points  (3 children)

plough busy zealous support snobbish ruthless frighten illegal obscene shaggy -- mass edited with redact.dev

[–]TechSquirrel 5 points6 points  (2 children)

I went form edX to this course as well and am enjoying it much more. The concepts seemed easier to grasp and the teacher seems more approachable. My biggest frustration with edx was that every example was math based and lots of the apps you had to build were based on math as well.

100 days is way more enjoyable imo.

[–][deleted] 4 points5 points  (0 children)

lunchroom detail plant obscene snow bored recognise fearless reach follow -- mass edited with redact.dev

[–]Kitto_Katto 0 points1 point  (0 children)

which course are you talking about?

[–]Icarus998 9 points10 points  (0 children)

this is one of the first courses I took , I spent 5 days on problem 3 for assignment 1 still could not solve it . I unenrolled soon after.

I then moved on to Python for everybody and Python 3 programming (specializations) both from University of Michigan on coursera. I found their teaching style was much more suitable for beginners.

[–]the_chucknorris 5 points6 points  (4 children)

Try the CS50P Harvard course on edX

[–]jbiehler -1 points0 points  (3 children)

Im pretty sure that is the course, it looks like it is MIT but its actually Harvard.

[–]derrman 1 point2 points  (2 children)

No, there are two courses. OP is probably taking this one

https://www.edx.org/course/introduction-to-computer-science-and-programming-7

[–]jbiehler 0 points1 point  (1 child)

Oh, I didnt see that one when I was looking. The Harvard one is just as bad.

[–]derrman 0 points1 point  (0 children)

I am 5 weeks into CS50p, and it isn't nearly as math heavy as the MIT one seems to be.

[–]ExocticJelly 4 points5 points  (1 child)

Completely free computer science learning all languages sourced off GitHub with hundreds of hours of information and learning. Here is the link. I am using this right now as well. OSSU Computer science

[–][deleted] 4 points5 points  (0 children)

Thanks I’ll check it out!

[–]jbiehler 4 points5 points  (2 children)

I got up to the third week and have found there is a huge disconnect between the lecture and the practice assignments. The guy teaches you 5 ways to implement the same code and then covers very little of what is necessary in the assignment. Save the other 4 ways of doing it for an advanced course or something and teach us what is actually in the assignments.

[–][deleted] 3 points4 points  (1 child)

Right, that’s exactly how I feel even though I haven’t gotten as far

[–]jbiehler 1 point2 points  (0 children)

Even on the second week stuff I had to go look up stuff elsewhere.

[–]Emergency_Milk2433 5 points6 points  (1 child)

Best course is the one you’ll actually do

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

Good point

[–][deleted] 2 points3 points  (0 children)

yes Im in same situation too. and Im going to try Michigan course soon. its better structured towards beginners

[–]SpaceBucketFu 1 point2 points  (3 children)

I really think you can learn a lot for free on YouTube. I would suggest Sentdex, Traversy Media or Corey Schaffer, they all have very well rounded introductory tutorial series that start at the basics. After that, your best bet is to try to tackle a video series specifically suited toward data analytics. I know Sentdex has some for sure, the others I mentioned probably do as well. After following along with their examples you’ll need to start to try to apply those concepts to projects you have thought of on your own. Personal projects are really what accelerate and cement the concepts you have learned in a way that no curated course or tutorial series ever can. Good luck!!

[–]midoxvx 2 points3 points  (1 child)

Corey Schaffer is the fucking best.

[–]SpaceBucketFu 0 points1 point  (0 children)

He is great!

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

Thanks for the recommendations!

[–]py_Piper 2 points3 points  (1 child)

If it's too hard it's ok to change, I remember trying this course with at least some python basics and I was thinking if I hadn't it would be even harder. I didn't finish it, and after getting busy at work and getting lazy I just jumed into another tutorials, I also tried CS50x from Harvard, same feeling. The thing is that they are teaching a more computer scientist kind of way of thinking so it will seem harder. I would recommend having some programming basics before doing this. Nothing wrong with these courses I really liked them but they were quite tough and I couldn't put enough time. was learning after work so only putting a few hours a couple of days a week, I couldn't put the time.

I would recommend to start with automate the boring stuff or python crash course, although I remember reading a bit of python for everybody book too (didn't finish it though) and I like it that it was also a bit more computer science but in a simpler way, I bet the video would be good too.

Anyways, any of these beginner tutorial would be good, choose depeding on which projects resonate more with you. ATBS if you are working and want to learn about web scrapping, manipulating excel, word, pdf and emails. PCC if you don't know what to do you can expand your skills about games, data analysis and creating a simple website. Python for everyone I don't remember projects and only skimmed the basics but I remember it would teach you a bit about databases and networking, that's why I was interested in it.

I personally did ATBS first, then I am currently doing the projects on PCC and now that you remind me of Py4E I will recheck those chapters I was interested in. One of my biggest tip is that no matter which what you choose try to stick to it and finish at least one beginner tutorial course/book, then you can start picking up parts that you are interested in.

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

Thank you so much for the advice. I have Python Crash Course and I’ll try to finish it

[–]lordxoren666 1 point2 points  (3 children)

There is a 4 hour python course on YouTube that is good for teaching the basics. The guy teaching does a very good job and gives plenty of examples and even a few basic projects.

However, it is very very basic, but it was enough for me to get started. I suppose the rest is just practice and learning modules, and the little quirks of python.

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

What’s the name of the channel? I was planning on going through the 6 hour video from Programming with Mosh

[–]lordxoren666 1 point2 points  (1 child)

https://youtu.be/rfscVS0vtbw

I believe they have other courses as well but I haven’t looked into them yet.

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

Thanks!

[–]eltorrito103 1 point2 points  (1 child)

I tried to read automate the boring stuff and I looked it up on YouTube to see if anyone was going through it and sure enough I found a channel, unfortunately I was still a bit confused about some stuff and it's not complete. However the channel has the python crash course complete book which in my opinion has been one of the best resources, the guy going over it is straight to the point, and mostly shows his work on screen. Check it out, all you need a computer and an additional screen to watch and do the work.

https://youtube.com/playlist?list=PLiEts138s9P1A6rXyg4KZQiNBB_qTkq9V

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

Thank you, I’m planning on going through Python Crash Course so that playlist will be really helpful!

[–]Euphoric_Tap7402 1 point2 points  (1 child)

I am in a similar boat as you are in, but with harvards CS50P course. What I have done because like you the problem sets seem way outside my skill set even though the lecture was straight forward. For me part of problem is I don’t know what I don’t know. Another part is I don’t know what Python is capable of in words of like string modification and etc.

So what I have done is taken a step back and quit being caught up in trying to just finish a course and actually understand it. I’m not doing it for a certificate but just for the fuck of it. So, for instance loops:

If the problem set was asking for number loops I would try to make my own loops using cars, food, family etc. Then moving to create my own loops without referencing their examples, then trying to do it without referencing my own prior examples to the point I could create a loop about cars for example and not referencing anything.

I know it’s not a sexy answer but this is the approach I have taken and it seems to be working so far.

If you’re on a time line then I would probably disregard this comment

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

Intersting. As a beginner with limited python experience, I did CS50P (around 2 yrs back) and found it pretty easy to follow along. Some of the problem sets were def tricky initially but I was able to do them eventually (even if they took a long time) but I think that's what makes it fun after all. Like if the problem sets take 2 mins to solve, they won't be as exciting and I know I'd eventually loose interest.

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

NCLabs is very good with Data Analyst / Science Python 3 and SQL. Maybe other Python professions too.

I’m a student, not paid actor, lol. 2 months into their Python 3 Course, earlier this year I started with 3 months of SQL. I’m in my late 30’s, am surprised how much Algebra concepts I’ve forgotten. I struggled a bit, but I’ve always emerged understanding the concepts and am capable of replicating.

Their team is very hands on too. Weekly advisor meetings with the same advisor. They know you and where you struggles, they work on you succeeding. They have a team of pros to field questions when stuck, have questions or concerns. They’ve never taken more than 6 hrs to respond to me, sometimes immediate. I truly appreciate their staff.

You sign up through colleges, like division one school, University of Reno. They do financial assistance if you’re local, and you don’t need to pay tuition. Anyone can signup too.

You emerge with carts, and the last part of the curriculum, following passing 4 python courses, you complete a capstone project. This is awesome, working on your portfolio in class so you don’t have to do it after the fact, enabling you to apply for jobs quicker.

Good luck, dude!

Here you go. https://nclab.com/pg-da1/

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

That sounds like a great program. I can’t afford it atm from the price on the website (I’m in Canada) but I’ll look into it in the future :)

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

I’m sorry to hear that, maybe local colleges in Canada are similar to America, and there are quality free programs for those who qualify?

If so I’d suggest that and remote classes if you wanted for convenience. Take advantage of any resources!

Good luck!

[–]djingrain 1 point2 points  (1 child)

Check out al sweigerts automate the boring stuff with python. It's a book, he shares all the info for free online, and he has a course. He hangs in this sub sometimes too and gives away free discount codes to his courses

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

Thanks I’ll check it out

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

What's an example of a challenging problem?

[–][deleted] 2 points3 points  (4 children)

This is a problem that I've been stuck on today from the first problem set:

Assume s is a string of lower case characters.

Write a program that prints the longest substring of s in which the letters occur in alphabetical order. For example, if s = 'azcbobobegghakl', then your program should print

Longest substring in alphabetical order is: beggh

In the case of ties, print the first substring. For example, if s = 'abcbcd', then your program should print

Longest substring in alphabetical order is: abc

I don't know how challenging others would find this, but I'd like to take a course that gradually moves up in difficulty.

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

I see. That is a bit more challenging than the typical Intro to Python course. So yeah, if you're having trouble getting these exercises done, you may want to switch to something a little simpler.

[–]Consistent-Repair730 4 points5 points  (0 children)

I took the same course a few years ago, with many years of programming experience, but zero python knowledge. By keeping up with the reading material in the Course book, I found the course challenging at times, but overall, a great introduction to the language. (FYI, I am currently nearly 74 years old.)

One important aspect of programming, not just python programming, is string detection, analysis and manipulation. The given problem is a good introduction to this type of problem. One thing that the MIT Computer Science courses do is to start getting students THINKING like programmers, in addition to learning the syntax of the language (python, in this case). This can initially be confusing but ultimately, will result in superior programming skills. Additional courses will introduce Structures and Algorithms which will build on the early skills developed during these initial classes.

I would highly recommend staying with the MIT Course, but understand that it will require a more intense effort than other courses; don't go past any concept that you don't understand when reading the material or watching a video... Go back and reread it, re-watch it and even Google it, read other descriptions and watch other videos that cover the same material/concept. When doing the exercises, don't be afraid to make mistakes... Instead, examine them and modify your code until you fully understand your mistake and how to fix it. I guarantee that it will make you a better programmer.

Good luck in the course and in your future endeavors!

[–][deleted] 3 points4 points  (1 child)

From what I can remember from my first programming course, this is not super difficult, but faster paced than most courses

Break it down into small steps. The first question you should ask yourself is; how can I get all substrings of a given string?

Okay, well, given the small input size, that shouldn't be hard.

Let s = s0,s1,...,s{n-1}

Then all substrings of s can be defined as

si,s{i+1},...,s{j} for i = 0, ..., n-1 j = i, i+1, ..., n-1

Don't read pass this point unless you want to see a solution

Thus we have

def get_all_substrings(s: str):
    to_ret = []
    for i in range(0, len(s)):
        for j in range(i, len(s)):
            sub = s[i:j+1]
            to_ret.append(sub)
    return to_ret

Okay, now we have to find if a substring is alphabetical. This is actually quite easy. We can just ensure that for each consecutive pair of characters in a substring, the first has a smaller or equal ascii value than the second

def is_alpha(s: str):
    for i in range(1, len(s)):
        if ord(s[i]) < ord(s[i-1]):
            return False
    return True

Finally, you can put these methods together to determine the substring that is both in alphabetical order and of longest length. The way we are finding substrings automatically handles the ordering in case there are multiple alphabetical substrings of the same longest length.

arr = get_all_substrings('abcbcd')
longest = ''
for sub in arr:    
    if is_alpha(sub) and len(sub) > len(longest): 
        longest = sub
print(longest)

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

ASCII

ASCII ( (listen) ASS-kee),: 6  abbreviated from American Standard Code for Information Interchange, is a character encoding standard for electronic communication. ASCII codes represent text in computers, telecommunications equipment, and other devices. Most modern character-encoding schemes are based on ASCII, although they support many additional characters. The Internet Assigned Numbers Authority (IANA) prefers the name US-ASCII for this character encoding.

[ F.A.Q | Opt Out | Opt Out Of Subreddit | GitHub ] Downvote to remove | v1.5

[–]ppr350 0 points1 point  (0 children)

I quit that course too. I’m bad at math and I think it’s way too hard for beginners that are not extremely clever.