강의

멘토링

커뮤니티

Programming

/

Programming Language

Learn JavaScript Object-Oriented Programming by 'Building', Not Just Theory (Strategy AI Edition)

📌 This course is a curriculum that starts with a strategic AI tic-tac-toe project and completes core object-oriented programming concepts through practical examples. You'll train logic design and AI strategic thinking through game implementation, then directly experience OOP design techniques like inheritance, composition, delegation, and encapsulation through code. This is recommended for those who want to grow beyond syntax into a 'developer who designs' through real projects.

(5.0) 1 reviews

27 learners

Level Basic

Course period Unlimited

  • nhcodingstudio
3시간 만에 완강할 수 있는 강의 ⏰
3시간 만에 완강할 수 있는 강의 ⏰
틱택토
틱택토
HTML/CSS
HTML/CSS
JavaScript
JavaScript
oop
oop
3시간 만에 완강할 수 있는 강의 ⏰
3시간 만에 완강할 수 있는 강의 ⏰
틱택토
틱택토
HTML/CSS
HTML/CSS
JavaScript
JavaScript
oop
oop

What you will gain after the course

  • Ability to fully implement a console-based tic-tac-toe game

  • Ability to structure user input processing and game flow control logic

  • Designed and implemented everything from basic random AI to strategic AI

  • Implementing logic to evaluate game situations based on conditions and apply priorities

  • Establishing the Concepts of JavaScript Objects and Constructor Functions

  • Understanding the differences and connection structure between prototype and class syntax

  • Practical application of core object-oriented programming concepts such as inheritance, super, and override

  • Flexible Feature Design through Composition and Delegation

  • Implementing Safe Object Protection and Internal Information Hiding through Encapsulation

  • Enables structured design by distinguishing roles and responsibilities in object collaboration structures



🎮 《Learning JavaScript the Right Way: Building a Strategic AI Tic-Tac-Toe and Mastering Object-Oriented Programming》


🔥 "You can no longer survive with 'scattered syntax'!"

You've learned variables, functions, conditionals, and loops so far...
But when it comes to actually coding, haven't you ever found yourself stuck, not knowing where to start?

📌 Why is that?

Because you've learned the syntax but never learned 'the power to design'!
Because you've written code, but can't explain 'why you wrote it that way'!
Because you thought it just needed to work, but as time passes, you can't even understand your own code!sau một thời gian thậm chí không thể hiểu code của chính mình!

💣 And most importantly…
Because you've never created "code that thinks and acts on its own"!


🚨 Realize it now.
The critical difference from professional developers is created by 'design skills'.

If you miss this, you'll continue to remain just a 'search-based coder'.
Before it's too late, grow into a 'designer' starting from this very moment.


🚀 This course completely shatters that reality!

You will integrate scattered grammar into one,
Design code that thinks and makes decisions yourself,
And finally grow into a developer who creates 'your own strategic AI'!


🎮 Build it yourself – a program that truly 'thinks'!

🤖 Beyond beginner AI that moves randomly...
🛡 Defensive strategy, offensive strategy, center control, corner priority, and even the ultimate fork strategy!

👉 Now your code asks.
"How can I win this time?"

Code that judges on its own and moves toward victory just like a human,
create it yourself with your own hands!


👨‍💻 And here, you step onto the path of a true developer.


📚 Why should you learn Object-Oriented Programming (OOP)?

Object-oriented programming is not just a technology.
It's a 'framework of thinking' that interprets the complex world,
gives it order, and structures chaos.

We all live thinking in an object-oriented way.
People, cars, companies, and even nations are made up of objects with 'roles and responsibilities'.

💡 Real developers don't just write code.
They cultivate a perspective on the world,
and learn ways of thinking that solve problems.


📚 Real Design Skills Learned Through OOP!

🧩 Assemble only the features you need (Composition)
📦 Distribute work intelligently (
Delegation)
🚚 Collaborate perfectly according to roles (
Separation of Roles and Responsibilities)
🔐 Protect information on its own (
Encapsulation)
🧬 Freely change capabilities depending on the situation (Polymorphism)

💡 You will implement all these techniques yourself.
Code will no longer control you.
Now you become the architect who controls the code.


🎯 The skills you've been longing for will be perfected in this very course.

"Code that just waits for instructions" → "Code that thinks and moves on its own"

This course will completely transform your coding life.


📣 Time is passing by even at this very moment.
🚀 If you hesitate, it'll be too late.
Enter the world of 'Strategic AI' and 'Object-Oriented Design' right now!

👉 If you don't start now, you might find yourself repeating the same concerns a year from now.


💥 This time, it's your turn to truly grow for real.
Now, go beyond coding and become a 'developer who designs the world'!

After taking this course, you'll be able to create results like these

