Code Monkey home page Code Monkey logo

Comments (6)

CouchofTomato avatar CouchofTomato commented on May 29, 2024

@TheOdinProject/javascript Can someone take a look please.

from curriculum.

thomasmcinnis avatar thomasmcinnis commented on May 29, 2024

Within the context of this issue, in my opinion the entire "Javascript in the real world" section feels like it belongs before the Todo project, and any attempt to resolve this issue should also tackle re-ordering.

My suggestion

  • The JSON and OOP Principles lessons should be moved into the "Javascript in the real world" section
  • The ToDo Project should be the capstone project for that section

The Form Validation and Dynamic User Interface lessons thus becomes pre-read for the ToDo app project where they have some relevance

This would significantly improve the rationale for these units and solve them feeling like a selection of disparate topics.

from curriculum.

thatblindgeye avatar thatblindgeye commented on May 29, 2024

I agree that some restructuring makes sense in those first few sections of the JavaScript course. These aren't my final thoughts, just kinda brainstorming after reading these comments + looking at the lessons quickly + finishing my morning coffee 😆

  • Because it's mentioned in another issue as well as a discussion, the Dynamic UI lesson I feel makes sense to remove entirely. I mentioned that removing the mobile menu + animation requirements made sense, but at that point it's basically creating a dropdown sort of menu and an image slider. Which while they can be helpful to practice JS + CSS, feel a bit out of place and just dropped into the curriculum. An image slider maybe would work better as a CSS exercise in our exercise repo.
  • Form Validation lesson: I think it makes sense as its own lesson where users are told to go back to their Library project and add form validation as practice (or just create a new mini-project for the name, email, zip, etc fields to be validated). The Library project's main goal should be putting into practice object constructors, and I don't think it'd be best to also have users practice form validation at the same time.
  • Linting lesson: makes more sense to come after Webpack wherever it's placed. It mentions Webpack in the "repo template" section. I think this also can make sense in the "real world" section, though, as it's not really about organizing code.
  • What is ES6 lesson: also think it makes sense to keep this as its own lesson as it isn't only about Babel; it also covers how in the real world not every "customer'/user will be using the most up to date browser. Maybe instead of "What is ES6?" the title should be less specific, "ECMAScript". It still feels more like a "JS in the real world" kind of topic to me.

So I think maybe we could take both suggestions in this issue, mix them together while retaining some of the current structure, to get something maybe along these lines:

  • Organizing Your JavaScript Code
    • Organizing Your Javascript Code Introduction (although honestly, I personally think we should remove this as I don't see a significant benefit)
    • Objects and Object Constructors
    • Project: Library
    • Factory Functions and the Module Pattern
    • Project: Tic Tac Toe
    • Classes
    • ES6 Modules
    • Webpack
    • OOP Principles (this could also work in the real world section, but thematically it also feels fitting kept in this section)
    • Project: Restaurant Page
  • JavaScript in the Real World
    • Linting
    • ECMAScript (previously "What is ES6?")
    • Form Validation with JavaScript
    • JavaScript Object Notation (previously "JSON")
    • Project: Todo List (we could also place the OOP Principles lesson before this instead of in the "Organizing..." section)

Keeping in mind that regardless of changes, some of these lessons could use some sprucing up in various ways. Like I said, this isn't really my final thought on the matter, just what I'm thinking of as the ideas are marinating. Would love to know what others think.

from curriculum.

01zulfi avatar 01zulfi commented on May 29, 2024

@thatblindgeye Your suggestion makes sense. Buuuut, if we're talking about restructuring these sections, I have a wildly different take on our JS course (and the path as a whole) https://github.com/TheOdinProject/staff/discussions/18

from curriculum.

thatblindgeye avatar thatblindgeye commented on May 29, 2024

@01zulfi I'll take a closer look at that at some point soon. May come down to whether it makes more sense to hold off on any sort of restructuring as part of this issue in favor of a more robust restructuring of the path as a whole, or restructuring these couple of sections in the specific JS course now.

I don't feel strongly towards one in particular, and it probably more comes down to the timing of things, i.e. if a full path restructure is still a long ways out it may make sense to do this smaller restructuring in the mean time.

from curriculum.

github-actions avatar github-actions commented on May 29, 2024

This issue is stale because it has had no activity for the last 30 days.

from curriculum.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.