We may earn an affiliate commission when you visit our partners.
Course image
The Net Ninja (Shaun Pelling)

Hey gang, and welcome to your first step on the path to becoming a JavaScript ninja. In this course I'll be teaching you my absolute favourite language (JavaScript. ) from the very beginning, right through to creating fully-fledged, dynamic & interactive web experiences.

Read more

Hey gang, and welcome to your first step on the path to becoming a JavaScript ninja. In this course I'll be teaching you my absolute favourite language (JavaScript. ) from the very beginning, right through to creating fully-fledged, dynamic & interactive web experiences.

We'll cover all the basics to get you up-and-running quickly, before diving in to some of the really fun stuff like web-page manipulation, creating interactive forms, popups & other cool effects. Along the way we'll be using the latest additions to the JavaScript specification (ES6, 7 & beyond) and maintaining good coding standards to keep our code clean and effective.

Once we master the basics, we'll dive into several real-life JavaScript projects, including an interactive quiz, a weather app, a real-time chat application and a small UI library you can use in all your future projects.

We'll also take a look at some more advanced topics - object oriented programming, asynchronous code, real-time databases using Firebase (including a new chapter about Firebase 9) and much more. Finally, we'll be setting up a modern work-flow using Webpack & Babel, so that by the end of this course you'll be no less than a black-belt JavaScript developer with a lot of coding techniques in your tool-belt.

Speaking of ninjas, I'm also known as The Net Ninja on YouTube, where you'll find hundreds of free coding tutorials, so feel free to pop by to say hello :).

Enroll now

What's inside

Learning objectives

  • Learn how to program with modern javascript, from the very beginning to more advanced topics
  • Learn all about oop (object-oriented programming) with javascript, working with prototypes & classes
  • Learn how to create real-world front-end applications with javascript (quizes, weather apps, chat rooms etc)
  • Learn how to make useful javascript driven ui components like popups, drop-downs, tabs, tool-tips & more.
  • Learn how to use modern, cutting-edge javascript features today by using a modern workflow (babel & webpack)
  • Learn how to use real-time databases to store, retrieve and update application data
  • Explore api's to make the most of third-party data (such as weather information)

Syllabus

An introduction to the whole course and how to set up a good working environment.
Why You Should Take This Course
Why JavaScript is Amazing
Setting up Your Environment
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Builds a strong foundation for learners in JavaScript web development
Develops skills and knowledge that are highly relevant to industry web development
Deepens understanding of modern cutting-edge JavaScript features
Provides a comprehensive study of JavaScript, from basic to advanced topics
Takes a creative approach to teaching JavaScript, making it enjoyable learning
Utilizes multi-modal approach with videos, readings, and discussions to enhance learning

Save this course

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

Reviews summary

Solid foundation in modern javascript

According to learners, this course provides a largely positive experience, especially for beginners and those seeking a solid foundation in modern JavaScript. Students frequently highlight the instructor, Shaun (The Net Ninja), describing him as an amazing instructor who explains complex topics clearly and makes learning easy to follow. The practical examples and projects are consistently praised as being very helpful for solidifying understanding and providing great hands-on practice. While the course is considered a perfect starting point for many, some reviews mention that the pace moves quite fast in later sections, and specific advanced topics like async programming and Firebase could use updating or more detail, leading a few to feel it might not fully live up to the 'Ninja' title.
Pace good for basics, faster later; depth varies.
"The pace is good for beginners..."
"Moves quite fast in later sections."
"Some parts felt a little rushed, especially the async section."
Hands-on projects solidify understanding well.
"The projects were especially helpful for solidifying understanding."
"I loved the practical examples and projects."
"Projects are practical... The projects reinforce the concepts perfectly."
"The projects are great for practice."
Complex topics explained clearly step-by-step.
"He explains complex topics clearly and concisely."
"Everything is explained step-by-step, making it easy to follow even for a complete novice."
"Explains everything very well. The course structure is logical..."
Shaun (The Net Ninja) is highly praised.
"Absolutely fantastic course! Shaun (The Net Ninja) is an amazing instructor."
"The instructor's teaching style is engaging and easy to follow."
"The instructor is fantastic! Explains everything very well."
Async/Firebase sections may lack depth or be outdated.
"Some parts feel outdated now. Firebase section was confusing..."
"Felt I needed external resources for deeper understanding of topics like asynchronous programming."
"the latter parts on async and Firebase could use updating or more detail..."
"not sure it lives up to 'Ninja'. Moves quite fast in later sections."

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 Modern JavaScript (Complete guide, from Novice to Ninja) with these activities:
Find a JavaScript mentor
Identify an experienced JavaScript developer who can provide guidance, support, and advice to accelerate your learning journey.
Show steps
  • Attend industry events or join online communities to connect with potential mentors.
  • Reach out to your professional network for referrals.
  • Interview potential mentors to find the best fit for your needs.
  • Establish clear expectations and goals with your mentor.
  • Meet regularly with your mentor and seek their guidance.