🤖 Complete a Strategic AI Tic-Tac-Toe That Makes Its Own Decisions

Random selection is the limitation of beginner AI.

Attack priority, defense priority, center control, corner occupation,
And finally, even the two-pronged winning fork strategy!
📌 Design and implement an AI that recognizes situations and independently selects the most advantageous strategy.

📦 Role Separation Design System: Solving Real-World Problems Through Code

Precisely separate complex problems like shipping, payment, and notifications by their roles!
Implement flexible design that connects only when needed!
📌 Build scalable services yourself using SRP (Single Responsibility Principle) and Strategy Pattern.

🧬 Experience Flexible Polymorphic Design That's Resilient to Change

Same method name, different behavior!
Write code that actively adapts to different situations!
📌 Apply Polymorphism to create practical, flexible code that can be extended without modifying existing code, even when new features are required.

🧩 Smart Feature Combination Design Without Unnecessary Code

No more heavy and complex code!
Select only the essential features and assemble them like LEGO blocks!
📌 Complete the optimal combination design that efficiently combines only the necessary features. chỉ với những tính năng cần thiết một cách hiệu quả.

💬 VIP-Exclusive Chatbot – Extending Advanced Features with Inheritance and Override

Inherit common features through Inheritance,
Provide customized VIP-exclusive responses through Override!
📌 Separate the functionality of regular chatbots and VIP chatbots with object-oriented design, and build a differentiated advanced response system yourself.

🔐 Ironclad Security! Perfect Information Hiding with Encapsulation Design

Symbol, #private fields, WeakMap completely block external access!
Keep important data safely hidden and protected!
📌 Through Encapsulation, you'll directly design and implement programs with superior security and stability.

📚 Course Curriculum Structure


🎮 Section 1. Strategic Console Tic-Tac-Toe Project – Practical JavaScript Practice and AI Strategy Implementation

Goal:
Design a complete Tic-Tac-Toe game in a console environment, implement strategic AI, and connect JavaScript fundamentals and logical thinking to practical application.


🗂 Part 1. Implementing Game Logic

📋 Implement function to display 3x3 board and current state
🎯 Develop logic for player marker selection and first move determination
🔄 Write code to alternate turns and correctly place markers
🏆 Check win conditions (horizontal, vertical, diagonal) and handle draws
🛠 Complete run() function to control overall game flow


🤖 Part 2. AI Strategy Development

🎲 Random AI: The most basic AI that randomly selects an empty space
🛡 Defensive AI: A defensive strategy that blocks positions where the player can win
Offensive AI: An aggressive strategy that finds and selects winning positions first
🎯 Center Control Strategy AI: A strategy that prioritizes capturing the center for game control
📐 Corner Strategy AI: A strategy that increases winning probability by securing corners first
🧩 Fork Strategy AI: An advanced strategy that designs two simultaneous winning routes



📚 Section 2. Introduction to Object-Oriented Programming with Class Syntax

Goal:
Build a foundation in JavaScript object-oriented programming and learn efficient code reuse and design methods.


📖 Understanding the limitations of procedural programming and recognizing the need for OOP
🛠 Automating repetitive object creation with constructor functions
🔗 Complete mastery of prototype and __proto__ structure
📖 Writing readable and maintainable code with ES6 class syntax


🏗 Section 3. Object-Oriented Class Design Part 1 – Inheritance and Flexible Extension

Goal:
Learn design techniques that enhance code reusability and extensibility through inheritance and override.


📚 Inheritance: Inheriting common functionality from a parent class
🔧 Override: Redefining parent methods in a child class
🎛 Hybrid Override: Adding child logic while preserving parent logic
🎯 Practical Mission: User Management System & VIP Chatbot System Design


🎭 Section 4. Polymorphism and Interface Design – Building Flexible Systems

Goal:
Learn flexible and scalable object design through polymorphism and interfaces.


📖 Polymorphism: Same method name, different behavior depending on the situation
📢 Interfaces and Abstract Classes: Define common contracts and maintain consistent systems
🎯 Practical Mission: Implement a global notification system and automatic delivery service selection system


Section 5. Collaboration and Composition – Designing Efficient Object Collaboration

Goal:
Develop the ability to design systems that select only necessary features through composition and delegation, and efficiently distribute responsibilities.


🧩 Composition: Flexibly assemble by selecting only the necessary features
📦 Delegation: Delegating complex tasks to other objects
👔 Separation of Roles and Responsibilities (SRP): Practicing the Single Responsibility Principle for objects
🎯 Practical Mission: Smartwatch Feature Assembly & Global Notification System Development


🔐 Section 6. Information Protection and Security Design – Complete Mastery of Encapsulation

