We may earn an affiliate commission when you visit our partners.
Course image
Arjun Swani

You probably are already using JavaScript, commonly used for interactive web capabilities such as creating website search tools. However, organizations also use JavaScript to create online learning activities, online games for sales discounts (think of the spin-the-wheel-for-the-discount activity), and other interactive experiences.

In this hands-on guided project, you will recreate the game of Rock-Paper-Scissors using JavaScript in IBM's cloud-based environment.

Read more

You probably are already using JavaScript, commonly used for interactive web capabilities such as creating website search tools. However, organizations also use JavaScript to create online learning activities, online games for sales discounts (think of the spin-the-wheel-for-the-discount activity), and other interactive experiences.

In this hands-on guided project, you will recreate the game of Rock-Paper-Scissors using JavaScript in IBM's cloud-based environment.

You’ll learn how to apply JavaScript functions, objects, and event handlers to handle the game logic and deliver a logical, consistent gaming experience.

Your online lab environment has all of the software you need pre-installed. All you need is a recent version of a modern web browser to complete this project.

What's inside

Learning objectives

  • After completing this project, you'll be able to:
  • Use javascript to manipulate the web page to simulate gameplay
  • Employ functions, objects, and event handlers to manage the game logic behind the scenes and deliver a seamless experience

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Taught by Arjun Swani, who co-authored JavaScript: The Good Parts and has spoken at conferences like Node+JS Interactive and Polymer Summit. This indicates a strong grasp of JavaScript
Emphasizes hands-on learning, empowering students to create a fully functional game using JavaScript
Leverages JavaScript's capabilities for creating interactive web experiences, making it relevant to web developers and designers
Suitable for beginners seeking to explore the fundamentals of JavaScript and its application in interactive web development
Aligned with industry practices, featuring the use of functions, objects, and event handlers for building engaging user experiences
Imparts valuable skills in JavaScript manipulation for creating dynamic web pages that enhance user engagement

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Practical javascript basics with game project

According to learners, this course provides a highly practical and engaging introduction to JavaScript by guiding students through building a Rock-Paper-Scissors game. It is widely praised for its clear, step-by-step instructions and the hands-on experience it offers. Students highlight how the project effectively teaches fundamental concepts like JavaScript functions, objects, and event handlers, making it an excellent starting point for absolute beginners in web development. While largely seen as a positive learning experience, a few students with prior JavaScript knowledge found the content too basic, suggesting it's best suited for those with little to no prior experience.
IBM's cloud-based lab environment is reported to be reliable.
"The IBM cloud environment was easy to use, and I faced no technical issues."
"The lab environment was fine."
"It was nice to have everything set up in the cloud."
Provides precise and easy-to-follow step-by-step instructions.
"The instructions were precise, and the project was well-paced. Perfect for a quick, effective learning experience."
"It covers the core concepts well for a beginner. I appreciated the step-by-step guidance."
"The content was easy to follow, and the practical implementation of JavaScript concepts was spot on."
Tailored perfectly for those new to JavaScript.
"A great starting point for beginners!"
"Highly recommend for anyone just starting out in JS."
"This course is perfect for those with little to no prior JavaScript experience."
Emphasizes hands-on application of JavaScript concepts.
"This guided project was incredibly helpful for solidifying my JavaScript basics, especially with functions and event handlers. The hands-on approach of building the Rock-Paper-Scissors game made learning enjoyable and practical."
"Excellent course for getting hands-on with JavaScript. The way it explained event listeners and DOM manipulation was very clear. Building the game was a fun way to apply the knowledge."
"I feel more confident in my ability to build small interactive web features now. I gained a solid foundation from completing this course."
May feel too foundational for learners with existing JavaScript knowledge.
"Too basic for me... If you know loops and functions, you might find it redundant."
"Good for absolute beginners, but if you have even a little JavaScript knowledge, it might feel a bit too basic."
"For a 'V2', I expected a bit more depth... it's understandable for a guided project."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Guided Project: Learn JavaScript with Rock-Paper-Scissors V2 with these activities:
Participate in Study Groups
Enhance your learning experience by collaborating with peers, sharing knowledge, and discussing course material.
Browse courses on JavaScript
Show steps
  • Join or form study groups with fellow students taking the course.
  • Establish regular meeting times and set clear goals for each session.
  • Share notes, discuss concepts, and work on assignments together.
  • Provide support and encouragement to group members.
