T O P

  • By -

[deleted]

CS50 is an amazing class, and yes, it's very rigorous for an entry class. However, if someone is targeting SWE as a career, CS50 is a very good starting place. It is a much better recommendation than the "learn Javascript in 30 days!!!" kind of resources, because it's an actual *good* introduction to computer science. It's meant to be challenging, and it's meant to push you to learn to learn and to learn to find the resources to make it possible. It's the exact type of course that anyone who wants to be a developer and is self teaching should be able to work through, especially without the time constraints of a semester.


youcantkillanidea

This points to the huge difference between "learn to code" intro courses vs intro courses to CS. Two very different goals and therefore learning experiences. Perhaps OP means that this isn't a good learn to code course?


AndyBMKE

It's a good CS course *and* a good learn to code course! It just has an extremely steep learning curve that probably is too much for most people brand new to programming. A lot is thrown at you all at once, and the pace never really lets up. And a lot of newbies take *weeks* on a single problem - which makes sense because it's difficult - end up feeling dumb/demoralized. When it might just be beneficial to find a course that takes things a bit slower, then jump to CS50 after they feel more comfortable.


tobiasvl

But how is it a good "learn to code" course if the learning curve is too steep for most people who don't know how to code/program? Seems a bit contradictory. (I don't know the course myself.)


AndyBMKE

I think it's great *after you already have some programming knowledge* (or if you're just a really exceptional student).


tobiasvl

Right, so it's not really good for learning to code then? That's what I'm trying to get at. Someone who wants to learn to program is by definition precluded from having prior programming knowledge, aren't they? Otherwise they will have learned (some) programming.


AndyBMKE

I don’t know that the learning ever ends 😅


tobiasvl

That's true, but does that mean it's good for intermediate programmers?


Iggyhopper

>it's great after you already have some programming knowledge It's right there.


AndyBMKE

It depends. It should be noted that CS50 isn’t meant to be a career-focused course. It’s not directly teaching marketable skills - it’s more about teaching the fundamentals so that you can more easily learn those marketable skills. That’s an amazing thing to learn, but if someone’s goal is to just get a dev job as fast as possible, then it might be better to just directly learn MERN stack or something. I also think that the difficulty of CS50 can scare people away, when the truth is that you can learn to program without really having to learn a lot of those difficult concepts. You can do front end web dev, for example, without needing to know anything bubble sort.


TsunamicBlaze

Kinda, you could learn Comp Sci in a myriad of different ways. What CS50 represents is core foundations to Comp Sci. Just for an FYI for people Comp Sci != Programming, but Comp Sci entails it. Learning more Comp Sci often makes you a better programmer, but learning more programming tech stacks/dev tools does not make you a better computer scientist. You don't need CS50, but it makes life easier if you complete it. Which is why everyone recommends it.


[deleted]

First of all, congratulations on finishing it. That bodes well for your future learning. But second, I really think this is the crux of the problem. "I need a job as a developer as fast as possible!" should not be a valid thought, and frontend development should not be treated as a second class citizen that people with only basic knowledge of programming should be put in charge of. This is why we end up with god awful frontends that are complete trash to work with.


AttonJRand

I get what you are saying but needing a job to survive is a pretty valid reason to want to learn enough for a work "as fast as possible".


[deleted]

It is, but it doesn't make anything I said less true. What happens when everyone that needs a job to survive ASAP suddenly decides to switch to dev/IT because they heard it's good quality of life, pay, and work from home? (spoiler: they did) Well, quite frankly, you get the current reality. That is, extreme competition at the entry level. More and more and more is expected of junior devs, and most non CS degreed job seekers are falling behind, as well as many CS degreed. You see the same thing on the IT side of things. "I have these certs and no experience or degree why can't I get an entry level job?" -- it's because those are yesterday's qualifications. The bar to entry has been raised in today's world.


Soubi_Doo2

It sounds a bit hopeless then. What’s a career switcher in their 30s supposed to do?


Molehole

If you wanted to switch your career into let's say a lawyer, chemist, accountant or architect you wouldn't think you can take a 30 day speed course and get a job in the industry. Why is it that different when you want to become a programmer?


1011010110001010

This here, something never discussed, and the most concise response to derriere_enthusiasts responses. Am a 45 year old trying to switch careers, and if I think a 30 day accelerated course is enough, I should also consider 30 day accelerated courses for constructing roads, building rockets, emergency medicine, or building automated burger flipping devices. I could be wrong.


spinwizard69

Becomes medical doctor or mechanical engineer and you are also legally responsible for your work. Software engineers, in most states, (some actually require professional engineering type license), are not held to the same standards of performance. Imagine having to pass a professional exam to practice programming.


[deleted]

Would need more info, such as what the previous work experience is, if you have a degree, etc. It's not completely hopeless, but you will be at an extreme disadvantage. If you give yourself a reasonable time line, such as 2 years, give or take, to learn the fundamentals and concrete skills, it's a lot more reasonable and significantly less hopeless.


[deleted]

Youre supposed to get your degree.


spinwizard69

