CS50/Academical Courses Experience

Hey, guys, I started Harvard’s CS50 on edX a few days ago, currently on week two. Has anybody here taken this course? What do you think of it? And, more importantly, what did CS50 gave you (if it gave you anything at all)?

In my opinion it’s just amazing. Dan’s teaching style is incredible, he really can EXPLAIN what’s going on, not just say “do this and that happens” - he explains WHY this is happening. Shorts are quite helpful, tasks in problem sets are challenging. I feel although that I know some of that stuff - I started learning how to code a couple of months ago. And pure C syntax… devil tortures Hitler and Dracula in hell with pure C.

So, share your experience about CS50 (and maybe some other “big” courses, like MIT 6.00.1x which starts on the 30th of August btw) with us please.

5 Likes

I’m currently on week 2 also and enjoying it a lot so far. Happy to get some computer science foundation and agree about pure c syntax :yum:

2 Likes

Out of curiosity - did you use strtok() function in Initials or something else?

I used a for loop with an if statement to look for spaces in the string, and then grabbed the letter after the space to print out.

Thanks, got it. You did the “less comfortable” version, right?

Hi guys, I’m new to FCC and I was looking at that course after I saw it mentioned in the forums. Do you think it’s suitable for a total beginner?

1 Like

Yup! Did the less comfortable version.

1 Like

Yeah! Most people who take CS50 in person have no previous programming experience.

In p1xt’s guide she recommends reading the You Don’t Know JS series first.

2 Likes

I agree with @jeffbernst on CS50 but “You don’t know JS” series can be a bit complex for the beginner.

3 Likes

Thanks for the answer guys! People seem to like that course so I think I’ll definitely look into it.

So no one else here on FCC plans/are doing/has done academical courses like CS50?

I actually started that course about 2 weeks ago now. Really focused on it and finished the first 3 problem sets and watched all videos and shorts up to week 4. Decided to take a break to finish up pomodoro clock which I completed yesterday. My plan is to finish up pset 4 by tomorrow. It’s a great course and helped me to have a better understanding of what Anthony Alicea is talking about in his JavaScript Understanding the Weird Parts videos.

1 Like

Thanks for the feedback! Would you like to share some of your experience - e.g. what tasks appeared easier/harder for you and why? Or what do you like/dislike about the CS50 in general?

Tbh. I only think of something as hard before I understand it. When I get involved in the process of trying to complete a task, I get so involved in it that I forget the difficulty. Problem set 3 does greatly increase in number of steps needed to solve a problem though. What I love about CS50 is that it goes behind just the syntax of a particular language and explains what goes on behind the scenes. I was frustrated with the pomodoro timer which caused me to do cs50 when I came back to it, I finished it in a day because I had developed better problem solving skills and understanding of programming through cs50.

2 Likes

I’m working through CS50, halfway through Week 4. Without a doubt, I would recommend this to anyone who want’s to be a coder, not a WedDev, but a programmer. Unlike the hand-holding and “type-what-I-type” style of many online courses, CS50 is way different.

CS50 introduces concepts and ideas, not “type this to get that”. It’s like “Here’s two sticks. If they generate enough friction you can start a fire. Your project is to build a campfire and grill two steaks!”

My initial reaction was that there was not enough information and detail provided, but that’s the point. You need to get out there, search, research, find reference sources and figure out how to do something. The online support is also great. There are a number of TF (teaching fellows) that have completed the course and are willing to help out on the Slack channel. No one will give you the answer or code, they’ll push you just enough to get the ball rolling.

In the first four weeks, I think I have not only learned more, but have also retained more than even in Colt Steeles WebDev course.

But be forewarned, if you learn through hand-holding and can not handle the frustration of figuring out why something doesn’t work, the course is not for you. It is purported to be one of the toughest CS courses online, and as such will look good in your portfolio, but more importantly will add true understanding and knowledge to your repertoire!

Go for it!

5 Likes

Just checking in, I’m currently on last PSET before final project. I must say that every week brings in something challenging, so I was never bored while working on course. Mostly I’m lacking self discipline to go through this course, and because of that it’s taken me almost 8 months to get to this stage.
Community is great, if you start CS50 make sure to join group on your favorite platform, there is always someone who can help you.
Pictures show time that I’ve put into CS50 problem sets, not including lessons and shorts.

1 Like

Best course there is! It got me into this stuff.

I started it but didn’t complete it. I wanted to finish the YDKJS first because I am following p1xt’s guide!

1 Like

I also do the CS50 and started doing it with a local group. We are starting the last weeks which are on Python.

I’m doing freeCodeCamp along side a Software Engineering degree. The first 3 computer science programming classes are all in C++

  • procedural programming
  • object oriented programming
  • data structures

They are extremely helpful in understanding the foundational concepts in programming, but freeCodeCamp, and specifically the projects are very helpful in giving some practical experience.

C++ and Javascript are vastly different, though. They share a few basic principles and syntatic similarities, but the underlining way in which they work is pretty different.

Getting exposure to both has made me understand them both better, and taking University CS classes makes books like YDKJS much easier to digest.

I think the most important takeaway for me is that learning programming is not very linear. It is good to get exposure to different languages, academic exposure through university and books, and practical exposure through creating programs even before you even understand exactly how they work. Each of the pieces build off each other and give insight to one another.