P1xt / p1xt-guides

Programming curricula
MIT License
6.91k stars 1.7k forks source link

Order of some topics and some other questions #160

Closed ghost closed 3 years ago

ghost commented 3 years ago

Why is Jest Docs in Tier 3? It's part of the App Academy Open curriculum. There's also 'Software Testing' in Tier 1. I'm no expert but I thought it would be better if it was in Tier 1?

Another one is 'How To Design Programs' book which is in Tier 4. I thought it's an introductory book for beginners. OSSU CS has it in the very beginning (edX courses based on the book)

If I were to just focus on JS and not Ruby what would you recommend to replace it (App Academy Open) with? (Free or paid) I remember seeing a post from you on freeCodeCamp forums stating not to bother with learning Ruby.

regadius commented 3 years ago

Ruby is a beautiful language and comfortable language to work with, in my opinion and little experience. I would suggest to give it a shot nonetheless. For replacing, if you really despise it, I suppose you could do The Odin Project Javascript full stack path.

P1xt commented 3 years ago

You never saw me post on the FCC forums or anywhere else not to bother with learning Ruby. My stance from the beginning, and to this day, is that the language App Academy Open uses is irrelevant - what is important is the fundamental concepts it teaches. The concepts are what is important, and they will translate to any language.

Jest is in Tier 3, while the testing course is in Tier 1 in order to reinforce the concepts from the course with study of specific tooling later. You'll notice that there are many topics from one Tier that are built upon in a later tier with either additional courses or reading. Where possible, the earlier Tier contains introductory material, and the later Tier contains material at a greater degree of complexity so that you might learn concepts related to (in this case testing) gradually and in more depth.

How to Design Programs is both a fantastic book and a wonderful series of courses. That said, it would be appropriate in any Tier but in book form it is much more approachable after you are are familiar with functional programming concepts. It is in Tier 4 because Tier 4 is when you will get the most from it - functional programming is introduced in Tier 2 with a familiar language in JavaScript Allongé then built upon in Tier 3 with the SICP course, and two fantastic books which dive even deeper. Collectively, they build a foundation over two Tiers which set you up to learn deeply everything from How to Program, and get the most from it. If I stuck it in Tier 1, it would be enlightening, but a pretty rough slog, and you wouldn't have an appropriate context to appreciate how powerful the concepts are - by Tier 4, it's enlightening and illuminates concepts you've been learning across two prior Tiers, cementing those concepts.

My intent differs from that of OSSU. They provide an amazing resource for their intended purpose: replicating a CS degree in all it's rigor. Though I prioritize some of the same resources, and learning some of the same concepts, my intent really isn't the same - I attempt to provide a path that dives deeper each Tier to take you from novice to experienced developer.