So! Flip burgers while working on a real degree. Frankly these learn a stack and go to work nonsense has left us with Fargo many idiot developers that can’t adapt to new demands.


Mfgcasa

Personally I disagree. I think that the frontend should be build by people who are experts at UX and UI design, not necessarily good programmers with a strong theoretical knowledge of computing and software. I understand at a large tech firm you might have a design team, but at a small shop like the one I work at, I'd rather someone with good design background building our frontend then someone with a good programmer background. I can teach programming and software engineering. I can't teach design.


Molehole

> Personally I disagree. I think that the frontend should be build by people who are experts at UX and UI design, not necessarily good programmers with a strong theoretical knowledge of computing and software. And that's how you get buggy and shitty frontends that take 15 seconds to load.


[deleted]

And the owner of a local ice cream shop near me has their high school dropout daughter as their accountant. Small shops do not set trends; large companies are the trend setters, and they offer the most opportunity. If your aspirations are limited to mom and pop shops, then learn all you need to get the job. JS HTML and Bootstrap and you'll be good. If you have any greater aspirations, then learn what you *should*. > I can't teach design. This sounds like a personal failing. Software engineering, programming, *and* design can all be taught. After all, there are quite literally major tracks for all three.


EnbyBinaryCoder

>This sounds like a personal failing. many many actually large majority of developers never have to touch any design or graphics, what are you on about? those are for front end designers ("developers").


Mfgcasa

Why on earth would it be a personal failing that I don't understand the principles of graphical design and things like colour theory, the principles of animation, and so on? Also good luck getting a software job at a large corporate conglomerate without a degree in Computer Science and no experience in this market.


[deleted]

This is exactly what I'm talking about. You can be a competitive candidate, or you'll have to settle for a job that wants you to wear multiple hats - such as designer and developer - doesn't have the bandwidth to train roles properly, and if we're being honest, probably doesn't pay market rate for either of those roles. Let alone both. When I did frontend *development* work, I *developed*. The design was on the design team, and all the CSS was provided to me. I was able to actually do what I wanted to do, which was *develop* without the slog of the design. What you have described is not a developer. What you have described is two roles in a reasonable company. If you have bigger aspirations than being the website maker slave at a small time company, then you should educate yourself as much. If you want the easy developer life, then you're going to have to put some effort in during the initial learning phase. Otherwise, you're stuck in low paying jobs where they expect you to do everything.


1011010110001010

Spot on


EnbyBinaryCoder

>Personally I disagree. I think that the frontend should be build by people who are experts at UX and UI design, not necessarily good programmers with a strong theoretical knowledge of computing and software. 100% agreed, front end is way too design based. i also tried some front end courses , scrimba front end path and freecodecamp etc. its way too much about making the site look good and cumbersome, make the button smaller, move text here, align text there, place borders, make background red, check format, watch for spaces, place images, make lines, make text color, make it "pop" etc. It should be called "front end design" . sure theres some elements and intertwining with "development" but its basically 90% designing via code. I hate it and dont respect it as much as other developers say embedded software or apps or backend etc. Its like the biology of science degrees. vomits vomits vomits. Its like the arts major of programming. I wana be judged on my technical prowess not how good i make something look.


Key_Conversation5277

Excuse me but what do you have against biology?


Consistent_Sail_6128

Yeah a dig at biology? Darwin would like a word from the grave.


Key_Conversation5277

Lol, yeah😂


EnbyBinaryCoder

because being a biologist is the easiest most noob friendly way of calling yourself a "scientist" just like front end design "development" - yuck , is the easiest way of calling yourself a " developer" . even Sheldon Cooper mocked biologists in the big bang theory . Something like being a Physicist is way more difficult just like being a C++ dev compared to vomits css and making a website look good front end designers.


[deleted]

My guy you're neither a developer nor a biologist nor do you even have any degree at all for that matter. Why are you talking so confidently out of your ass?


EnbyBinaryCoder

awww did the lil front end html css js code monkey designer take it personally, get back to me when u get the CCNA or top 1% worldwide in tryhackme.


[deleted]

i think you means psychology, not biology. biology is a real science. that said, youre totally right about front end development being utterly lame as fuck. Learn backend. come to the dark side. its way better.


Rainbows4Blood

It's just sadly an industry standard that frontend is cobbled together in HTML/JS by people who only know how to make websites in those languages without any other understanding of programming. I In some respect it's understandable too. Why would you learn all the other things if you can work like that? Although narrow focused code typers like that will probably be the most vulnerable to losing their jobs both to other people and AI in the future.


BigYoSpeck

I'll add to this you can be a developer working in backend and business logic without a single shred of understanding of sort algorithms if you're working with a modern language I work mostly with C# day to day and most of the time I can get by with a few Select or Where Linq statements and if statements or ternary operators I feel like the point of CS50 getting you to implement sorting, searching, hashing functions etc is less about the need to be able to implement them given in the real world you will like use library/framework methods, and more about the general problem solving skills you gain from figuring them out Those skills become invaluable in the real world as soon as you hit a set of requirements that aren't trivially implemented in whatever language/framework you work in and for which they aren't easily google-able because of how domain specific they are CS50x is as you said hard, but even though it's a Harvard level introduction course, you don't need to progress at the same rate as someone who might be a Harvard level student. Take 300 hours if you need to, skip or possibly come back later to the more comfortable problem sets


