JavaScript Design Patterns (Udacity)

Offered by Udacity,
JavaScript Design Patterns (Udacity)

Organizing Code in a Disorganized World. This course covers methods for organizing your code, both conceptually and literally. You’ll learn the importance of separating concerns when writing JavaScript, gaining hands-on experience along the way. Separating concerns can be done with or without an organizational library or framework. We’ll learn how to separate concerns without one, and then we’ll explore an organizational library together. You’ll also learn strategies for exploring other libraries and frameworks on your own.

Class Deals by MOOC List - Click here and see Udacity's Active Discounts, Deals, and Promo Codes.

By the end of this course, you’ll understand (from experience) the importance of code organization, and how to implement it with either vanilla JavaScript or an organizational library or framework. Your applications will start looking clean and professional—not just to your users, but also to anyone who looks at the code driving your applications.
Many developers dive right into projects without thinking of the organization or structure of the code they’re writing. It's easy to hack projects together, but the best developers spend the extra time to think about the organization of their application and adhere to sound organizational practices.
In order to write clean code that will get you your next job or promotion, you'll need to have a solid understanding of organizational techniques, and you'll need to implement those techniques in your projects. Software developers who write clean and organized code are surprisingly hard to find, so if you can master code organization you’ll be a step above the rest.

What You Will Learn

Lesson 1
Changing Expectations

  • Build a project without an overall organizational paradigm.
  • Explore the pain points of not using an organizational model.
  • Introduction to future paradigms.

Lesson 2
Refactoring

  • New paradigms vs Lesson 1.
  • Rebuild the project with the new organizational paradigm.

Lesson 3
Using an Organizational Library

  • Explore KnockoutJS to organize our code and to reduce the amount of boilerplate we write.

Lesson 4
Exploring Unfamiliar Code

  • Explore code that you didn't write, and use a library or framework that you aren't familiar with.
  • Learn to explore code and foster one of the most important traits of a developer.

Prerequisites and Requirements
This course is for intermediate web developers with some experience with JavaScript, and some prior experience with a JavaScript library, such as jQuery.
Students should also be proficient in HTML and CSS, and should have experience creating static pages.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Objective-C for Swift Developers (Udacity) Udacity
Udacity

Objective-C for Swift Developers (Udacity)

This course is designed to teach students how to understand and identify the differences between the Objective-C and Swift programming languages, and especially, how to rewrite from the former to the latter. Understanding communications between the two languages—called "interoperability"—is becoming more and more important for developers, particularly as we prepare for the arrival of Swift 3.0.

Self Paced
Self-Paced
Programming Languages, Part A (Coursera) Coursera
University of Washington

Programming Languages, Part A (Coursera)

This course is an introduction to the basic concepts of programming languages, with a strong emphasis on functional programming. The course uses the languages ML, Racket, and Ruby as vehicles for teaching the concepts, but the real intent is to teach enough about how any language “fits together” to make you more effective programming in any language -- and in learning new ones.

Aug 10th 2026
5-12 Weeks
JavaScript Testing (Udacity) Udacity
Udacity

JavaScript Testing (Udacity)

Developing Apps with Confidence. In this course you'll learn how to write JavaScript applications with confidence, using the red-green-refactor workflow. You'll write comprehensive suites of tests that validate your application is functioning as intended at all times. You'll start by exploring how other industries use a variety of tests and the value it provides. You'll then start writing your very own tests, using the Jasmine testing framework. Finally, you'll start developing your very own address book application using the red-green-refactor workflow and explore a variety of scenarios including testing asynchronous functions.

Self Paced
Self-Paced
Writing READMEs (Udacity) Udacity
Udacity

Writing READMEs (Udacity)

In this course, you’ll learn what documentation is and why it’s an important part of the development process. You'll learn how to build a well-structured README that you’ll be able to incorporate into your projects moving forward. By the end of this course, you will have written your very own README file using Markdown.

Self Paced
Self-Paced
Building High Conversion Web Forms (Udacity) Udacity
Udacity,Google

Building High Conversion Web Forms (Udacity)

Forms Rock! Any meaningful experience on the web has a form. Whether it's a form made of text boxes, toggles, buttons, checkboxes, or touchable widgets, web developers need to be purposeful about forms to make users happy and increase conversions. In this course, you'll learn best practices for modern forms as taught by Google's Ido Green and Udacity's Cameron Pittman. You'll practice your skills along the way with a few self-directed projects, including an e-commerce checkout and an event planner app!

Self Paced
Self-Paced
Kotlin for Android Developers (Udacity) Udacity
Udacity

Kotlin for Android Developers (Udacity)

Convert an Android app from Java to Kotlin. In this course, Aaron Sarazan, Lead Software Engineer at Capital One and a leading advocate for Kotlin, demonstrates how to take a basic Android app in Java and convert it to Kotlin, teaching you key features of the Kotlin programming language along the way. This is an efficient, fast-paced introduction to Kotlin for experienced Java programmers.

Self Paced
Self-Paced
C++ For Programmers (Udacity) Udacity
Udacity

C++ For Programmers (Udacity)

Learn features and constructs for C++. C++ for Programmers is designed for students who are familiar with a programming language and wish to learn C++. This course focuses on 'how' as opposed to 'what'. For example, in the lesson on functions, we do not teach what a function is, but rather how to create a function in C++. The lessons are taught by several different instructors who have used C++ in their professional careers, so students get to experience different perspectives.

Self Paced
Self-Paced