Compile a collection of JavaScript resources
Gather and organize valuable JavaScript resources, including documentation, tutorials, and articles, to create a comprehensive reference for your own use and to share with others.
Show steps
  • Identify and collect relevant JavaScript resources from various sources.
  • Organize the resources into categories or topics.
  • Create a central repository or document to store the compiled resources.
  • Continuously update and expand your collection as new resources become available.
  • Share your compilation with the JavaScript community.
Attend a JavaScript workshop
Participate in a workshop led by experienced JavaScript developers to gain practical knowledge, learn new techniques, and connect with other learners.
Show steps
  • Research and identify relevant JavaScript workshops in your area or online.
  • Register for a workshop that aligns with your learning objectives.
  • Attend the workshop and actively participate in the sessions.
  • Engage with the instructors and other attendees.
  • Follow up after the workshop by practicing what you learned.
Three other activities
Expand to see all activities and additional details
Show all six activities
Build a portfolio of small JS projects
Create a portfolio of small JavaScript projects to solidify your understanding of the fundamentals and practice your coding skills.
Show steps
  • Choose a project idea that interests you and aligns with your learning goals.
  • Plan out the project structure and create a basic HTML and CSS framework.
  • Implement JavaScript functionality to bring the project to life.
  • Test and debug your code to ensure it works as expected.
  • Document your code and add it to your portfolio.
Create a JavaScript library
Design and develop a reusable JavaScript library to enhance your coding efficiency and demonstrate your understanding of modular programming.
Browse courses on Reusable Code
Show steps
  • Identify a specific problem or functionality that your library will address.
  • Plan the architecture and structure of your library.
  • Write the JavaScript code for your library.
  • Test and debug your library thoroughly.
  • Document your library and make it available for others to use.
Mentor junior JavaScript developers
Share your knowledge and expertise by mentoring junior JavaScript developers, reinforcing your understanding while fostering their growth.
Show steps
  • Identify opportunities to mentor junior developers through online platforms or local meetups.
  • Prepare materials and resources to support your mentees.
  • Meet regularly with your mentees to provide guidance and support.
  • Provide constructive feedback and encourage their progress.
  • Reflect on your mentoring experience and seek continuous improvement.

Career center