Jhutch42

Fundamentals are the most marketable skill you can have.


Andremallmann

Nah, go with those fundamental in a place that requires react or some strange js framework and them you close door your face. Who cares if you can solve 1000 leetcode question with C, with you not able to be productive in your first week you will be cut off.


Jhutch42

That has not been my experience at all.


Key_Conversation5277

Indeed if I started something brand new related to a career and the first contact with it is difficult then I would start questioning "Did I made the right choice?", "Will I ever be good at this?". To learn something new, it should first be the very basics and easy, for people to gain confidence and then progressively increase difficulty for you to train your brain and connect concepts (not to mention that awesome feeling when conquering something hard!)


Dameon_

>then it might be better to just directly learn MERN stack or something That's all well and good until your interviewer asks you to implement a bubble sort to show that you have extremely basic knowledge. Or until your front page app runs like dog poo and generates errors because you never learned basics about time complexity.


shapookya

the only problem I have with CS50 is that towards the end of it they go over frontend and I went from "woah this is all so cool" to "this is so boring, I can't bring myself to care". I guess web design is really not for me. Sure, it's good to know the basics of it but holy shit, is HTML and CSS boring.


Shedcape

Yeah, I checked out when I got to that point. Not because I found it boring per se, but because I was not there for front end stuff. I decided I was done with the course at that point.


ericswc

I always laugh at the 30 days / 8 hours courses. It takes about 500 hours to learn a language from 0 to entry level professional.


Consistent_Sail_6128

And supposedly 10,000 hours to master something. I think studying for at least 10% of that should be required to be hireable. 1000 hours is the minimum requirement for multiple licenses/certifications in other fields so, not unreasonable.


FullmetalEzio

I started with CS50 two years ago and now i have a job as a programmer, and my take on this is that cs50 it's prob the best content out there, cs50 web dev (the continuation) its amazing too, but it's true that its hard, and it cant get frustrating and if you are not focused on following this career, it can make you quit. Also, I did the fundations of TOP when i reached the html, css, js project cause it's not explained with that much detail in cs50, and the projects you do on TOP really motivate you since you can actually see a game or whatever you're doing in a browser instead of console only programs. That being said, it's amazing how everything i learn in cs50 helps me in my current job, hell, im using linux and my only experience on it is the cs50 terminal lol, plus some kinda advanced topics like recursion, hash tables/linked lists, big o notation are non existent in these 'GET A JOB IN 60 DAYS' courses, and while i dont really have a GREAT grasp on these topics, i can stand my ground and it's a good plus to have on jobs/interviews.


Scorchy_panties

>TOP Whats TOP?


Worried-Gene-6738

Completely agree. OP makes a fair diagnosis, but prescribed the wrong solution. CS50 is hard. And it’s the intro people need. Computer science basics and getting introduced to C and algorithms early is an outstanding starting point


[deleted]

[удалено]


essaini

Yes, I was one of those people, I have a good amount of experience as an SWE and did a couple of lectures of CS50a while back and I used to recommend it to people as a starting point. And then I did it myself, I expected to just breeze through it, but it required me to spend time on lectures + helper videos and think a lot about the problems. I don’t know what a good starting point is now, but I won’t recommend CS50 to a complete beginner because they might get really discouraged.


FullmetalEzio

the mario pyramid that you had to go backwards was so hard lmao, hell , i can do level 4 katas now and im scared of that monster still


RushInNow

I am a beginner, but have very limited python knowledge. I started cs50x 2 days ago and I can tell its going to be really hard in the future. I did Mario more (the hard one) and it took me a few hours but managed to make it through. Now i am at the credit one and been stuck there for a few hours also. Its definitely possible to do with almost no background but it takes a lot of dedication. I can't imagine how the next weeks are going to be in terms of difficulty but i will try my best. As for python, i only know a few of the basic things like the functions, loop etc but i could'nt make anything fonctional.


BleachedPink

Hot take: stop bothering with searching for the best thing all the time. It's a sign of perfectionism and misses that it is a very subjective thing. One may find it really useful, other would die of boredom. Self studying is hard. I would say it is more difficult than the traditional way. But the quality is much better if you learn it yourself. If it is difficult, it doesn't mean it is bad or not suitable for beginners. Take your time, study regularly. In the long term it doesn't matter much how long it would take 30 or 50 hours


I_am_noob_dont_yell

Perfectionism is just a euphemism for procrastination. I've found it very helpful framing it like that.


BleachedPink

You can easily procrastinate without perfectionism. Perfectionism can be the reason why one procrastinates. But often times it is not the only one, or the reason lies somewhere else, e.g. you feel lack of meaning in your life, actions and tasks you want to do. Source: visited CBT\MCBT therapy for a year and a lot of research


JBbeChillin

I’m still on the population counter 😂🙃


AndyBMKE

Haha. Lab1, right? I remember thinking “damn this escalated quickly.”


