Largest Numbers in Arrays issue

I think codewars is appropriate for beginners.
They have a lot of manageable problems at 8kyu level.

@lasjorg
I agree with you. What happened to me, for example, is that (after reading a post here) I started to solve algorithms on codewars. Now, I know that’s the kind of website where what matters is to solve the problem, and that many solutions that work (or are voted a best practice) sometimes are just written in a fashion way, very short, cryptic, and often are not best practice at all… That said, when I came back to the FCC algorithm section I found a HUGE difference in… style, how to say… the way problems are solved… certainly the solutions here are written in a very clear way, but as you said E6 is normality now; I almost never use a normal for loop when I can rely on a built-in function like map, reduce ecc. They are really powerful and we need to teach them… But now that I look back, actually, I think is better to start with E5, grasp the idea behind loops and such, and only then move to higher order functions. For example, I personally think there’s a great lesson in the curriculum where you build your own map method. Involving prototypes, callback, arrow notation and so on, they should be taught a bit later, I think. It took me some time to grasp them: they can be very confusing and intimidating, especially when one moves from the FCC friendly environment to read a quite technical documentation on MDN. So, in my humble opinion we do need to move closer to E6. ( It’s fine to start with var, for instance, but we know that now they are monster from the old time and that they will almost not used in a modern code: I used the var keyword only here on FCC).

I took a peak at the new projects on github for FCC and in the learn javascript by building a game project they introduce let and const within a couple of lessons.

1 Like

Order of progression is difficult.

For example, you have to teach about var to understand the benefits of let and const. It’s just how you do it. Teaching is almost always opinionated (to some degree) which is where the paths diverge. Some would say, hey this is var this is what it does and why you shouldn’t use it. Others would say, hey here is var learn what it does and understand it well enough to make your own informed decisions.

The problem I see with having a lot of challenges before introducing the array methods is it can become harder to make the switch and you end up writing extremely imperative code for so long that switching to a more declarative approach takes more mental effort than what might be good. You should know and learn about both approaches, but I see some really long, verbose, and hard to follow code come out of not teaching, what I believe to be, is the better more declarative style.

Having a section on declarative vs imperative earlier in the curriculum with the introduction to array methods would make sense to me. It might also briefly touch on some functional concepts that then later is taught more in-depth.

1 Like

Where can I find the challenges the community is working on? On Github, I mean…

it’s a different repository called “curriculum expansion”

2 Likes
1 Like

I find the challenges you’re talking about. I’m so happy I finally decided to start using Github, hopefully I’ll be able to contribute too…

1 Like