JavaScript Coding Challenges
Sharpen your JavaScript coding skills and problem-solving abilities through regular coding challenges.
Browse courses on JavaScript
Show steps
  • Join online coding platforms like LeetCode or HackerRank.
  • Solve JavaScript-based coding challenges to practice different concepts and algorithms.
  • Analyze solutions and learn from the approaches of others.
  • Consistently participate in coding challenges to enhance your proficiency.
Practice Creating Web Games
Foster your understanding of JavaScript principles and enhance your ability to build dynamic web games.
Browse courses on JavaScript
Show steps
  • Explore online tutorials and resources on JavaScript game development.
  • Follow tutorials to create simple games like Tic-Tac-Toe or Memory Match.
  • Experiment with different JavaScript functions and libraries to enhance game interactivity.
  • Share your creations with others and seek feedback.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Develop an Interactive Demo
Solidify your grasp of JavaScript event handling and demonstrate your skills through a fully functional interactive demo.
Browse courses on JavaScript
Show steps
  • Identify a specific use case or scenario for your interactive demo.
  • Design and plan the user interface and functionality of your demo.
  • Implement JavaScript code to handle user interactions, DOM manipulation, and data updates.
  • Test and refine your demo for usability and responsiveness.
  • Showcase your completed demo online or present it to peers for feedback.
Build a JavaScript Application
Demonstrate your comprehensive understanding of JavaScript by developing a fully functional web application.
Browse courses on JavaScript
Show steps
  • Define the scope, purpose, and target audience for your application.
  • Design the architecture and implement the front-end and back-end components of your application.
  • Utilize JavaScript frameworks or libraries to enhance functionality and user experience.
  • Test and deploy your application on a hosting platform.
  • Gather feedback and iterate on your application to improve its usability and features.
Contribute to JavaScript Projects
Gain practical experience and contribute to the JavaScript community by participating in open source projects.
Browse courses on JavaScript
Show steps
  • Identify open source JavaScript projects that align with your interests.
  • Review project documentation and familiarize yourself with the codebase.
  • Identify areas where you can contribute, such as bug fixes or feature enhancements.
  • Submit pull requests with your contributions and engage in code reviews.
  • Collaborate with the project maintainers and other contributors.
JavaScript Hackathon
Put your JavaScript skills to the test and expand your knowledge through a competitive hackathon.
Browse courses on JavaScript
Show steps
  • Identify and register for JavaScript-focused hackathons.
  • Form a team or work individually to develop innovative JavaScript-based solutions.
  • Utilize your JavaScript knowledge to solve real-world problems or create unique applications.
  • Network with other participants, share ideas, and learn from experts.

Career center

Learners who complete Guided Project: Learn JavaScript with Rock-Paper-Scissors V2 will develop knowledge and skills that may be useful to these careers:

Reading list