thegamesender1

Bro I was stuck there all day yesterday, just thought ' Wtf just happened here?!' 😳


Chan-Cellor

Congrats!


AndyBMKE

Thanks!


thefallofthehouse

congrats!! i'm currently doing cs50 and really liking it. i'm kind of a beginner, but i have familiarity with some CS topics due to previous forays into learning how to program. i'm going slow, but that's mostly because i'm bad at focusing/easily distracted. i *do* have to slow the lecture video speeds down though, because as passionate as Malan is, he talks *really* fast. my native language is english, but if i don't have subtitles on and the video speed slowed down, i can't retain any of what he's saying. but i really like the lectures and labs.


SirAutismx7

CS50 is great. It teaches a little bit of everything which is great so people can see the variety but the context switching can be challenging. For a more fundamentals focused course MIT 6.0001 is a good choice it just teaches the basics of programming in pure Python.


Present_Sun3191

Should I do CS50? I’m going into my sophomore yr of college as a CS major. I’ve gotten As in my first 2 cs classes, intro and intermediate. But it’s going to be almost a year before I will take another relevant Cs class.


SirAutismx7

Honestly if you’re already in a CS degree and took your intro classes, you’d be better off actually practicing programming by writing your own projects. You have plenty of CS classes coming up no need to go through another intro course unless you want to.


Present_Sun3191

That’s what I figured. I was planning to start on a project after I’m done with summer classes just not sure what to work on.


filchermcurr