Goal:
Master the techniques of protecting sensitive data and designing secure objects through encapsulation and security design.


🗝 Designing Private Properties with Symbol: Protecting data with hidden properties
🔒 #private fields: Completely blocking external access with modern syntax
📚 Implementing Secure Storage with WeakMap: Data encapsulation absolutely inaccessible from outside
📌 Implementing Common Utilities with static Methods: Writing efficient code by designing fixed functionality callable without objects
🎯 Practical Mission: Security-enhanced system, real-time translation cache system, user system unique ID issuance and login design


💥 After completing this course, you will...

  • 📈 Grow from a simple coder to a developer who solves problems

  • 🎯 Solve complex problems by structuring them with design thinking

  • 🔐 Acquire advanced design skills considering security and maintainability

  • 🧩 Master flexible and scalable object-oriented design

  • 🚀 Master strategic thinking and programming intuition that works in real-world practice


📚 Notes Before Taking the Course

Required Prerequisites

  • It's recommended that you have knowledge of JavaScript's basic syntax.
    (e.g., variable declaration, conditional statements, loops, function definitions, etc.)(Ví dụ: khai báo biến, câu lệnh điều kiện, vòng lặp, định nghĩa hàm, v.v.)

  • Even if your grammar isn't perfect, the course is structured so you can learn naturally through hands-on practice.

💻 Practice Environment

  • Operating System: Windows / macOS / Linux (all supported)

  • Required Programs:

    • Chrome browser (latest version recommended)

    • Visual Studio Code (VSCode) – Installation and usage instructions included in the course

📂 Provided Learning Materials (ALL-IN-ONE Package)

  • 💻 All practice code and project source code (GitHub link provided)

    • Complete example code and real-world project source code created in the lectures provided

    • Includes code comments and detailed explanations, covering everything from review to practical application!

  • 📑 Practical Mission Templates & Answer Explanations Provided (GitHub Link Provided)

    • Hands-on mission templates and assignments you can solve yourself provided

    • Solution code for each mission + detailed explanatory comments on why it was written this way

  • 📂 All detailed class notes & advanced materials provided (GitHub link included)

    • Advanced materials provided with comprehensive coverage of
      theory + practical application code for advanced concepts like OOP design patterns, strategy patterns, encapsulation, and polymorphism

    • Key keywords, design flowcharts, and pattern application examples neatly organized

📢 Important Notes Before Enrollment

  • This is a hands-on course where you learn by writing code yourself.

  • You can easily follow along by adjusting the lecture speed and repeating the lessons as needed.

  • Questions related to the course will be answered quickly through the Q&A board (response within 24 hours maximum).

💡 TIP!
Having a basic understanding of HTML and CSS will make it easier to follow along.
However, it's not required, and necessary parts will be explained together within the course!

📢 Student-Exclusive Community Information

Anyone taking this course can join our exclusive community.
Study together, ask questions, share concerns, and quickly exchange the latest development news!

  • Share learning know-how and experiences with each other

  • Quickly ask questions and get answers

  • Share trends and information in real-time and grow together!

📱 Join KakaoTalk Open Channel:
👉https://open.kakao.com/o/gC10Fnoh

Recommended for
these people

Who is this course right for?

  • People who have learned basic JavaScript syntax but have no experience building their own projects

  • Those who want to implement AI logic or strategy-based programs using JavaScript

  • For those who want to systematically learn OOP (Object-Oriented Programming) concepts with code

  • For those who want to clearly understand JavaScript's class syntax, prototype structure, private fields, etc.

  • For those who want to understand class-based code structure and build a foundation for team projects

  • For those who want to improve their JavaScript skills in a fun way through game projects

  • Those who want to understand object design from a security perspective, including encapsulation, information hiding, and data protection

  • Aspiring developers who want to learn flexible and safe object design techniques that can be used in practice

Need to know before starting?

  • Basic Syntax of JavaScript

  • Basic usage of arrays and objects

  • Experience using console input/output such as console.log() and prompt()

Hello
This is

706

Learners

44

Reviews

16

Answers

4.8

Rating

13

Courses

안녕하세요, 우리동네코딩 스튜디오에 오신 것을 환영합니다!

우리동네코딩 스튜디오는 카네기 멜론, 워싱턴, 토론토, 워터루 등 북미의 주요 대학에서 컴퓨터공학을 전공하고, Google, Microsoft, Meta 등 글로벌 IT 기업에서 실무 경험을 쌓은 개발자들이 함께 만든 교육 그룹입니다.

처음에는 미국과 캐나다의 컴퓨터공학 전공자들끼리 함께 공부하며 성장하고자 만든 스터디 모임에서 시작되었습니다. 각기 다른 대학, 다른 시간대에 있었지만 함께 문제를 해결하고 서로에게 배운 그 시간은 매우 특별했고, 자연스럽게 이런 생각이 들었습니다.

