New Feature: Indicator of module level progress

I would love to have an overall indication of progress on a module.

For example:

when you complete a challenge you have the percentage of completion of the current section
Note that each challenge has vastly different completion times, so a percentage may not be indicative of how much work you will still need to do

1 Like

Yep, I’d like it even more-so on the module level. I added an image.

That’s essentially a meaningless percentage, as the time it takes to complete each challenge varies and later challenges tend to be much more difficult than earlier challenges.

1 Like

@JeremyLT I might be wrong, but I don’t see it as time, but the completed/total count in percentage.

@jknapp25 You can try creating an issue with a feature request. I’m guessing it wouldn’t be too hard to implement considering we already have the completed/total count for each section.

But I’m not so sure having a percentage on the button is really the right UI/UX.

1 Like

Right, I understand that it would be a measure of the percent of total challenges completed. But not all of the courses inside of a cerfication module have the remotely same level of difficulty, so this is a bad statistic. The measurement makes a comparison between apples and potatoes. At least inside of a course the difficulty levels are closer and the measurement isn’t as bad of a statistic.

@JeremyLT I’m 2/3 of the way through the Javascript Algorithms and Data Structures and it hasn’t varied much at all. So atleast for this module, for most of it, it would have been helpful for me.

If the percentage is too vague, a simple “86/123”, like what is already being done at the section level, would also be helpful.

A last note, somehow FCC is deriving a 300hour estimate. Which if based on something, assumes that they understand how long each challenge generally takes. That could also be used to create a percentage.

I re-named the feature request so people don’t get hung up on the percentage idea.

Particularly in the JS section, the last few courses tend to be a fair amount harder than the earlier ones. I just don’t think this sort of statistic, however it is represented, tells the learner anything useful whatsoever.

I have no idea how the 300 hour estimate was created, but it has enough variance that we regularly tell people that is means nothing if they take much longer or much less time. There really isn’t a good way to measure how the wide range of different learners out there will take.

Here is an image just as an example.

I just copy-pasted the .map-title-completed element from the sections and added some random numbers. Don’t seem too bad. But I’m not sure about the compleated circle though.

1 Like

@JeremyLT I’ve already made a case for this feature being useful for the majority of content within a module. I don’t think it has to be perfect.

Anyhow, I think the idea is clear: an indication of progress at all levels. From my experience, it’s standard in learning platforms. I think feedback is vital for maintaining user engagement over time and reducing trail-off.

You’ve made a case, yes. I just don’t agree with it :slight_smile:

There is the temptation to believe that providing more numbers = more information = more betterer

This just isn’t true. Numbers distill information. If we distill the information in a way that is not useful, our number does not actually provide very much information, or worse yet, encourages people to misunderstand the information that is avaliable.

For example, which the exercise count next to the 300 hour estimate, its natural for the brain to assume that 263/268 on the 300 hour JavaScript Algorithms and Data Structures course means they are basically done when in fact they still have the most difficult part to complete - the 5 projects.

Bad statistics that provide misleading information are discouraging and can decrease engagement.

@JeremyLT who get’s to decide what a “bad statistic” is? I’m a user, and I think this would be a helpful statistic.

Regardless, this is software, you can try new features then remove them if they don’t work. Agile 101.

People with experience in professional statistics should probably have some say :wink:

Sure, it feels like its providing information. That’s why bad statistics are so dangerous.

I think this discussion is better in a GitHub issue as the people actually in charge of the UI can comment.

I suspect it may be seen as a superfluous UI element, although a total count isn’t actually anywhere in the UI (I don’t think).


@lasborg I created a new issue here…


Hi All,

We will be happy to take questions here about anything that you feel would contribute to the discussion here. :slight_smile:


I still don’t think this is a great idea - statistics should be added carefully, but if we ultimately decide to present this statistic on the front page, then I think we should remove the 300 hours estimate from the certification titles on front page. The two pieces of data visually very close together make it too easy for users to combine two very rough statistics and come to very wrong conclusions about the pace at which they are ‘supposed to’ progress.

Perhaps the 300 hour estimate would better fit in the ‘Slow Down and Read This’ portion rather than duplicated in each challenge title?

Really, it would be also valuable to separate the number of challenges completed from the number of projects completed because they require vastly different levels of effort.

Again though, this brings me back to thinking that this is a lot of clutter to add. There isn’t an obvious way to add this ‘simply’ that’s coming to mind, but maybe I’m missing it?

I dunno. Providing meaningful summary data in a clean way in a UX is hard.

I would see it a good thing to add in the new curriculum, where each step of the projects is a small action, but with the current curriculum where each challenge can require vastly different levels of effort, and it oscillate throughout, it may be something where user get stuck on the percentage itself, they may want for it to increase of the same amount each day or something - like already people want to know how many challenges to do each day, every day the same number, and they don’t like being told to just take it as it goes, to not focus on a number
give humans a number, and they want it to go like this


Are you a gamer? I’m not. Do you have any idea how games solve this problem? Or even other learning platforms?

First let me clarify something really quick:

The “300 hours” estimate is intentionally vague and intentionally more than some of our learners would need.

We have had people like Florin Pop, literally speed run through the whole curriculum in a month, and then we have had people who have returned from a hiatus to work on their certificate.

We made the estimate based on how long each challenge should take on average and extrapolated that.

The bottom-line is we want you to understand the curriculum is hard, and will take time.

But, how long it will actually take depends on the seriousness and dedication of the individual learner. It also depends on how much time people can spend out of their busy lives.

We make it abundantly clear before you sign up with the “slow down and read” message.

It’s OK to feel demotivated when a huge duration is thrown at you. Because learning to code is hard.

75% of our monthly active users will drop off after the first certification. Does it mean the course is hard? Well, no because others have gotten their certs in a couple days.

This means coding may not be for everyone, but we make it free for you to try it out. And we work hard to make sure you like it, and probably get past the hard part and enjoy the rewards of your labor.

We literally cannot & will not make any estimates that will align with your style of learning. It varies with every individual.

freeCodeCamp’s curriculum is a path, that you take at your own pace. When you arrive at the end of the path you get a certification.

So, keeping any calculation that is based on “how long” or “when will I be done” type goals, is not what we want or will entertain.

However, we are interested in any UX that enhances the experience in a way that leaners do get motivated & feel good about their achievement. We will be interested in UX that nudges you to come back when you feel demotivated.

1 Like