Comments (8)
I transferred this from the repo for the main site to the curriculum repo.
This repo (the curriculum repo) is where all of our curriculum content is held in plain old markdown files. This makes it easy for people to contribute to the lesson content without having any specialized knowledge of how a Rails web app is set up. Because your suggestion is related to the curriculum content, I've moved it here.
from curriculum.
@headlessNode Thanks for opening the issue.
I'm skimming through the linked article. I feel it's beyond the scope of our curriculum.
from curriculum.
As for your suggestion itself, I'll defer to our @TheOdinProject/javascript team.
from curriculum.
So on the one hand, my thought is that at this point the main intent of the project is practicing unit testing and the article - while interesting - goes a fair bit out scope of that, especially since the article is pretty specific to Battleship (which a user should really move on from once finishing the project).
On the other hand, if we zoom out a bit in the article - focus less on it being specific to a game of Battleship - it could be helpful for gaining an understanding of implementing more intelligent strategy within code.
I feel like I personally lean slightly more towards not including it as a resource post-project, though. Maybe if we include verbiage like, "Coding an Intelligent Battleship Agent covers various ways to implement a smarter computer opponent in a game of Battleship. While you should not attempt to implement this logic in your own project (continue through the curriculum instead), it can be an interesting read if you can abstract the basic ideas to help you think through implementing algorithms and strategy in general."
Or something to that effect, but even then it's iffy for me.
from curriculum.
Your points about the main intent of our project being unit testing and the potential divergence from that focus are valid.
But at the same time, for users who want to add an Intelligent AI. I think we should provide a resource so that users can progress through the curriculum efficiently, without spending too much time researching different techniques for smart AI in the context of the Battleship game.
Including the article with a disclaimer seems like a sensible compromise.
from curriculum.
Just as a historical point, we recently removed any mention of AI in the tic-tac-toe lesson because it was too advanced for that point, and because far to many learners got stuck working on it.
It seems anytime we mention a possible upgrade, many many people will take that to be part of the assignment. So we need to carefully weigh priorities in the lesson.
from curriculum.
Your point about learners getting stuck on perceived upgrades is well-taken.
I believe this AI implementation is more feasible than advanced techniques like minimax. To address this, we could offer clear guidance in the lesson, highlighting that the AI implementation is optional. We could also advise users to refrain from utilizing, the Probabilistic Strategy outlined in the article.
from curriculum.
Based on the comment above plus my previous comment, I feel we should close this out as something we don't plan to implement at this time. Appreciate wanting to provide a resource for users on AI for Battleship (which could be abstracted to just AI in general), but it is quite a bit out of scope even as an "extra credit" sort of concept. We can always reopen this if others feel differently or it does end up being more beneficial than it currently seems, but in the mean time if this is something a user is super passionate/serious about, it seems better for those users to research it themselves.
from curriculum.
Related Issues (20)
- 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
- Function Basics: Extend note on not doing the MDN exercises to the second exercise bullet point HOT 3
- Easy fix: 'recommend' should be in past tense in the following context HOT 1
- Getting Started NodeJS Course - New 2024 TraversyMedia crash course video suggestion. HOT 7
- Styling React Applications(React): clarifications regarding Tailwind CSS as a styling option HOT 1
- Update Lesson: Deployment HOT 1
- Update Lesson: Authentication Basics HOT 1
- Foundations Command Line Basics: External UNIX Shell course uses Nano HOT 3
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.