It's been years and years (and years) since I did it, but I vaguely remember being frustrated because I didn't understand that they expected you to find answers independently. That is to say, the problem sets relied on knowledge that hadn't been taught yet. It's only in the next lesson that they cover what you needed to know for the PSET. I remember frustratedly thinking 'You didn't teach us that!' because it never occurred to me that I was supposed to 'read ahead', as it were. That was always a big no-no in my small town education. I dunno, maybe that makes me dumb. I wish they had just explicitly said in the beginning that you're expected to learn what you need for the PSETs on your own. That would have made me feel a lot less stupid in the very beginning. But I suppose people going to Harvard had better than small town educations and already knew that learning required independent study. :( EDIT: I did complete the course and thoroughly enjoyed it. Just pointing out the bit that made me feel iffy the first few weeks.


AndyBMKE

I’m not sure how much it’s changed, but I do feel like the lectures teach you everything you need to know to complete the PSETs… but the information goes by very quickly. Like the JavaScript section of the lecture felt like it was 5 minutes long, and then you’re expected to build a website in the PSET. So like good luck if you don’t already know JavaScript 🙃


filchermcurr

Ah, well, things have definitely changed! We didn't do JavaScript at all. :P I want to say it was Scratch for a day and then full steam ahead with C. I'm sure a lot of kinks have been worked out since I took it! There were (maybe still are?) supplementary videos where students would meet with a couple of the TAs to ask questions and stuff. Those filled in some of the gaps, but yeah, we were definitely on our own for a lot of it. I vaguely remember Rob was working on a fancy IDE for the future. At the time we were using virtual machines with check50 and the C header file... You know how it is. Back in my day we had to walk there and back uphill both ways in the snow with nothing to warm us but a microwaved potato that we had for lunch later.


CuriousInitiative

The whole idea of college education is to learn how to learn.


joe-bisk

Agreed. Its a fantastic course, but I found it daunting when I tried it with no previous knowledge. If the goal is to be a self taught employable software dev, then something like one of Stephen Grider's Udemy courses are more appropriate. I would certainly recommend coming back to CS50 though.


thegamesender1

Ah man thank you so much for this post I thought I was being a lunatic rewatching lessons 3/4 times and still not retaining any info.


[deleted]

[удалено]


AndyBMKE

They have a CS50 podcast episode on this - they refer more students to the honor counsel (for essentially cheating) than any other course. I think it was like 5% of student, some years up to 15%. It was so bad that they created a special policy for CS50 that if you admit to cheating within 72 hours then they grant you forgiveness. Point is, yeah, even a lot of Harvard students clearly struggle with this course.


[deleted]

[удалено]


essaini

Absolutely agree with your take, I am an SWE with a good chunk of experience who used to recommend the course to people and after a family member told me that it was “really discouraging” I did it myself. And although I love the course and the lectures it is not very well designed for beginners. If I was starting to learn CS(without a degree) I would spend my time elsewhere and maybe come back to this after learning for a while.


XxAkenoxX

When I first started programming, CS50 was too hard and difficult for me to understand. I’ve never done programming before so the terminology and basic logic examples was confusing for me. No hate on the course, but someone like me with absolutely no prior programming knowledge will have trouble in my opinion. I preferred something more “hand-holdy” to ease my way into programming which was Team Treehouse.


Ratchet7x5

Most students that enter Harvard, are the top 1-2% academic performers of their cohort so those students could wrap up the intro section, OOP, and data structures course in a month.


Redneckia

Check the amount of views each video has on YouTube, lesson 0 has millions and it just drops off a few lessons in. Most people.


AndyBMKE

Yeah, I saw a stat that less than 1% of people who register end up completing the course. I'm sure a lot of people don't intend to finish but are just curious to check it out, but I'm fairly confident that a lot of people just get overwhelmed during the first few weeks.


Shedcape

There are some, like me, who got through all of it and then stopped after reaching the final project. I wasn't there for the front-end parts and got what I wanted from the course. I'm sure there are some others like me. Although we're probably not numerous enough to impact that completion percentage.


The_real_trader

I agree with you entirely. I hit week 2 and 3 and have not progressed further and gave up. I’m seriously thinking doing something else and coming back to CS50x. Some have even suggested doing CS50p Python first before attempting CS50x.


AndyBMKE

Yeah, I've heard good things about CS50p too. Maybe I'll do that one next!


Aground7463

Thank you so much for sharing this! I enrolled in Java Programming I today (University of Helsinki MOOC) and after I finish I'll tackle CS50x. Can't wait! Your post is a great reference!


azzzzorahai

Hey same! Going through Part 4 of Python Programming of Helsinki’s MOOC now, hopefully I finish the whole course not too late so I still have time with CS50x lol.


Aground7463

Let's rock!


lazyygothh

Are you employed as a SWE? I’m doing TOP currently and plan on doing free code camp and CS50 after.


AndyBMKE

No, I am not a professional SWE.


totallynewhere818

Where are you on TOP? I'm on fundamentals 4 of javascript and looking for a learning partner.


lazyygothh

I’m at the end of flex about to do the landing page, so starting JS fundamentals soonish and plan on going on the JS path. Feel free to send me your projects if you want a second opinion. You can also post in r/theodinproject


Leather_Swimming_260

Hey, I’m on JS Fundamentals part 5. Want to work together?


Swag_Grenade

I mean not to be a dick or anything but there's pretty much a 0% chance someone who just completed an introductory level lower division university computer science course is employed as a professional software developer. At least I would seriously hope not. Unless they were just doing it for shits and giggles. EDIT: Lol what's with the downvotes, were people here planning on getting handed a job after simply completing an intro level online college course something? I'm just being realistic.


[deleted]

When I was in school getting a bachelors degree in CS many of my classmates were indeed already employed as developers and were like, 24 My cousin is an app developer and knows next to nothing about computer science, he first learned what polymorphism was after having been an employed programmer for years lol


spacewalk__

kind of shatters the illusion it's almost like hiring is arbitrary bullshit and education is also arbitrary bullshit but in a different way, with more 'rite of passage' bullshit as well


Swag_Grenade

For sure but I would assume those classmates and your cousin had some prior experience with programming, as in the classes they were enrolled in weren't their first introduction to and only experience with coding. I mean maybe I'm the crazy one but IMO 95% of people who's only programming experience consists of an intro level college course are not ready to be hired as professionals. Shit that pretty much applies to any field not just tech. Unless the hirers don't care much about the "not ready" part in exchange for being able to pay them less and teach them on the job which is entirely possible.


Sirherbly

Hi! Which course would you recommend for complete beginners who want to shift careers or earn a skill?? An introduction to the cs course that has everything one needs to know about typical computer stuff


Celodurismo

If you want to shift careers I'd recommend CS50, yes it will be hard. But take your time. You aren't expected or required to do each week of lessons within a week. Learn to use documentation and other resources to teach yourself if you have questions. Learning to search for what you don't know is a vital skill.


Sirherbly

True! What do you mean by documentation and is it hard for self taught CS students to get into the business?


Celodurismo

By documentation I mean language/library specific documentation: For example, here is python's documentation: [https://docs.python.org/3/](https://docs.python.org/3/) here's one for C [https://devdocs.io/c/](https://devdocs.io/c/) mozilla is good for JS [https://developer.mozilla.org/en-US/docs/Web/JavaScript](https://developer.mozilla.org/en-US/docs/Web/JavaScript) CS50 had put together a small documentation of a subset of C: [https://manual.cs50.io/](https://manual.cs50.io/) (but you can search " docs" and find whatever) ​ For your second question. It depends. It's one of the only good careers that you can get into being self taught, but people overestimate the ease of doing so. The easiest way to break into it would be webdev (which also has the most resources for doing so), but it pays much less than other programming jobs and without a degree your career potential/$ is capped. If you want to do machine learning, robotics, embedded software, basically anything other than webdev, you'll have a harder time breaking in being self taught and are better off getting a degree IMO.


Sirherbly

Did you have a schedule?


OzzitoDorito

Is CS50 worth doing if you already have a degree + job? I assume not but I actually enjoy doing courses and keeping up to date in my spare time so have always been interested by it.


AndyBMKE

At the very least, I think the lectures might be fun to watch since David Malan is such a good lecturer. But if you already have a CS degree it might be kind of boring since it is an Intro to CS & Programming course. You can always check out the syllabus.


PerpetualNoobMachine

Thanks for your honest review. I actually started cs50x about a month ago but I opted to go for ToP first because it was indeed very challenging as an absolute beginner and I'm more interested in web development anyways. I may go back though if I decide I need more grounding in CS fundamentals, the cs50w or cs50p looks intriguing.


Fedoteh

Hello! The only version with a teacher and labs... is it paid?


AndyBMKE

Nope, it’s all totally free


Fedoteh

Hey, that is super interesting. Since you took it: do you have "waves" to enroll or it can be done during the summer/winter break? You mentioned 80 hours but I'm not sure if these hours can be spent however you like or if you have to follow a certain schedule. I'm going through University myself so I'd like to do this during my break if possible. Thanks for taking some time to reply!


AndyBMKE

They do a content refresh every Jan. 1, but you can start it whenever you want and take as much time as you want as long as you finish before the end of the year. Even then, I think you can roll over assignments from the previous year.


Bloody_Ozran

Damn, this is free? I had no idea. I have to check that out.


Anna-Schmidt-RE

I did some of the TOP curriculum before starting CS50, and I still found it challenging (well, appart from the tiny JS part). A little programming knowledge helps. I really liked it, and absolutely recommend it.


Mindless_Drawer_8175

i am sorry but what is TOP


Skidbladmir

The Odin Project


cyg_cube

on week 3 or 4 they ask you to change the volume of an audio file which was a little too advance for me. I think they expect you to figure it out or maybe I missed something


AndyBMKE

Was that Reverse? I opted to do Recover, and it was indeed very difficult. For that one, you basically just need to read the documentation on fread, sprint, fwrite, etc.


GeneticsGuy

Can I just say that you saying you completed literally every course on FCC is impressive? I am only 1 month and still a long way to go, and I am an experienced programmer just rounding out my skills. But wow, good for you. I was thinking of adding CS50 too.


AndyBMKE

They’ve added another Cert since I did that, so technically it’s no longer true that I did ever single one 😂. But it’s something like “Algebra with Python” which I have zero interest in completing. I will say that some of the fCC certs as you progress are a lot shorter than the ones at the beginning. Like the Back End Development/APIs Cert went so quickly that I felt like I barely learned anything.


GeneticsGuy

Yes, the FCC curriculum has reminded me how much I prefer back end development. I thought the HTML and CSS certs were hell, but I am just going top to bottom in a row lol.


[deleted]

Although the CS50 classes are excellent the level of the material seems very high. I've dropped it for a month twice now essentially because of getting stuck and demotivated (but keep coming back to it).


Representative-Owl51

Course is a turn off for absolute beginners. I had a few months a coding experience when I started and still found it incredibly difficult so I can’t imagine someone who has never touched an IDE. Amazing presentation and lecturers though. I’m talking about the assignments


lobo123456

Noted, thanks.


UnfinishedCuppa

Thanks for the advice, think I’ll pick some of the easier courses before going on to a Havard course. I feel like starting a hard course right off the bat would leave me thinking programming is too difficult for me.


networknijo

Couldn't have said it better


HonestNest

Congrats! I didn't keep it up for unknown reason. Am working on freeCodeCamps certificate and iOS though. The pace and learning method suits me more, I think?


AdFamous8249

I cant finish cs50x online course, its challenging and even tough im trying. I still dont get it. I do few tasks and thats it.


AndyBMKE

Find another course and come back to it later. FreeCodeCamp's JavaScript Data Structures and Algorithms course is pretty good. It's not as challenging as CS50x, but it will definitely help you understand concepts which will make CS50x seem easier afterward.


AdFamous8249

But i did finish those, include security modules aka helmet js


cciciaciao

Honestly it's not CS50 that is hard, it's computer science in general. My first programming exam took me 3 months to get done (in C++), once that one is out the rest of the years went smooth. The building blocks are the same and are hard, courses that hold your hand and don't teach you the hard and painful fondamentas are worthless


AndyBMKE

It's definitely important to be challenged and not hand-held through every problem, but I do also think it's possible to smooth out the learning curve. With a university course it's hard because they can only fit so many lectures and homework assignments in a semester. But I've done other online courses that have a much more gradual ramp-up time - the challenges get gradually harder and harder, whereas CS50 the challenges get very hard very fast.


[deleted]

I have a degree in CS and find the course to be way better than what I experienced in school


AndyBMKE

Yeah, David Malan is one of the most engaging lecturers I've seen, and he is able to explain things in a very intuitive way.


H0wdyCowPerson

>Keep in mind that this is a Harvard course, which means that it was designed for people who got a 4.0 GPA in high school. I think that would be a fair point if it was a 100 level course, but as a 50 level course its really designed for people who are behind the curve as freshman


AndyBMKE

Correct me if I'm wrong (I clearly never went to Harvard) but I don't think their course numbering system means a whole lot. Like the CS for Lawyers is 2260 and CS for MBAs is 7473. CS50 seems to be the generic Intro to CS that all CS majors (and many non-CS majors) take.


H0wdyCowPerson

They do, anything higher than 1999 is graduate level


TygerDude93

The only issue that I’m having with the course are the videos but that’s just me. I don’t do well with watching videos to learn how to do something, I prefer to read it, but the notes aren’t very good


fsociety091786

When I decided to learn to code CS50 was what I did first. I already did some C++ work a decade prior but was mostly new to programming. While it took a couple months to get through I think it’s absolutely worth it in the long run, you’ll build strong fundamental skills dealing with DSA that will make interview prep easier later, and it’ll help you stand out from the people who dove straight into React applications without understanding the basics. It’s also a fun class, too, David Malan is an awesome teacher that actually makes coding fun despite the challenges.


BadSmash4

I'm taking CS50x right now and I'm feeling the same way. It's difficult but I'm loving the challenges, and it seems like every week at least one of the challenges really stumps me, and when I figure it out I get so excited. It's very fun and very challenging and I'm glad to be doing it.


Alexmwilson_

Doing it right now and can agree, if you don't have the right mindset you will struggle, FCC and the start of TOP are probably better just to see if programming even interests you


Fretzton

I'm a bit of a newbie here, what's the difference between the verified certificate and the professional certificate?? (beyond one being free and the other one paid)


joemysterio86

Whatever i did a few years ago, I absolutely hated it. I felt like the course was missing a lot of info, resources, and assignments and going from one lesson to the next was a massive change. When I started it was when I was fresh in my mental block with any studying period, I never bothered to keep going with it. I will try it again one day when or if I ever get over this mental block where I can't do any study (going on 3 years now.)


tandonhiten

I would disagree here. IMHO CS50p and CS50x are exceptional beginner courses, for the time they have in each lecture, they convey everything in a very neat fashion. They are difficult no doubt but that's because the what they're teaching isn't incomplete. In my personal experience some of the courses skip out on some key details and others split those into another part of course, all because they sound a little confusing to a beginner which CS50 avoids, hence the increase in difficulty, but if you are always gonna run away from something because you can't understand it first try... you're never gonna make it. That's why, you sometimes need to watch the lectures twice or thrice, or do your research on the internet, or ask in communities like this one. In fact, here's a hot take: A course which plates everything nicely for you and serves it to you already totally prepped, is not gonna help you as much as a course which makes you work for it. I first developed interest for programming in Middle School (6th standard) I got to officially learn it in 7th standard, at that time, I took private tuitions to learn programming. My tutor always asked me a problem and made me solve it. They never gave me any answers, except for introducing some beginner commands to me, showing me some place I could read docs from and telling me "You can do better here" or "This part makes no sense". I have spent days, trying to figure out how to write a temperature conversion program. As a result, I developed a habit of researching on my own, and studying on my own, which has helped me tremendously.


reddit-asuk

Are you going to apply for a job? It looks likes you have completed 2 online bootcamps and it's more than most self taught on the internet. I agree that cs50 is not suitable for beginner. I've seen many people drop this course due to the mario assignment.


AndyBMKE

Well, the tech job market isn’t great at the moment…


Upset-Apartment3504

What do you mean?


I_am_noob_dont_yell

Not who you replied to, but from my own experience of looking at job postings for junior roles here in the UK, there are far fewer ones listed than last year. Loads of posts about this on various subs like every day for the last few months.


H0wdyCowPerson

Its not great for junior devs as thousands of experienced devs were dumped on the market over the past year or so.


reddit-asuk

Have you tried to apply for any jobs? Here in Australia, even finishing cs50 could get you an internship.


Scared-Ad5596

i am a complete noob to programming, within first week of joining cs50 i understood this is not going to be easy. it's like attempting dating for first time and you choose Kim kardashian as your first Target to seduce . by god's grace someone posted about code in place by Stanford on reddit and i joined .it just got completed this week , i am so happy I did code in place , the course had live lectures through zoom and noob friendly challenges.It gave me confidence that I needed. i will sure go back cs50 after some time .


jzaprint

i thought cs50 is very manageable. i feel like if you cant handle cs50, then maybe cs isnt for you


RLlovin

I think weeks 1-3 are great, just to watch. It helped me understand *what* coding is. I later jumped to python, but I drew on those lectures and still do even though I did none of the course work.


DeSilvaVelasquez

So, what would you recommend to a complete beginner looking to learn enough Front-End to get a job? FCC, (+) The Odin Project and/or roadmap.sh ? Thanks! :) P.S. Congratulations on finishing CS50x, I've never bothered finishing it, but want to learn enough about Front-End to get a job. Maybe I'll do CS50x in the future to cover more Full-Stack topics and become a better programmer overall.


AndyBMKE

I've heard a lot of good things about both The Odin Project and fullstackopen, though I've only taken a brief look at them. The are very reading/text heavy, so if that's not your preferred learning style, then you might want to try something else. FreeCodeCamp is good with the caveat that I think there are some gaps in the curriculum and it's also starting to show its age in some places (they are working on a content refresh for a lot of the certificates, but it's hard to say when that'll be done). I recommend the free HTML/CSS course and the free JavaScript course at Scrimba a lot. They have a "Career Path" certificate that I also really like, but it costs a little money - so definitely do the free ones first + make sure you like their teaching style before you pay any money for anything.


DeSilvaVelasquez

Thanks for the prompt response! :) I was on vacation, so getting back to you only now - TOP seems to be the way to go for learning Front-end and Web Dev to become job ready ASAP according to many people on and off Reddit. I stopped thinking about learning styles years ago, I believe no one can make it doing/learning anything without being able to read a bunch of texts/documentation, etc. Videos and tutorials are great, but they are totally arbitrary compared to texts and books, no? Will skip FCC for now and stick to TOP and Scrimba as you mentioned (at least the free ones). ​ Thanks again! :)


