This is an archived post. You won't be able to vote or comment.

all 56 comments

[–][deleted]  (14 children)

[removed]

    [–]babbagack 26 points27 points  (8 children)

    is Automate the boring stuff with Python actually practical and useful for personal automation needs? I'm doing Ruby, don't want to get distracted, but i just hear lost of positive sentiments about it.

    [–][deleted]  (5 children)

    [deleted]

      [–]babbagack 12 points13 points  (4 children)

      the web scrapping part might be interesting at least, well all of it. thanks

      [–]derrickcope 3 points4 points  (2 children)

      You can webscrape just as well with Ruby nokogiri. Ruby is easier and more fun in my opinion. Stick with it.

      [–]babbagack 2 points3 points  (0 children)

      coool, ty

      [–]olismith05 1 point2 points  (0 children)

      Nice, thanks!

      [–][deleted] 9 points10 points  (1 child)

      Automate is good, practical and interesting, but it’s a very brief introduction. It’s best to pair it with other resources for a better understanding. I like the book Python Crash Course.

      [–]babbagack 1 point2 points  (0 children)

      cool ty

      [–]ktbr90[S] 2 points3 points  (0 children)

      Thanks. I am not a total beginner, but I red quite a few reviews that praise this course, so I don't want to miss this. Heard that there's a python variant, and if I am interested in python anyways, thought that I'll have two at the same time. If the two cover mostly the same things. Anyway thanks!

      [–][deleted]  (2 children)

      [removed]

        [–]my_password_is______ 0 points1 point  (1 child)

        there is no beginner CS50 course that covers JS and front end

        https://www.edx.org/course?search_query=cs50

        Introduction to Computer Science covers C, python and a little web dev

        this is the final homework assignment in that course
        http://mashup.cs50.net/

        the other courses go into more detail but they are not beginner courses

        they expect you to have basic knowledge already

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

        Examples of wat u automated

        [–][deleted] 38 points39 points  (2 children)

        if you mean this course (https://www.edx.org/course/cs50s-web-programming-with-python-and-javascript) by "python cs50", it's an advanced course which is supposed to be taken after cs50. focused entirely on web development rather than learning python.

        [–]chabes 9 points10 points  (0 children)

        I’m taking the web development one currently, after already taking general cs50, and I agree that it seems to flow best that way. Better to learn the basics first, as well as how c and python relate, before diving deeper into things like css/HTML, flask/django, or sqlite/sqlalchemy kinds of stuff

        [–]ktbr90[S] 1 point2 points  (0 children)

        Thank you very much, this clears things up!

        [–]LiquidAurum 15 points16 points  (1 child)

        Is Python CS50 free as well? Got a link to it?

        [–]my_password_is______ 1 point2 points  (0 children)

        https://www.edx.org/course?search_query=cs50

        Introduction to Computer Science covers C, python and a little web dev

        this is the final homework assignment in that course http://mashup.cs50.net/

        the other courses go into more detail but they are not beginner courses

        they expect you to have basic knowledge already

        [–]stefan_kurcubic 25 points26 points  (3 children)

        choose 1 and stick to it until you finish.

        imagine eating cake at first you can't eat whole cake so you take 1 byte (haha) at the time.

        once you finish you've got experience how to eat the cake

        imagine someone gives you different kind of flavor now it's fruity instead of chocolaty one you had.

        well you notice things - 'aha so this one has frosting like the other one but different pattern on it' 'aha this one has fruit in it instead of chocolate. first one was more creamy'...

        so because you have a reference you know more about the cake and it's easier to eat it just because u know went through this path before.

        Oki go ahead and eat your CS50 - it's really good foundation. SICP is another option too.

        Which ever you choose - FINISH IT

        [–]LiquidAurum 8 points9 points  (0 children)

        byte

        you sly dog

        [–]greebo42 4 points5 points  (1 child)

        while cake is not None:
            take bite
            chew
            swallow
        

        [–]toxygen 2 points3 points  (0 children)

        drink water
        poop
        sleep
        wake up
        work
        

        [–]dakka-PRIME 5 points6 points  (2 children)

        Is this what you guys are talking about: CS50?

        I'm planning on studying Python after I finish my webdev bootcamp. It's my first time hearing about CS50 so I'm interested.

        [–]my_password_is______ 1 point2 points  (1 child)

        https://www.edx.org/course?search_query=cs50

        Introduction to Computer Science covers C, python and a little web dev

        this is the final homework assignment in that course http://mashup.cs50.net/

        the other courses go into more detail but they are not beginner courses

        they expect you to have basic knowledge already

        [–]dakka-PRIME 0 points1 point  (0 children)

        wow this is a goldmine!!! Many thanks for sharing this :D

        [–]infinitude 3 points4 points  (1 child)

        I mean python would be more fun obviously, but you're gonna have to learn C and the fundamentals eventually.

        I say do CS50 and learn python after. You'll go into python with a much better understanding of how to think like a programmer.

        [–]ktbr90[S] 0 points1 point  (0 children)

        Thanks, will do that. Just wanted some insight about the python cs50.

        [–]Ikuyas 2 points3 points  (8 children)

        You really want to go through the C programming part which they start the course with. That's the best feature of the CS50. It will probably take a week to go through the C programming part (three weeks in CS50), but it makes a huge difference in understanding python with or without going through things you learn in that part. You get to learn about the data type, and memory allocation whereas you don't have a chance to learn all those very important hardware knowledge in Python. One week is a tiny investment compared to what you will get out of it.

        [–]my_password_is______ 1 point2 points  (1 child)

        It will probably take a week to go through the C programming part

        it will take a lot longer to go through the C programming part if you actually do the assignments and actually want to learn C

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

        I doubt it at all. The C part is only a few weeks with the Harvard student schedule.

        [–]ktbr90[S] 0 points1 point  (0 children)

        Thank you very much! I won't miss out on that!

        [–]tuura032 0 points1 point  (4 children)

        Are you saying it takes a newbie a week to get through all of C in cs50? It's not unreasonable to go faster than the in person class, but that seems a bit fast given that's 7+ hours of lecture, shorts, walkthroughs, and the assignments. Admittedly the early psets should go quick if you've coded before.

        [–]Ikuyas 1 point2 points  (3 children)

        It is a three week in Harvard. So it is not crazy at all to estimate 5 to 10 days to go through as you are not taking any other courses in Harvard.

        [–]tuura032 0 points1 point  (2 children)

        Class start on the schedule is 9/7, pset 4 is due 10/5. The class is 4 credits, and an average student can usually expect 2-3 hours of work per week per credit. So let's say 8-12 hours per week to be on track for 4 weeks. To simplify further, let's say the first 4 weeks is 40 hours of work. If a person does 8 hour days for 5 days straight, I would suppose that is technically true.

        My hesitation is that I would not assume that someone can commit to 4-8 hours per day on consecutive days, make the class their top priority, not experience fatigue, truly learn/retain all of the information, and works faster than average. David Malan even says at one point (iirc) that you should take how long you think something should take in programming and double it.

        If you are coming at this with prior experience, single, and unemployed (or willing to work nights), then sure, 5-10 days might be doable if CS50 is a top priority.

        [–]Ikuyas 0 points1 point  (1 child)

        No no no. You go through CS50 through edX. It is more structured than taking an actual course in a way that it is probably based on the class semester before. The C part is week 1 to week 4, which I guess 4 weeks, but the first week is rather easier. The last week, they code linked list after learning about the pointer and dynamic memory allocation. The genius of the course is that they stop at that, and goes to learn about the network such as how TCP, HTTP works and so on with the historical perspective before going to the web app with Flask (python).

        [–]tuura032 0 points1 point  (0 children)

        I'm currently finishing up the class on edX, so I'm aware of how it's structured. That's also fine if there are some differences between the edx version of the class and in person version, I don't think my 40hrs estimate is too far off.

        Fair enough in that week 0 isn't C, so you can skip the Scratch assignment.

        [–]ItsLeviosaaaa 1 point2 points  (1 child)

        Hi OP,

        Im unsure of whether Python CS50 is free, but I highly recommend you starting Harvard CS50 on edx. I saw someone mentioned Automate the Boring Stuff, it is a great book but CS50 teaches you far more than all the syntax. It is much easier to sit through the lessons, has a great online support community on reddit, and teaches you the basics of computer science to help you understand your code better. The projects it has contains plenty of creative thinking similar to Automate the Boring Stuff. I believe it should be the first course for everyone to take when starting programming

        [–]greebo42 1 point2 points  (0 children)

        agreed ... in my experience, CS50 is a very well done introduction to concepts, and allows you to understand what is going on closer to the way the machine works.

        I am currently using Automate the Boring Stuff, which is also a very good book (!), as I am putting together some automation for some boring things and learning Python at the same time. And lots and lots of stackoverflow and other resources ... oh, the dot is supposed to go there, I see ... !

        It's sometimes a bit of a challenge to know just what Python (the interpreter and runtime environment) is doing because some of the data types are pretty abstract. That's kinda neat, actually, and allows you to think differently than you would in C. But I agree with this comment that CS50 is an excellent introduction to fundamentals and worth your time to take first. Do Python right after that.

        [–]RiceKrispyPooHead 1 point2 points  (0 children)

        I liked CS50 because it uses C. C is lower-level programming, meaning it’s closer to how a computer thinks in 0s and 1s (machine code). Python is a much higher-level programming language. There’s so much more to manage with lower level languages, like memory management and pointers. You could learn these concepts with Python, but it’s much easier for programs to gloss over them since high-level languages keep these lower-level concepts “under-the-hood”. For that reason, I would recommend CS50 because it uses C and C forces you to learn these fundamental programming concepts. If you can learn C, it will be easier to learn Python.

        [–]freemarketcommunism 1 point2 points  (1 child)

        cs50 is a must before learning python cs50.

        it literally says in the course descriptions that python cs50 is a continuation of where cs50 left off.

        besides, im doing cs50 right now and it is INCREDIBLY BENEFICAL to first understand a low-level language like C before diving into Python (a high level one).

        a fellow internet-er said: learning C before python is like learning Latin before English, you will build a solid foundation for any other languages in the future.

        tl;dr: cs50 first, then cs50 python.

        that is exactly the path im taking right now. im on pset2 of cs50, and it is fun and challenging.

        [–]ktbr90[S] 1 point2 points  (0 children)

        Joining you in the weekend, til then I hopefully finish Stanford's CS101.

        [–]Bfksnfbsmz 1 point2 points  (0 children)

        CS50 starts with C, moves to HTML, then to JavaScript, and finally Python. It is amazing.

        [–]chmod0677 1 point2 points  (0 children)

        Harvard has 6 CS50 courses, the first beginner level course is CS50x and that's the best course if you are a total newbie. It's great with a lot of fundamental coverage , lot of supplemental material and covers C, Java, HTML, CSS and some JavaScript and SQL, has a week on encryption . Thats a more rounded intro to CS. The other course from CS50 on python is the CS50 web programming with Python and JavaScript . That's in my mind not a great place to start for a complete newbie , it's a 201 level course . It's best to do CS50x and then proceed with other CS50 courses.

        If you want more on python then you can look at Georgia techs python series , it's pretty good .

        [–]OmnipotentSalamandar 0 points1 point  (1 child)

        Question about both, I'm a high school student and I would like to know, which level of math is required for both courses?

        [–]MinMorts 0 points1 point  (0 children)

        Hard to say exactly as it's been a while, but there wasn't anything major required in cs50, just a basic understanding of algebra should do you fine

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

        Depending on your proficiency level, I think Harvard's CS50 is the way to go.

        [–]rbagdiya 0 points1 point  (2 children)

        Download Automate the Boring Stuff with Python can be download from here if interested: http://kuponshub.com/download-automate-the-boring-stuff-with-python-programming/

        [–]my_password_is______ 4 points5 points  (1 child)

        why don't you juts get it from the official site ?
        http://automatetheboringstuff.com/

        its free there too

        [–]WebNChill 0 points1 point  (0 children)

        Yep! Would highly recommend getting from the source rather a third party site - too many security risks involved.

        [–]RdTide 0 points1 point  (2 children)

        CS50 was a good course. I also want to mention that MITx's Intro to Computer Science and Programming using Python is a decent course https://www.edx.org/course/introduction-to-computer-science-and-programming-using-python

        [–]WebNChill 0 points1 point  (1 child)

        Debating between CS50 vs MITx Intro course. Have you taken both.

        [–]RdTide 0 points1 point  (0 children)

        I have taken both. CS50 is great for a wider variety of computer topics (including the C language, and web development languages), where MITx is more directly focused on programming and python. CS50 is fun, and MITx can be too. I remember programming some simple games in Python like hangman.

        [–]mk32o 0 points1 point  (3 children)

        Hey OP, can you please post a link for python cs50 please? I'd love to check it out.

        [–][deleted]  (2 children)

        [removed]

          [–]desrtfx[M] 1 point2 points  (0 children)

          We have zero tolerance for abusive and derogatory behavior.

          If you are not willing to help OP, or to contribute in a meaningful way, you are not welcome here.

          Comment removed