freeCodeCamp / CurriculumExpansion

Creative Commons Attribution Share Alike 4.0 International
315 stars 105 forks source link

Finalize new challenge sequence and import into seed files #46

Closed QuincyLarson closed 7 years ago

QuincyLarson commented 8 years ago

Update September 22 We now have a QA issue. @HKuz is leading our new challenge QA effort. Please message her in Gitter if you'd like to help out. https://github.com/FreeCodeCamp/CurriculumExpansion/issues/52

👍 = ready to import into seed files 🎱 = not quite ready

💯 = has been QA'd
💌 = intro text created
🌊 = no changes from master

So far we have made incredible progress. Look at all the 👍 below!

I look forward to recognizing all of you - and highlighting your specific contributions - in the big Medium post announcing this massive curriculum expansion.

Since we are so close to shipping all of these challenges (probably 70% of the challenges that needed to be designed have been designed), I propose that we hold out until every last challenge is designed and QA'd. This means we can introduce all the challenges at once, minimizing confusion among campers (and yes - there's a lot of confusion every time we introduce more challenges, no matter how hard we try to communicate everything).

If you have already finished designing the challenges in your current topic, you should find a topic with a 🎱 , jump in, and ask its topic owner how you can best help.

The highest priority sections right now are React, Redux, and React + Redux. These are mission-critical. They have had a "coming soon" label beside them for nearly 9 months. And now, thanks to @BerkeleyTrue's hard work, we can do React (and ES6) in FCC's code editor with Babel, so we have no excuse not to ship them. 😄

We could also use help with CSS Flexbox and Applied User Experience Design challenges. We haven't even started these. Having a dozen or two challenges for these topics is better than having no challenges. Many campers have requested that we cover these topics, and they will be grateful.

Our current goal is to get these into production by Friday, September 16.

Here's the tentative challenge map we hope to ship next week:

Responsive Web Design

This section involves just HTML and CSS - no JavaScript. It has five required projects.

This section involves just JavaScript - nothing that requires a browser view. It has five required projects. Only the Basic and Intermediate algorithm challenges are required.

This section teaches additional tools, such as Sass and React. The five required projects can be built using any technologies (including Angular - a popular request). We do away with consuming APIs here and instead cover it in the Data Visualization section.

This section covers working with D3 for data visualization. It also covers how to consume data from APIs. These five required projects should be redesigned to involve consuming APIs.

This section covers building APIs that serve data and Microservices that perform a task. The challenges that cover server-side JavaScript are fully redesigned - we will no longer need Node School (thanks @Em-Ant and @Greenheart). There are five required projects that can be completed with any technology (though we'll strongly recommend using Node/Express running on HyperDev).

This section will teach some practical security and testing skills. It has five required projects, which should be expanded upon with security and test-focused user stories.

Note: Simon, Tic Tac Toe, Twitch, Wikipedia Viewer, Local Weather, Roguelike Dungeon Crawler, Markdown Previewer and Camper Leaderboard will become just some of many bonus practice projects.

ghost commented 8 years ago

Applied Visual Design isn't finished, however they probably will by the end of August so we can keep that on here :+1:

alayek commented 8 years ago

I would like the ES6 section moved up in order, and be there right under Basic JavaScript; before Regular Expression. It should at least be above Functional Programming.

QuincyLarson commented 8 years ago

@atjonathan Excellent! Keep up the hard work. I am really excited to see these challenges. @alayek Understood and agreed. I've moved ES6 to come immediately after basic JavaScript.

erictleung commented 8 years ago

@QuincyLarson where is the "Automated Testing and Debugging" section going to be placed? The discussion here talked about it moving it before Basic Algorithms.

I think it would be worthwhile putting debugging before Algorithm Challenges. At that point of the curriculum, being comfortable with the console.log() is crucial for algorithm challenges.

QuincyLarson commented 8 years ago

@erictleung we don't yet have the ability to create and run tests on FCC, but we do have that ability on HyperDev. Also, we would be able to test a lot more than just basic JavaScript - we could test routes, and potentially even do controller and integration tests there.

I agree with @SaintPeter that we should have a debugging section before algorithm challenges, and that it should be separate from our testing section, as really these are two slightly different skills and involve different technologies.

We already have two "testing and debugging" challenges: Using console.log Using typeof

I propose we expand on these challenges to include a few more quick tips for debugging JavaScript. @erictleung @SaintPeter @abhisekp would any of you be interested in creating these challenges over the next few days so we can include them in the release on Sept 2?

I've created an issue here, and linked to it up top (I went ahead and linked to all related issues up top): https://github.com/FreeCodeCamp/CurriculumExpansion/issues/47

mrpatil007 commented 8 years ago

@QuincyLarson if you want to get the curriculum of "Ethical Hacking" on Freecodecamp me and myTeam will make it for you...:)

QuincyLarson commented 8 years ago