Learners who complete Modern JavaScript (Complete guide, from Novice to Ninja) will develop knowledge and skills that may be useful to these careers:
Front-End Engineer
Front-End Engineers are responsible for the design and development of the visual interface of a website or web application. They work closely with designers to create a visually appealing and user-friendly experience. JavaScript is one of the most important languages for Front-End Engineers, as it allows them to create interactive and dynamic web pages. This course will teach you all the basics of JavaScript, from the very beginning to more advanced topics, so that you can become a successful Front-End Engineer.
Web Developer
Web Developers are responsible for the development and maintenance of websites. They work with a variety of programming languages, including JavaScript, to create websites that are both functional and visually appealing. This course will teach you all the basics of JavaScript, from the very beginning to more advanced topics, so that you can become a successful Web Developer.
Software Developer
Software Developers are responsible for the design, development, and maintenance of software applications. They work with a variety of programming languages, including JavaScript, to create software that is both functional and efficient. This course will teach you all the basics of JavaScript, from the very beginning to more advanced topics, so that you can become a successful Software Developer.
Full-Stack Developer
Full-Stack Developers are responsible for both the front-end and back-end development of web applications. They work with a variety of programming languages, including JavaScript, to create web applications that are both functional and visually appealing. This course will teach you all the basics of JavaScript, from the very beginning to more advanced topics, so that you can become a successful Full-Stack Developer.
UX Designer
UX Designers are responsible for the design of the user experience of a website or web application. They work closely with Front-End Engineers to create a visually appealing and user-friendly experience. JavaScript is one of the most important languages for UX Designers to learn, as it allows them to create interactive and dynamic web pages. This course will teach you all the basics of JavaScript, from the very beginning to more advanced topics, so that you can become a successful UX Designer.
Product Manager
Product Managers are responsible for the development and management of a product. They work with a variety of stakeholders, including engineers, designers, and marketing professionals, to ensure that the product is successful. JavaScript is one of the most important languages for Product Managers to learn, as it allows them to understand the technical aspects of the product and to communicate effectively with engineers. This course will teach you all the basics of JavaScript, from the very beginning to more advanced topics, so that you can become a successful Product Manager.
Data Analyst
Data Analysts are responsible for the collection, analysis, and interpretation of data. They work with a variety of programming languages, including JavaScript, to create data visualizations and reports that can be used to make informed decisions. This course will teach you all the basics of JavaScript, from the very beginning to more advanced topics, so that you can become a successful Data Analyst.
Business Analyst
Business Analysts are responsible for the analysis of business processes and the identification of opportunities for improvement. They work with a variety of stakeholders, including executives, managers, and employees, to gather information and develop solutions that can help the business achieve its goals. JavaScript is one of the most important languages for Business Analysts to learn, as it allows them to automate tasks and create data visualizations that can be used to support their analysis. This course will teach you all the basics of JavaScript, from the very beginning to more advanced topics, so that you can become a successful Business Analyst.
Project Manager
Project Managers are responsible for the planning, execution, and closure of projects. They work with a variety of stakeholders, including team members, clients, and executives, to ensure that the project is successful. JavaScript is one of the most important languages for Project Managers to learn, as it allows them to automate tasks and create data visualizations that can be used to track progress and identify risks. This course will teach you all the basics of JavaScript, from the very beginning to more advanced topics, so that you can become a successful Project Manager.
Technical Writer
Technical Writers are responsible for the creation of technical documentation, such as user manuals, white papers, and training materials. They work with a variety of stakeholders, including engineers, marketers, and customers, to gather information and develop documentation that is clear and easy to understand. JavaScript is one of the most important languages for Technical Writers to learn, as it allows them to create interactive and dynamic documentation that can be used to support users.
Quality Assurance Analyst
Quality Assurance Analysts are responsible for the testing of software applications to ensure that they are free of defects. They work with a variety of stakeholders, including engineers, product managers, and customers, to identify and fix defects. JavaScript is one of the most important languages for Quality Assurance Analysts to learn, as it allows them to automate tests and create data visualizations that can be used to track progress and identify risks.
IT Support Specialist
IT Support Specialists are responsible for the provision of technical support to users. They work with a variety of stakeholders, including employees, customers, and vendors, to resolve technical issues and ensure that systems are running smoothly. JavaScript is one of the most important languages for IT Support Specialists to learn, as it allows them to automate tasks and create data visualizations that can be used to track progress and identify risks.
Database Administrator
Database Administrators are responsible for the management and maintenance of databases. They work with a variety of stakeholders, including engineers, product managers, and customers, to ensure that databases are running smoothly and that data is secure. JavaScript is one of the most important languages for Database Administrators to learn, as it allows them to automate tasks and create data visualizations that can be used to track progress and identify risks.
Network Administrator
Network Administrators are responsible for the management and maintenance of computer networks. They work with a variety of stakeholders, including engineers, product managers, and customers, to ensure that networks are running smoothly and that data is secure. JavaScript is one of the most important languages for Network Administrators to learn, as it allows them to automate tasks and create data visualizations that can be used to track progress and identify risks.
Systems Analyst
Systems Analysts are responsible for the analysis and design of computer systems. They work with a variety of stakeholders, including engineers, product managers, and customers, to gather information and develop solutions that can help the organization achieve its goals. JavaScript is one of the most important languages for Systems Analysts to learn, as it allows them to automate tasks and create data visualizations that can be used to support their analysis.

Reading list

We've selected ten 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 Modern JavaScript (Complete guide, from Novice to Ninja).
Classic in the JavaScript community and is highly recommended for anyone who wants to learn the language well.
Comprehensive and well-written guide to JavaScript that is suitable for both beginners and experienced developers.
Fast-paced guide to JavaScript that is perfect for experienced programmers who want to learn the language quickly.
Comprehensive and authoritative guide to JavaScript that is suitable for both beginners and experienced developers.
Practical guide to JavaScript that is focused on helping web developers use the language effectively.
Practical guide to functional programming in JavaScript that is suitable for both beginners and experienced developers.
Collection of JavaScript design patterns that are useful for both beginners and experienced developers.

Share

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

Similar courses

Similar courses are unavailable at this time. Please try again later.
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