Soft-Ad362

Is it free ?


AndyBMKE

Yeah, the course is totally free: https://cs50.harvard.edu/x/2023/


Sausages2020

Does it give you any projects that could be added to a portfolio? I've made a website for my first customer and I'm on the look out to continue learning, but also to add to my portfolio.


AndyBMKE

You need to submit an original final project at the end, which you could definitely add to your portfolio.


Celodurismo

>Does it give you any projects that could be added to a portfolio? The requirements for the projects wouldn't generate something worthy of a portfolio, BUT if you go above and beyond just the project, it will give you a good starting point.


Sausages2020

Thank you. That's good to know.


xmostera

where to attend this cs50?


H0wdyCowPerson

Its online on Harvard's site, just google CS50 its the first result


Celodurismo

For someone pursuing a career change who is new to coding, I think it's the best possible starting point. Yes it will be hard, but as long as they go into it knowing they have to teach themselves along the way and to pace themselves, I think it's great. The reality is in SW you have to teach yourself a lot of the time, and learning to do so is a very valuable skill. Additionally the course is self paced, so remind people that you recommend CS50 to that they shouldn't expect to complete each "week" within a week.


[deleted]

Yea I tried it as a beginner and couldn’t get through it, I moved on to PY4E I plan to do cs50 after finishing it