@mrpatil007 awesome! I think this would be best suited for our video challenges. Once we ship these interactive coding challenges, we will heavily focus on these (we're recording a lot of them in September). Does this sound like something your team would be interested in helping with? 😄

QuincyLarson commented 8 years ago

By request of @Em-Ant I've created a separate issue specifically for Quality Assurance and Testing with Chai.

This is also a high priority. @Em-Ant is busy finishing up the Information Security with Helmet.js challenges, but he knows a ton about what needs to be done with HyperDev and can help answer questions and get you set up. Are there any testing enthusiasts who are interested in helping design these?

Also, I've created an issue for Advanced Node.js methods and we are looking for input as to what we should cover there that might be relevant for our dynamic web application projects (which we don't plan on changing at this point - they will remain the same as they are currently in production).

mrpatil007 commented 8 years ago

@QuincyLarson Then can we start to work for it

QuincyLarson commented 8 years ago

We now have a work-in-progress pull request.

You can clone this pull request and try these challenges out for yourselves. Many of them are still broken, but perhaps you can help me fix them :)

Also note that we have pushed the deliver date back by about 10 days so we have more time to finish these.

If you are reading this and want to help, look the the challenges in the original post which have an 🎱 beside them - those are the ones we need the most help with - especially React and Redux!

UsamaHameed commented 8 years ago

Nice. Looks great.

hamzashezad commented 8 years ago

CSS Flexbox isn't a framework. It's a "layout mode": https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Using_CSS_flexible_boxes

QuincyLarson commented 8 years ago

@hamzashezad this is true. jQuery and React aren't frameworks, either - they're libraries. So maybe we should rename these challenges front end libraries.

hamzashezad commented 8 years ago

@QuincyLarson Flexbox isn't even a library. It's a core part of CSS. Shouldn't it be under "Responsive web design"?

QuincyLarson commented 8 years ago

@hamzashezad we are covering responsive web design with raw CSS and media queries first. Flexbox fits in better with the Front End Libraries section, where the other non-basic tools are. This said, I see that several curriculum contributors agree with you, so we could move these there.

gbsimon87 commented 8 years ago

I may be a little late to the discussion, and I apologize if this comment is not relevant or if there is a logical reason behind it. Yet considering I have so deeply dived into the FCC curriculum, as an avid user and supporter I will ask - is there a reason vanilla JS comes two sections after jQuery? Many of the more advanced users on the chat have highly emphasized that native JS is crucial, so why the ordering? PS: Keep up the amazing work, best programming community hands down.

QuincyLarson commented 8 years ago

@gbsimon87 if you take a look at the sequence above you'll note that we are moving jQuery up into a later section of the map.

marcnshapiro commented 8 years ago

Looking at the Front End Libraries section of the original post on this thread by @QuincyLarson -- Does this mean that the projects listed there that used to require React and SASS, such as:

 Recipe Box
 Conway's Game of Life

will no longer have that requirement? I have been waiting on the new curriculum to learn those tools, but just finished creating a version of the Game of Life that does not use React, or SASS. I was expecting to have to rework it to adhere to the requirements once I learn the new tools, but I will be quite happy not to have to redo it if I don't have to.

QuincyLarson commented 8 years ago

@marcnshapiro that's correct - we will no longer require specific technologies, as long as the project meets the user stories.

marcnshapiro commented 8 years ago

Thanks. That's good to know.

temiadesina commented 8 years ago

Hi @QuincyLarson When would I am currently taking the Basic Algorithm scripting but I can see FCC is updating the curriculum, and the Responsive web design challenges would be updated, would we get access to this curriculum on FCC or via sub domain ?

ghost commented 8 years ago

@temiadesina, it will be pushed eventually to staging, which will be pushed to master (https://freecodecamp.com). Bare with us! cc @QuincyLarson

temiadesina commented 8 years ago

@atjonathan Sure! looking forward to the new improvements

QuincyLarson commented 8 years ago

A quick update in case you're wondering what's going on with our curriculum expansion effort:

We are making steady progress. This progress is difficult to perceive, because it's spread across the curriculum expansion branch code, GitHub issues, HyperDev, CodePen, and a lot of other places.

We'll ship all of these improvements at the exact same time, once they are all ready, and work to make this transition as smooth as possible.

Thanks for your patience.

QuincyLarson commented 7 years ago

Thanks for your help everyone! We've loaded these challenges into the seed files and plan to deploy them to beta as soon as possible.

I'm closing this issue. If anyone wants to discuss these further, please reopen it.

Ruchika30 commented 7 years ago

@Quincy Larson. Would like to know when is the beta FCC coming live ?

QuincyLarson commented 7 years ago

@Ruchika30 Please read the FAQ: https://forum.freecodecamp.org/t/frequently-asked-questions-about-the-freecodecamp-beta/134331/

VRamazing commented 7 years ago

@quincy Will I still be able to earn a full stack certificate if I complete the old certifications and projects

QuincyLarson commented 7 years ago

@VRamazing To earn the Full Stack Certificate you'll need to complete all of the new certificates. You'll still be able to earn the old certificates, though, if you want. Please read the FAQ: https://forum.freecodecamp.org/t/frequently-asked-questions-about-the-freecodecamp-beta/134331/