Plans to add curriculum for TypeScript?

Hello! Paying supporter here with a course request.

It would be really awesome to see FCC launch courses for some of the emerging trends in frontend development. I feel like TypeScript is one of the biggest holes in the current curriculum and would LOVE to see a course that covers it in depth.

Yes there are TS resources elsewhere but I find I just learn so much better here and the hands-on style really helps with learning new concepts.

2 Likes

There are some TypeScript articles and videos that freeCodeCamp has released:

You can read about the current curriculum development plans here:


As a side note, freeCodeCamp is dedicated to providing the exact same experience to learners, regardless of their ability to donate money to keep us in operation. We believe that all users should receive a quality education regardless of their ability to donate.

3 Likes

Yeah, I think TS would be good to have, but not singularly so. There are other things that I think would be good to have (like SQL, thunk/saga, React Hooks, etc.) But it’s a matter of time and priorities - it’s a volunteer organization.

2 Likes

True, I noticed that React Hooks are also missing from the curriculum and I agree that they’re also very important (in fact one could argue that they’re something of a prerequisite to learning TS in the first place).

Curious – how do new courses get decided on?

@Jeremy: The videos and articles just don’t do it for me as much as the hands-on coding courses. I really feel like there’s no substitute for the step-by-step challenges that go alongside the bite-sized individual lessons. Typescript is a sufficiently complex subject that it deserves its own lesson plan, imho.

Quincy himself, plus the core team, decide on the plan of action.

this is from where the 100% matching of donations for the new curriculum come from, a bit more info on how it happened:

1 Like

For what it’s worth, everyone that I know who works with TypeScript has learned it on the job, coming from a JavaScript background. If you’re a strong JS programmer, learning the extra stuff associated with TS is similar to learning the extra stuff associated with a library. A lot of it is pretty intuitive and for everything else you can google as you go. When someone interviews with a company that is using TypeScript, we might ask what familiarity you have with it but don’t require it as a skill. “I sort of know what it is.” isn’t an uncommon answer to “How familiar are you with TypeScript?”. Often, we don’t even bother to ask. A good JS developer will be a good TS develoer.

I can think of a few explanatory exercises that could be put into freeCodeCamp’s curriculum format, but I feel like they would be somewhat arbitrary and scattered. I genuinely think that higher level explanations about the key differences between JS and TS are the highest value introduction to TS.

There’s no direct relationship between React Hooks and TypeScript. And no part of React is a prerequisite for TS.

1 Like

Hi Ariel,

That’s certainly a valid point; I’m learning TS on the job myself. With that being said, I’m not sure that this attitude would serve a more junior programmer who may not have their first job yet, and for whom a more structured learning style could yield the sort of knowledge that would allow them to break into the industry. (I don’t consider myself junior anymore but the same still holds true for me – I just find that the methodical, step-by-step approach that FCC offers makes it so easy to absorb complex topics with a kind of rigor that’s hard to replicate elsewhere.)

W/r/t Hooks <> TypeScript, I both agree and disagree. Technically you’re correct; not all TS developers are frontend developers. On the other hand, learning TypeScript as a frontend developer would benefit from an understanding of modern react with hooks. I do see what you’re saying though about decoupling TS from a strictly frontend curriculum – that’s a valid point.

This just is not on the roadmap right now. freeCodeCamp only has so much time and money to invest. But freeCodeCamp does a great job providing supplemental resources for all learners via our News and YouTube to help cover additional topics that are not currently part of the curriculum.

If you think there are additional resources that freeCodeCamp can provide, you can become a contributor and make them yourself.

If you would like to be one of the developer authors for Free Code Camp News, you can find everything you need to know in the Publication Style Guide, or read here about how to contribute to freeCodeCamp’s YouTube channel. Alternatively, you can find everything else about contributing to Free Code Camp in the contributing docs.

1 Like

Welcome, geochronology.

Just to mention it: CurriculumExpansion/learn-typescript-by-building-a-poker-game at master · freeCodeCamp/CurriculumExpansion (github.com)

:+1:

2 Likes

Not only is TS not tied to the front end, within the frontend it’s not really tied with React. If anything, it’s tied much more closely with Angular, which obviously doesn’t have anything to do with React Hooks.

I’m not saying it would be bad to have TS content, just that of the many places where freeCodeCamp could apply its limited resources to offer significant value, I wouldn’t rank it especially highly. (Don’t get me wrong, I love TS and would be delighted to see a resource as good as freeCodeCamp for it.)

3 Likes

Yeah, I have to agree with Ariel. I was debating whether or not to let it slide, but yeah, the two don’t really have anything to do with each other. TypeScript is older than hooks, and many (if not most) people use hooks without TS. Sure, they play well together, but the two have nothing to do with each other - neither is dependent on the other. Angular is a little different story, of course.

Don’t get me wrong - I love TS. I use it and use it with React. I just don’t think the argument to teach TS has anything to do with React. Again, I think it would good to teach, but also realize that there are a lot of other good things to teach, there is limited bandwidth/manpower, and that sometimes choices need to be made.

1 Like

Ah, mayhap my perspective is driven by the needs of the present moment, within my capacity as a frontend dev who’s looking to move to a new company and is interviewing accordingly.