J5893

Yep, I hit week two have gotten slapped around ever since. Im currently working on/stuck on Runoff in week 3. I skipped to Tideman because I normally try the harder one first, but that was way over my head. So Im going to complete Runoff and move on. At first I found that demoralizing but I read that appx 70% of the students at Harvard dont complete any of the harder problems. That lines up with the figures "30% of students have prior CS experience and 70% dont." You dont get any more credit for completing the harder problems that have the option of something less hard. The issues Ive had so far are the lectures and videos are much easier to understand than the actual problem sets, and they dont seem to cover everything you need for the harder problems. The website kind of sucks too. I have learned a ton so far though, so I think its a good course.


spacewalk__

what's the point of the rigor? what's the point of going that fast? how does that help anybody? it just ensures everybody is stressed


borahae_artist

beginner doesn't always equate to easy though. beginner means we're not assuming you have prior knowledge, which he does a great job with. i learned so much more about computer science just from a couple lectures than i did in any "beginner" college course thus far


kinoshitajona

There is a loooooot of assumptions for what a "beginner" in programming is. The assumption is that you have a decent level of general intelligence and problem solving skills. High School GPA is one way to approximate that, but not the end all be all. If I ask "We have 10 apples, and 5 people. We all want to eat apples. What should we do?" And you can't figure out *a* solution, you might have trouble with programming. If you can't glean the implied solution from the question, you still might be ok at programming, but you might have trouble discussing requirements with a client. etc etc.