“우리가 공부하던 이 방식, 그대로 다른 사람에게도 전하면 어떨까?”

그 물음이 바로 우리동네코딩 스튜디오의 출발점이었습니다.

현재는 약 30명의 현직 개발자와 컴퓨터공학 전공 대학생들이 각자의 전문 분야를 맡아, 입문부터 실전까지 아우르는 커리큘럼을 직접 설계하고 강의합니다. 단순한 지식 전달을 넘어, 진짜 개발자의 시선으로 배우고 함께 성장할 수 있는 환경을 제공합니다.

“진짜 개발자는, 진짜 개발자에게 배워야 합니다.”

저희는 웹 개발의 전 과정을 처음부터 끝까지 체계적으로 다루되, 이론에 머무르지 않고 실습과 실전 중심의 피드백을 통해 실력을 키워드립니다.
수강생 한 사람, 한 사람의 성장을 함께 고민하고 이끌어가는 것이 우리의 철학입니다.

🎯 우리의 철학은 분명합니다.
"진정한 배움은 실천에서 오고, 성장은 함께할 때 완성된다."

개발을 처음 시작하는 입문자부터, 실무 능력을 키우고 싶은 취업 준비생, 진로를 탐색 중인 청소년까지.
우리동네코딩 스튜디오는 모두의 출발점이자, 함께 걷는 든든한 동반자가 되고자 합니다.

이제, 혼자 고민하지 마세요.
우리동네코딩 스튜디오가 여러분의 성장을 함께하겠습니다.


Welcome to Neighborhood Coding Studio!

Neighborhood Coding Studio was founded by a team of developers who studied computer science at top North American universities such as Carnegie Mellon, the University of Washington, the University of Toronto, and the University of Waterloo, and went on to gain hands-on experience at global tech companies like Google, Microsoft, and Meta.

It all began as a study group formed by computer science students across the U.S. and Canada, created to grow together by sharing knowledge, solving problems, and learning from one another.
Though we were attending different schools in different time zones, the experience was so meaningful that it led us to one simple thought:

“What if we shared this way of learning with others?”

That thought became the foundation of Neighborhood Coding Studio.

Today, we are a team of around 30 active developers and computer science students, each taking responsibility for their area of expertise—designing and delivering a curriculum that spans from foundational knowledge to real-world development.
We’re not just here to teach—we’re here to help you see through the lens of real developers and grow together.

“To become a real developer, you must learn from real developers.”

Our courses take you through the entire web development journey—from start to finish—focused on hands-on practice, real-world projects, and practical feedback.
We care deeply about each learner’s growth and are committed to supporting your path every step of the way.

🎯 Our philosophy is simple but powerful:
"True learning comes from doing, and true growth happens together."

Whether you're just getting started, preparing for your first job, or exploring your future in tech,
Neighborhood Coding Studio is here to be your launchpad—and your trusted companion on the journey.

You don’t have to do it alone.
Let Neighborhood Coding Studio walk with you toward your future in development.

Curriculum

All

68 lectures ∙ (3hr 32min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

1 reviews

5.0

1 reviews

  • mrsmiler11063122님의 프로필 이미지
    mrsmiler11063122

    Reviews 3

    Average Rating 5.0

    5

    100% enrolled

    • nhcodingstudio
      Instructor

      Thank you, sonshine! 🙏 It gives me tremendous strength that you completed 100% of the course and left such a precious review. The fact that you stayed with me until the end means you consistently focused throughout, which brings me immense satisfaction as well. I hope you were able to experience how the object-oriented programming concepts covered in this course are actually applied in real projects. Thanks to following along to the end, I'm sure the OOP concepts have become much more ingrained in you. 🚀 If you become interested in larger structures like web servers or frameworks as you continue your learning journey, I also recommend the "Building a Node.js Server Engine – Learning Framework Design through Express.js Clone" course. It's a process where you can experience how JavaScript concepts expand within web engine principles, so you can naturally progress to the next level. Of course, please don't feel any pressure at all – if you need it, just consider it as a reference. 🙂 If you have any questions or difficult parts during your studies, please feel free to reach out anytime. I'll sincerely answer even small questions and share concerns together. 💬 Also, in the open chat room below, you can share experiences with other students and communicate directly with me as well. 📮 👉 [https://open.kakao.com/o/gC10Fnoh] I sincerely thank you once again for sonshine's passion and completion, and I cheer for continued good results in your future learning journey! 🌟

Limited time deal ends in 2 days

$11.00

16%

$13.20

nhcodingstudio's other courses

Check out other courses by the instructor!

Similar courses

Explore other courses in the same field!