From the job market needs of the present moment, if one seeks gainful employment as:

  1. a front-end React developer*

  2. with a company in the Bay Area or NYC

  3. and it’s 2021…

… then TypeScript is not simply a nice-to-have, it’s a deadass requirement.

My advocacy for TS therefore comes from the perspective of a job-seeker. And part of the purpose of FCC is to help people become professionals within the industry, right?

If so, then from my own firsthand experience, around 70-80% of currently unfilled frontend roles within major US tech hubs will not even consider you unless TypeScript is a skill that you own to a certain and demonstrable extent.

This number is lower outside of the major tech hubs so I do want to be fair. I don’t know how much lower and I’d actually be curious to find out; but it’s anecdotally the pattern that I’ve noticed.

But yeah in NYC and the Bay Area, TS for frontend jobs is a hard requirement. And if that’s the case with at least a certain number of companies elsewhere (20-30% of them?), then I think it makes sense to escalate TS as a priority for curriculum development.

* This is probably true for Angular as well from what I’m hearing

@Ariel: Out of curiosity, what what would your Top 5 priorities be if it were up to you?

(“Priority” defined here as a candidate to be added to the “core” curriculum with the hands-on learning style and step-by-step lessons that come along with it.)

I mean, (modern) Angular comes with TypeScript support out of the box. It would be very difficult to use Angular without some TypeScript knowledge (it is apparently possible to use Angular with only JavaScript, but a lot of effort).

Our goal is to provide a free resource through which people can learn to code, yes. I, personally, would love to see TypeScript in the curriculum. However, at the moment it’s not the top priority.

As @ieahleen mentioned earlier, we are currently focusing on the new data science and mathematics based curriculum:

As well as our project-based curriculum shift:

https://forum.freecodecamp.org/t/help-us-build-version-7-0-of-the-freecodecamp-curriculum

2 Likes

@nhcarrigan With all due respect, you can help more people find jobs by teaching TypeScript than teaching multivariable calculus.

I disagree with this.

TypeScript is currently high in demand (as you see) due to it being currently being used heavily in the industry for web development. However, that doesn’t mean its the best investment of the limited funds freeCodeCamp has. The main reason is because TypeScript is just an extension of JavaScript, where both are just being tools for web development.

Move beyond the environment of web development, and TypeScript/JavaScript knowledge starts becoming less and less useful. Let alone other web specific technologies like HTML/CSS, which is almost 100% domain knowledge. Web is a popular domain, but it isn’t the only domain.

This doesn’t apply to concepts that are focused on with the mathematics based curriculum. Math doesn’t go out of style. Regardless of language, environment, technology your using, its the same.

Furthermore, as noted in the article these topics are actually not taught very often in any platform beyond colleges. Making it “ripe” for learning. Especially as the “main weakness” of curriculum’s like freeCodeCamp is usually the lack of focus on the underlying theory. FCC already teaches a lot of practical skills, it doesn’t teach everything, but it does go over a lot. However, few online curriculum’s focus on the hard Computer Science topics underpinning a lot of what your learning.

It could be argued that “time and effort be spent on topic X, could be spent on topic Y”, but I find it really hard to say a technology, even one like TypeScript, is more important than the underlying theory. Yea your resume might look better, but understanding theory is what makes you be able to do your job better.

PS. I use Angular+TypeScript daily. If your strong at JavaScript, TypeScript will follow. Focused learning starting with TypeScript is how you get more confused with the underlying language, so I don’t recommend it, using freeCodeCamp or not. There is nothing stopping you from doing the projects using TS either. FCC just wont be able to help you, in which case the actual TS docs should be the main source, the same way you shouldn’t rely only on fCC to learn React/Redux/Node.js/jQuery/SASS. FCC is just the starting point, not the be-all-end-all.

3 Likes

I’ve only dabbled in TS for curiosity’s sake, we don’t use it where I work, but from what I’ve seen it would take a competent JS programmer maybe a week at the most to get very comfortable with it. If a company won’t hire a good JS programmer/developer because they don’t know something that they could easily pick up very quickly then that is a loss for the company and to be quite honest it sounds like I probably wouldn’t want to work there.

Not saying you shouldn’t learn TS, or at least be very familiar with it. It’s always good to have more things to put on your resume. But I’m going to agree with everyone else here that with the limited resources FCC has, devoting a significant amount of time to TS is probably not the best use of those resources.

4 Likes

6 posts were split to a new topic: Discussing Upcoming Maths Curriculum

Yeah, I’ve been doing it for about 4 months now. I learned the basics in a day. If I’d spent a week, I probably could have gotten to a very high level.

I still think it would be good to have, but the point that you shouldn’t mess with TS until you’ve mastered JS makes sense.

As to the math stuff, I don’t know. I started out as an engineering major so I’ve had single and multi variable calculus. I’ve had statistics and linear algebra. I really don’t know how you can expect to teach those subjects with any quality in a format like this. At best you could get and introduction and maybe see how they apply to DS. But I haven’t done DS so maybe there’s an aspect I’m not seeing.

But above all, I remind myself that this is not my site. There are choices that FCC makes with which I don’t completely agree. That is OK because I am part of a team. And the ultimate say and steering choices goes to the guy that had the vision to create this. I try to approach it with humility - I don’t always have the best idea. And that is a pretty good philosophy to have if you’re developing on a team anyway.

3 Likes