Comments (6)
@TheOdinProject/javascript Can someone take a look please.
from curriculum.
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.
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.
@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.
@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.
This issue is stale because it has had no activity for the last 30 days.
from curriculum.
Related Issues (20)
- Join the Odin Community: Problem with verify phone number on discord HOT 4
- Introduction: What is NodeJS?: Event loop video already in JavaScript course HOT 3
- Setting Up A React Environment: YouTube video no longer available HOT 6
- Foundations: Add new `Effective Learning Techniques` section, move learning techniques content to it, and collaborate to add more content HOT 11
- New CSS troubleshooting video HOT 1
- Battleship: Clarify Ship Implementation Options in Gameboard Task HOT 1
- Markdownlint: New rule "Use markdown links"
- Linting: Tutorial to setup eslint with vscode not working anymore. HOT 4
- Node Pathway: Provide descriptive link text HOT 57
- Getting Started: Introduction to npm already in last lesson HOT 1
- CV Application Project: Bonus Section for the Project HOT 4
- Objects and Object Constructors: Format and Text Alignment Inconsistency. HOT 5
- Linting: Need updated tutorials for VS Code and Sublime Text HOT 1
- Markdownlint: New custom ordered list lazy numbering rule HOT 3
- Object Basics: Filter Method section references nonexistent code HOT 3
- Common Data Structures and Algorithms: Dead link in knowledge check HOT 4
- Fetching Data In React: Check loading before check error HOT 2
- Foundations:Links and Images add deep dive videos into noopener and noreferrer HOT 1
- Asynchronous Code: Incorrect assignment message in lesson description in scrimba video lesson HOT 2
- JS - A Quick Review: Modify recommendations for reviewing JS HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from curriculum.