What do you think of the 2020 curriculum updates?

I can’t wait for the new curriculum!

I’ve always loved to make projects and it’s a great thing you’re adding more of them. As I learn on the curriculum, I see the updates that are completed. Every time I see one, I’m like “wow! This is cool beyond words!”

Keep up the great work and keep creating!

1 Like

Looking forward learning some new things (i.e. Python)

I am so happy that Python is going to be on FCC. I learned to program through FCC last year. I now work as a data engineer due to the concepts I learned in FCC. I now I co-run a meetup in Utah to help people code and have had people ask where to learn Python. I am happy to tell them FCC will be there to help with their Python learning journeys. This makes me so excited!!!

1 Like

Looks awesome!! I’m so excited.

The crash courses sound like a great idea, especially to include Git in the curriculum.

2 Likes

If I could have a wish, it would be great to have material covering async Python and event loop libraries like anyio.

And very good they are too.
Are they the 20% who don’t use php? I mean, if stats saying that around 80% of websites use php are true, it could be argued that most web developers code php for them; or are 20% of web developers coding for 80% of the web?

It looks like it’s going to be great.

I would have loved GCSE CS, but back when I did it we did PowerPoint presentations and that’s it.

Kinda drains my hope of ever landing a job.

Thanks for your kind words, @achkiro. I hope you and your friends have a lot of fun coding this winter.

1 Like

Thanks for everything you’re doing to help people in your community learn to code.

Yes - we are planning to interpret Python code right in the browser, so it will be available in the same code editor environment we use for our JavaScript-related projects.

We are currently using tools like Glitch, CodePen, and REPLit for this but we are working on creating our own simple code editor that is not as feature-heavy, but does have everything you need to build these projects.

1 Like

Hi @QuincyLarson,

I was writing this as an email to you but then I saw this forum post so I decided to post it here.

From the very start, I was not in favor of building projects to learn algorithms. But then the idea of different projects for the Basic, Intermediate and Advanced section convinced me a bit. So I researched and informed @scissorsneedfoodtoo about Newsfeed for basic, Yahtzee Game for intermediate and Sudoku solver or Robot for advanced. We then concluded to include only the basic and intermediate section for the v7.0.

I was closely observing the development of the basic section and I’m leading the advanced section myself. Today I was looking for some database books on Quora & I landed on this answer by Quora’s CEO: https://www.quora.com/What-do-people-find-so-attractive-about-competitive-programming. After reading this answer I realized I need to share with you that we might be going in the wrong direction with the upcoming Algorithms section. So I’m just sharing my thoughts. I am not an algorithm expert by any means, I am not even close to an expert :).

That answer is about competitive programming. And the challenge-based approach resembles competitive programming, right? We are given a problem then upon submission our solution is tested against some test cases in the background and we receive feedback. The only difference being, in competitive programming we need to care about the test cases (particularly edge cases) and large inputs but in fCC this happens in the background.

So I am sharing some major reasons to not build projects for the algorithms section:

  • Our aim with the algorithms section is to develop the problem-solving ability in campers. Only 5 - 10% of the projects have “actual problem”. The rest is a simple combination of loops, conditions, functions to make the app / game functional. Only 5 - 10% part involves real problem solving I should say. With the challenge-based approach we are giving them a predefined problem and then they have to develop a solution to that problem. Here the time is invested in 100% problem-solving.

  • The projects target a very small set of problematic areas. For e.g. Yahtzee Game is targeting numerical problems - sorting them, finding relationships between numbers, writing easy conditionals to output score options and like. With the challenge-based approach, we target very different areas.

  • When campers get confidence by solving challenges it’s very easy to build projects like Yahtzee, Newsfeed, Sudoku, etc. So our target should be to develop an ability that can help campers to build any project they want in future.

Though I believe from my own learning experience that the best way to learn HTML, CSS, JavaScript, Server side language or any framework / library / language / web-related concepts is by building real-world projects but building projects to develop problem solving ability, ummmm, it doesn’t feel right to me and I have shared the reasons above.

If anyone want to see the progress on Algorithmic sections here’s the link to the Basic Algorithm Project (under development): https://github.com/freeCodeCamp/CurriculumExpansion/issues/119

Intermediate Algorithm Project Link (almost finished): https://github.com/perezvon/fcc-dice-game

I would be more than happy to receive arguments against me so feel free to share your views on my thoughts. Thank you so much for reading this long post. You definitely care about fCC :heart:.

Happy coding :slight_smile:

2 Likes

(I haven’t tested the new content)

I agree that algorithms should be exempt from a “full project approach”

Problem solving is a skill best learned with practice of random challenges, not ‘studying for the test’.

Hi Vivek,

Thanks for your candid feedback. I am familiar with Adam D’angelo’s Quora answer (I think I read it when he wrote it last year). I agree with him that this sort of focused algorithm work is important. And we will continue to have hundreds of supplemental algorithm challenges in our Interview Prep section.

This said, competitive programming is very different from day-to-day software development work. I’ve written a bit about this distinction here:

https://www.quora.com/Should-I-get-involved-in-competitive-programming/answer/Quincy-Larson

The 5 projects in the Algorithm and Data Structures section are actually older algorithm challenges that were taking people several hours each to complete, which we then promoted to project status. So everyone will still get a ton of practice solving algorithm challenges.

I think many issues, including what @vivek-agrawal27 mentioning could be solved with implementation of tiered tests for every problem or project, for example:

  • Regular (the level of what we have today)
  • Advanced (optional tests for someone who wants to go a bit further)
  • Nightmare (impossibly complex test cases for nerds who love problem solving)

This way you would have both competitive coding and project building fans under one roof

@QuincyLarson I agree with your Quora answer. Software development is much more than just algorithmic practice.

Ummm. We are in the middle of the curriculum launch and we have already made some good progress on the algorithmic projects. Let’s just ship things asap. After shipping, we will write a forum post to get feedback on algorithmic projects. It will the best way to decide if we should go that path or revert back to challenge-based.

1 Like

Tiered tests will complicate things. Let’s keep it simple with single regular tier tests.

This is something I’ve considered, and I do think it would be fun, but I agree with @vivek-agrawal27 that we could simply have separate, harder versions of these algorithm challenges to reduce confusion.

Also, beating something on “easy” isn’t very rewarding, and I’m concerned these tiered tests might rob people of some of the sense of accomplishment of beating these.

@QuincyLarson, what impact do the new Python certs have on obtaining the Full Stack Certification? The Information Security and Quality Assurance is being split but I’m yet to see any news on how this will impact the Full Stack Certification.

We will continue to give this to anyone who completes the first 6 certifications, even though we’ve slightly changed the name of the 6th cert.

1 Like

Continuing the discussion from What do you think of the 2020 curriculum updates?:

I’m really excited about the new project-based curriculum! I see that everything is going to be introduced in stages, is there a basic timeline for when the stages will be implemented?