CS50 Less & More Comfortable Problem Sets

For anyone who has completed CS50, would you advise someone to complete both the less and more comfortable problem sets? Or would you advise someone to just complete the less comfortable ones in order to complete the course in less time, then later on you could always go back and try the harder “more comfortable” problems?

I find it interesting that CS50 has a lot of optional work. For someone that does the minimum amount, they could potentially finish in 10 weeks. But if someone decides to do absolutely everything it could take them double the amount of time, if not more than that. I enjoyed the optional Practice Problems so I will be doing those. But I am stuck on deciding if I should do every Problem Set (less and more comfortable) even though I am realizing it’s optional.

2 Likes

Do you do every single Problem Set? They usually say “submit one of” like:

Week 1:

  1. Submit one of:
  1. Submit one of:
  • Cash if feeling less comfortable
  • Credit if feeling more comfortable

Should someone feel guilty if they choose to only do the less comfortable ones so they can finish CS50 quicker? Or is this a good strategy because you can always come back and work on the “more comfortable” problems for extra practice. Doing the minimum vs doing everything could be the difference between finishing in a little over 2 months vs taking nearly 5 months. I don’t want to get stuck in tutorial practice hell…I want to learn what is necessary and start building my portfolio so I can eventually get a front end web developer job.

I have done cs50x, you have to submit one of the following only, but you can submit both.
I have done cs50x, cs50s, cs50t and doing cs50p.

I think the biggest mistake people make is waiting to start building projects on their own.
You should start building your own projects now.

The majority of the projects that you build will be just for practice and that is totally fine.
Learn from it, get feedback, get better, move onto the next project that is a little more complex then the last one.

Then pick 2-3 projects you have built with some complexity behind it and add it to your portfolio.
You can continue with CS50 but also start building projects on your own now.

1 Like

Thank you, this is great advice! I will definitely start building projects while I am taking the courses I plan on taking, instead of getting to the end and working on my portfolio then.

This might be a dumb question but I am still confused as to how to start working on my portfolio/projects. I have a GitHub account but I don’t really go on there, I’m guessing there’s a space on there for me to write code? Then while I’m writing the code there’s a screen that shows me what I am doing visually similar to the projects on FCC HTML and CSS section?

Below is my plan. I think I know enough of the basics to start working on projects for my portfolio. I am not sure what direction I want to go in for the 2-5 projects in my portfolio. I really enjoy the visual aspect of coding, that’s why I chose front-end. But I don’t know what would be considered a good portfolio. I’ve seen people on youtube include a variety of things from a website to a game. And I have also seen the complete opposite approach of someone having a cohesive portfolio of websites for different businesses that actually work. Any advice for me?

Also, does my plan include too much? Should I add or remove something?

(Around 1 year)
FreeCodeCamp

  1. Responsive Web Design Cert. :white_check_mark:
  2. JavaScript Algorithms & Data Structures Cert. :white_check_mark:

Harvard
3. CS50: Intro to Computer Science :arrow_left:

FreeCodeCamp
4. Front End Development Libraries Cert. (Skip JQuery)
5. Data Visualization Cert.
6. Back End Development & APIs Cert.

The Odin Project (Skip NODEJS)

  1. Foundations
  2. Full Stack Javascript

UDEMY

  1. React JS Frontend Web Development For Beginners Course by Ryan Dhungel

Last Steps: (Around 3-6 months)

  1. Create Portfolio on GitHub (* Update: Work on this the entire time *)
  2. Network and Find a Job
1 Like

Github is a service that hosts millions of repositories(projects).
Before you are able to start applying for jobs you will need to learn the basics of version control. The most popular form of version control is Git.
freeCodeCamp has a great course on that here

You GitHub profile will contain all of your repositories which represent your projects.

As for where you are going to code your projects, you will need to use a local code editor.
Visual Studio Code is really popular but there are many others like Atom, Sublime, Brackets, etc.

That freeCodeCamp video I linked earlier will show you how all of this is supposed to come together.

Danny Thompson has some of the best advice on what kinds of projects to include.

Data Visualization is cool but it is not required to get a job.
That section will not be included in the new frontend libraries curriculum anyway.

As for Odin Project, they have really good materials but I would stick to just one main curriculum and then use supplementary materials like Udemy or Odin, etc to help you with some of the trickier concepts.
This will help ensure that you are not stuck in tutorial hell.

For the react and redux sections of the frontend libraries I would suggest another source because those materials don’t include hooks and will be eventually updated.

This video has more up to date information for react

In my opinion, you should be networking now to allow for time to develop real connections with people.
Don’t wait until you need a job to do this.

Hope that helps :+1:

1 Like

Thank you soooo much!! This is all incredibly helpful :slight_smile:

I will be looking over all of this today. The last part you mentioned about networking is also very true, I can start doing that now. Do you have any advice on how to go about networking? I live in an area that is very popular for tech jobs (Northern California). Should I just start looking up Javascript conferences that I can attend in person? Or is there a better way to go about it? I also have some friends that majored in CS so I will see what they think as well.

In person meetups are a good way to go.

I would also suggest joining a couple of online tech groups.

Danny Thompson has a discord that helps new develoeprs get into tech

2 Likes

Wow, really can’t thank you enough :pray:

Hi @jwilkins.oboe,

I have a few more questions. I watched the Git and GitHub Crash Course and it was very helpful. I now have Git downloaded on my laptop as well as Visual Studio Code. But I still don’t understand how you can visually see what you’re coding. When taking the FCC HTML and CSS section, you could see what you were coding. How can you do this on your laptop for projects?

Also just to confirm that I am on the right track. Can you please look at my updated plan? If you were 7 weeks into your journey and knew you only wanted to get into front-end, do you think this is a good plan or would you do something different?

(* Work on this the entire time *)

  • Creating Projects for my portfolio
  • Networking to find a Job

FreeCodeCamp

  1. Responsive Web Design Cert. :white_check_mark:
  2. JavaScript Algorithms & Data Structures Cert. :white_check_mark:

Harvard
3. CS50: Intro to Computer Science :arrow_left:

Scrimba
4. Learn React

FreeCodeCamp
5. Front End Development Libraries Cert. (Only do Bootstrap & SASS)

  1. Back End Development & APIs Cert.

NO LONGER NEEDED?? :

FreeCodeCamp

  • Data Visualization Cert. :x:

The Odin Project (Skip NODEJS) :x:

  • Foundations
  • Full Stack Javascript

UDEMY :x:

  • React JS Frontend Web Development For Beginners Course by Ryan Dhungel

When you create a new project with HTML and CSS files, then you can add the Live Server extension and start the local server by pressing the Go Live button at the bottom right corner of the screen.
That will open up a new browser window with your code where you can see your changes.

It looks like fcc has an article about that here

I think your plan looks fine.
Just be prepared to be flexible with it.
You are still pretty earlier on in the learning process.
As more time passes, you will know what areas you will want to spend more time on and add additional resources from there as needed

1 Like

Thank you!! You have been sooooo helpful

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.