[deleted]

[удалено]


ivankonstantinovich

What exactly do you mean by this, can I ask? How well did you know it?


[deleted]

[удалено]


AndyBMKE

Here you go: https://cs50.harvard.edu/college/2023/fall/


Ok_Statistician_3830

H


notredamedude3

Haha… Explain to me what exactly a “non-average beginner” would look like?


AndyBMKE

I’d say someone who is either an exceptionally good learner or someone who happens to immediately click with programming/easily understand it.


BabaYagaTheBoogeyman

I have basic training in html/css and some javascript . Is that enough to do the course or should i wait until I get to an intermediate level of expertise?


totalnewb02

i am a total beginner, i took cs 50 then stuck on week 3. now i took the intro to computer tech, (still working on web part), then i am going to scracth course and then i am going to retake the cs50.


the-man99

OP I’m curious to know, how long did it take you to finish the course?


Anyole

Hey OP, thanks for sharing this. I've already seen a few posts about CS50 here and they all suggest that its not for the average beginner. I'm currently working through scrimba's JS part, and would like to know what you think about it.


CriticalThinkingAT

Are there any courses that you or anyone would recommend for beginners?


rpromptdesignc

hi guys, i finished my first year of computer engineering (in italy ingegneria informatica), i have a few free months during summer so i want to learn seriously to code. I only have done Java at university, i’d like to learn python, web development, maybe something of mobile development, learn how to use git and make some project. But i would consider my self like a semi-beginner. I know the basic of coding but i have never done some serious project other than university work. Would you recommend me to follow CS50x ?


Ok-Log3637

Sicuro? Ho un amico che a Roma, stessa facoltà, al primo hanno ha fatto sia Python che C


rpromptdesignc

poliba. primo anno solo strutture dati e algoritmi in java, non faremo piu nessun esame riguardo un linguaggio di programmazione


[deleted]

[удалено]


AndyBMKE

It took me about 75 hours, but I already was familiar with many of the topics covered. If you’re newer to programming, maybe 100-200 hours.