We've selected 50 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Guided Project: Learn JavaScript with Rock-Paper-Scissors V2.
Seminal work in the field of object-oriented design. It introduces 23 classic software design patterns that provide solutions to common design problems. While not a beginner's book, it is invaluable for deepening understanding and must-read for anyone serious about software architecture and design. It's widely referenced and considered a standard text for professional developers.
Classic in the JavaScript community, and it is still one of the best books on the language. Crockford leading expert on JavaScript, and his book is full of insights and best practices.
Deep dive into the architecture of game engines. It's a great resource for anyone who wants to learn more about how game engines work.
Is essential for anyone serious about backend web application development and system architecture. It explores the fundamental concepts and trade-offs involved in designing and implementing data systems that are scalable, reliable, and maintainable. It's a must-read for understanding the data layer of web applications.
Focusing on writing readable, maintainable, and well-structured code, this book is essential for any developer, regardless of their experience level. It emphasizes the importance of writing clean code within the context of object-oriented principles and is considered a foundational text for developing good programming habits. It highly recommended practical guide for students and professionals alike.
A key book for understanding the principles and practices of designing and building microservices. This architectural style is prevalent in modern web applications, particularly at scale. It provides guidance on modeling, integration, testing, deployment, and monitoring of microservices.
An excellent resource for understanding design patterns in a more accessible and engaging way. uses a visually rich format to explain complex concepts, making it suitable for undergraduate students and those new to design patterns. It complements 'Design Patterns' by providing a gentler introduction with practical examples.
Delves into various patterns for designing and implementing microservices. While the examples are in Java, the patterns and concepts are applicable across different technologies. It's a valuable resource for developers and architects working with microservice architectures.
Is crucial for understanding how to improve the design of existing object-oriented code without changing its external behavior. It provides a catalog of refactorings and explains when and why to apply them. This practical guide for developers looking to maintain and evolve object-oriented systems.
Offers a contemporary look at web security vulnerabilities through the lens of bug bounty programs. It covers modern attack techniques and provides real-world examples, making it a valuable resource for understanding current web application security threats.
Practical guide to writing efficient and maintainable game code. It's a great resource for anyone who wants to improve their programming skills.
Comprehensive guide to level design. It covers everything from the basics of level design to the more advanced techniques used by professional level designers.
Comprehensive guide to game development and production. It covers everything from the basics of game development to the more advanced techniques used by professional game developers.
Provides a comprehensive introduction to artificial intelligence, covering topics such as machine learning, natural language processing, and computer vision. It is suitable for students with a strong background in mathematics and computer science.
Offers timeless advice on a wide range of software development topics, including good design practices and writing flexible, maintainable code. While not solely focused on OOP, its principles strongly support object-oriented development. It's a highly recommended read for any programmer looking to improve their craft.
Provides a comprehensive introduction to partial differential equations, covering topics such as the heat equation, the wave equation, and the Laplace equation. It is suitable for students with a strong background in calculus and linear algebra.
Provides a comprehensive introduction to machine learning, covering topics such as supervised learning, unsupervised learning, and reinforcement learning. It is suitable for students with a strong background in mathematics and computer science.
Provides a comprehensive introduction to deep learning, covering topics such as neural networks, convolutional neural networks, and recurrent neural networks. It is suitable for students with a strong background in mathematics and computer science.
A practical guide for organizations and developers looking to migrate from monolithic applications to a microservice architecture. provides patterns and strategies for safely and effectively transitioning existing systems.
While Java-specific, this book offers invaluable insights into object-oriented best practices and common pitfalls. It presents a collection of programming guidelines and rules of thumb that are broadly applicable to other object-oriented languages. This must-read for Java developers and highly recommended for anyone looking to write robust and efficient object-oriented code.
A comprehensive guide covering the essential frontend technologies: HTML, CSS, and JavaScript, along with web graphics. is well-suited for beginners and includes exercises to reinforce learning. It provides a solid, broad understanding of how the pieces of a web page fit together.
Using Ruby as the examples language, this book provides a practical and accessible introduction to object-oriented design principles from an agile perspective. It focuses on creating clean, maintainable, and flexible code. is great for those learning OOP through Ruby or looking for a practical take on design.
Comprehensive guide to Node.js, a popular JavaScript runtime environment. It covers all the basics, as well as more advanced topics such as scaling and testing. It's a great book for anyone who wants to learn Node.js in depth.
Fast-paced guide to JavaScript for experienced programmers. It covers all the basics, as well as more advanced topics such as closures and functional programming. It's a great book for anyone who wants to learn JavaScript quickly.
Focuses on the challenges of building and deploying production-ready software, with a strong emphasis on stability and resilience. Its principles are crucial for ensuring that web applications are robust and perform well in real-world environments.
Focuses on design patterns specifically for Node.js, a popular runtime environment for server-side JavaScript. It helps developers build scalable and maintainable backend web applications using Node.js by applying established patterns.
Provides a comprehensive overview of the game development process, covering everything from game design to programming to art and sound design. It's a great starting point for anyone who wants to learn more about game development.
Comprehensive guide to game development with Python. It covers everything from game design to programming to art and sound design.
Explores the psychological principles behind game design. It's a great resource for anyone who wants to learn more about how to create games that are fun and engaging.
Practical guide to writing great game narratives. It covers everything from the basics of storytelling to the more advanced techniques used by professional game writers.
A foundational text covering the principles of object-oriented analysis and design. It introduces the Unified Modeling Language (UML) and provides a comprehensive approach to developing complex software systems using OOP. is valuable for students and professionals involved in the design phase of software development.
Provides a comprehensive overview of event handling in JavaScript, covering topics such as event propagation, event delegation, and custom events. It is particularly useful for developers who want to create interactive and responsive web applications.
Provides a comprehensive introduction to functions in mathematics, covering topics such as the real number system, complex numbers, and the calculus of functions. It is suitable for students with a strong background in mathematics.
This widely recommended series provides a deep understanding of JavaScript's core mechanisms. It's invaluable for developers who want to write more effective and efficient JavaScript code, which is fundamental for both frontend and many backend web application technologies.
Explores object-oriented design principles and design patterns within the context of agile software development using C#. It provides practical guidance on how to apply these concepts to build robust and maintainable applications. It's a valuable resource for C# developers interested in clean design and agile methodologies.
This foundational book presents an approach to software development that focuses on modeling the business domain. While not exclusively about web applications, its principles are highly relevant to designing complex web applications, especially within a microservice architecture.
Offers a deeper dive into JavaScript as a programming language. It moves beyond the basics and explores more complex concepts, which is crucial for developing interactive and dynamic web applications. It is highly regarded for its clear explanations and practical examples.
Is the definitive guide to writing correct and efficient concurrent programs in Java. While concurrency broader topic, it is highly relevant to object-oriented programming, especially in modern multi-threaded applications. This book is essential for Java developers working with concurrency.
Introduces Test-Driven Development (TDD) through simple examples. TDD software development process that relies on the repetition of a very short development cycle: requirements are turned into very specific test cases, then the software is improved to pass the new tests, only then is the new code accepted. While not exclusively about OOP, TDD strongly influences object-oriented design by promoting small, testable units of code.
A comprehensive guide to software construction, covering topics like design, coding, debugging, and testing. While a large book, it provides invaluable insights into building high-quality software, directly applicable to creating reliable and maintainable web applications.
A classic in the field of software architecture, this book presents a catalog of patterns for building enterprise-level applications. Many of these patterns are directly applicable to the design and implementation of complex web applications.
A widely used textbook for learning C++, this book provides a thorough introduction to the language, including its object-oriented features. It's suitable for students and developers who want a comprehensive guide to C++ and OOP.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Guided Project: Learn JavaScript with Rock-Paper-Scissors V2.
Intermediate Object-Oriented Programming for Unreal Games
Most relevant
AR in marketing using Meta Spark
Most relevant
AR for web using JavaScript
Most relevant
Using JavaScript and JSON in Django
Most relevant
Build "Guess The Color" game using JavaScript, HTML and...
Most relevant
Interactivity with JavaScript and jQuery
Most relevant
Building Interactive Web Pages Using Modern JavaScript
Most relevant
JavaScript for Web Development
Most relevant
Intermediate Object-Oriented Programming for Unity Games
Most relevant

edX Buyer Protection & Guarantee

Verified partner policies & purchase protections

World-Class University Partner
Free Trial & Audit

Free Audit Track Available

Free audit track available for most courses, giving open access to video lectures, course readings, and assignments at no charge.

Return & Refund Policy

14-Day Full Refund Window

14-day full refund available up to 14 days after course start or 14 days after payment (whichever comes second, up to 6 months max), provided verified certificate has not yet been earned.

Buyer Protections

Verified Academic & Industry Partner

University-backed credentials authored by elite institutions like Harvard, MIT, and Oxford, with tamper-proof certificate verification.

Key Purchase Protections
Free audit track for open learning access
14-day money-back guarantee on verified certificates
Prestigious university credentials (Harvard, MIT)
Automatic unenrollment refund process via dashboard
OpenCourser Verified Partner Policy details last reviewed: 2026-10-22
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser