What Coding Class is Right for You?

While many coding schools concentrate on full-time bootcamp programs, at Noble Desktop you can take individual classes on a specific topic, or take multiple courses as part of a certificate program. This flexibility allows you to learn a particular skill you want, or get a well-rounded start in our certificate programs.

If you’re not sure if coding is right for you, try one of our starter courses. If you like it, continue taking additional classes and you can earn a certificate. Our modular approach to classes allows you flexibility for scheduling and what you’ll learn.

Front-End Web Dev Bootcamps

The front-end of a website is what you see in a web browser. It’s the content, appearance, and interactivity seen in a webpage. To code the front-end you’ll use HTML, CSS, and JavaScript. We offer a full suite of web development courses and certificate programs.

HTML & CSS

The foundation of all webpages is HTML & CSS. HTML marks up or labels content such as headings, paragraphs, lists, links, and more. CSS styles the content based on your markup. HTML & CSS are easier to learn because they are coding, not full-blown programming. HTML is the easiest because there’s less code and complexity. CSS takes a bit longer to master because there’s more to it and it has some concepts that need to be understood for things to work properly. CSS continues to get new features faster than HTML, with newer layout techniques such as flexbox and grid. CSS continues to develop to give developers more control over the layout and appearance of a webpage.

You can get started with the basics of HTML and CSS in only 3 hours in our Intro to HTML & CSS class. If you need to learn it more in depth, take our Web Development Level 1 class, or for the most comprehensive program take our Front-End Web Development Certificate.

JavaScript

You can add animation and interactive functionality to webpages using JavaScript. JavaScript is the lord of a webpage, and can change both content (HTML) and styling (CSS) within a page. If anything needs to change after a page had loaded, it’s typically JavaScript that will be responsible for doing so.

JavaScript Libraries

Instead of having to write all the JavaScript yourself, many libraries allow you to use pre-made functionality. This will enable you to create things faster (by writing less code) without re-inventing the wheel.

jQuery

jQuery is like the swiss army knife of JavaScript libraries. It allows you to do so many different things. Many developers have packaged up their jQuery code as plugins, allowing you to do even more (slideshows, form validation, showing/hiding) without having to write much code yourself.

GreenSock

The GreenSock Animation Platform (GSAP) is a JavaScript library focused solely on animation. GreenSock gives you the most flexibility and control over animating anything within a webpage. It’s supported by all the major ad networks and recommended by Google for creating animated banner ads.

You should know some JavaScript/jQuery before learning GreenSock. While very powerful, in some ways GreenSock is easier than a lot of JavaScript/jQuery because the GreenSock syntax is very efficient and consistent.

React

React is a front-end JavaScript library for building an interactive UI (user interface) for web applications. Everything in React is a component. Each component can react (update) to changes, such as real-time data. Each component can updated without having to reload the entire webpage.

Before learning React you should have a know HTML, CSS, and JavaScript.

How to Get Started

Looking at the list of languages you can learn for front-end, it can be overwhelming knowing how much you should learn and where to start. When you’re getting started don’t worry about learning everything. You don’t need to know it all to start creating webpages. Knowing some HTML and CSS will get you started building simple websites. You can then add in JavaScript/jQuery.

See how you do learning and using those, and you’ll be in a better place to decide if you want to learn more and what that will be. Maybe you’ll want to learn more JavaScript and get into GreenSock, React, etc. or maybe you’ll want to explore the back-end (as we explain below.)

When learning HTML, CSS, etc., keep in mind that you are learning a language! Kids learning to speak their native language can understand you before they can speak, and when coding you’ll be able to look and understand code before you can know what to type in from scratch.

Practice makes perfect. To become a proficient coder keep the following in mind:

Learn the codes and know what they do.

Type those codes repeatedly to ingrain them into your memory.

As you start coding you’ll need to reference the books you get in our classes, Google, etc. until eventually you’ve written that code enough times that you can remember it without having to look it up.

Sometimes you may not fully understand concepts when you first see them, but they should start to make more sense after you get a bit deeper into a language. While HTML/CSS let you do things with very little code and get immediate feedback, more complex languages such as JavaScript require you to understand multiple core concepts before you can do something basic. HTML/CSS are going to be easier, while JavaScript is a step up in terms of complexity and difficulty. Just take things in stages. It’s like learning to crawl, walk, and then run. In time you will get it, especially the more you learn and practice.

Noble Desktop’s front-end classes are a great way to learn to code. They come with step-by-step workbooks which you can reference later if you forget how to code something. You can practice by going over the exercises and once you know the code you can start using it to build your own pages.

Back-End Web Dev Bootcamps

The back-end of a website involves things that happen on a web server (a computer that runs the website). It usually involves a database for storing information such as products, prices, orders, social media posts, passwords, etc. Using a server-side coding language (such as PHP, Ruby, Node.js, etc.) you can process information in forms, create login/logout functionality, and much more.

This ability to accept user data is what creates the magical experience of websites like Instagram, YouTube, and Facebook. On the early internet, websites did not change much. You could view a restaurant menu or travel photos, but there was no reason to stay on a site after you’d seen it. The content was stagnant, and viewing was a lonely experience without interaction from other visitors to the site. Today, websites can captivate people for hours because there is always fresh content, comments from other users, and opportunities to interact. When users have their accounts, the experience can even be personalized to match their tastes. This kind of dynamic, engaging experience is the real value of a backend programming language.

WordPress & PHP

WordPress is a CMS (content management system). That means regular people (non-coders) can go in and update content such as text, images, etc. WordPress is the world’s most popular CMS, running over 30% of all websites. Behind the scenes, WordPress runs on PHP, a server-side language that has been around for a very long time.

While non-coders can update content, there are limits to what they can do. Themes control the appearance and functionality of a WordPress site, and they are coded with HTML, CSS, JavaScript and some PHP.

Ruby on Rails

Ruby on Rails is very developer friendly. It’s powerful, yet the code is readable and intuitive. It lets programmers write code quickly and efficiently, which is why it’s popular with many companies such Airbnb, GitHub, and many others.

When Ruby on Rails emerged in the early 2000s, it delivered a karate-chop to the web development ecosystem. In contrast to the existing tools, which emphasized flexibility and generality, Ruby on Rails was laser-focused on being productive for web development. Instead of personalized configuration, Ruby on Rails holds everyone to the same strict conventions. These conventions function like a “shorthand” for code and allow experienced Ruby on Rails developers to create an amazing amount of functionality in a short amount of time. Other languages and frameworks have since adopted many of the principles that Ruby on Rails pioneered, but it remains an excellent specialized tool for web development.

Node.js

Because so many front-end web developers know JavaScript, they wanted to be able to run JavaScript on a server instead of having to learn another server-side language. Node.js makes this possible. Node.js is asynchronous and many concurrent connections can be handled at the same time, updating each connection once a process has finished. In other words, Node.js can run very quickly.

Two unique advantages that Node.js enjoys are the speed of JavaScript and the ability to handle many simultaneous connections. Because JavaScript is a bottleneck when browsing the internet, Google has spent an immense amount of time and money figuring out how to run it faster. The result is called the V8 JavaScript engine, which forms an important part of the Chrome internet browser. Node.js can reuse the V8 engine when it runs JavaScript code on the back-end, giving it a speed advantage over similar server-side languages.

The second advantage of Node.js is that it will happily support thousands of simultaneous connections. Node.js was designed during the modern internet era where 10,000 users could be interacting with a website at the same time, and its architecture is built to accommodate that. Like a waiter serving several tables at once, it can jump back and forth between users and satisfy all their demands in real-time. Other backends, designed for a simpler era, default to satisfying one user at a time and will struggle under heavy traffic unless they are augmented. This feature of Node.js, its “asynchronous” design, makes it more difficult to learn initially but much easier to scale up in the case of a popular website.

Python

Python very popular and gaining momentum. That’s partially because you can use it for so many things: back-end web development, data science, automation, and more. Another reason people like Python is its short, readable code.

Python is a popular choice for backend programming because it is easy to read and versatile. The readable code makes the learning curve for Python friendlier than any other language. This emphasis on readability carries over to the tools built in Python, which also tend to be simpler to use than in competing languages. While readability has these short-term benefits for students of Python, it also has long-term ones. Teams of programmers have an easier time collaborating on each others code, finding bugs, and onboard new members.

When Python is used for a variety of tasks within a team—like web development, automation, and data analysis—it eliminates the extra work it would normally take to use multiple languages for these tasks. There is the obvious extra work of setting up and integrating tools from two separate languages, but there are also the time spent learning and enforcing best practices in two different languages. Just using Python eliminates both kinds of extra work. Using the same language across different functions also makes it easier for programmers to switch roles if the need arises.

Data Science Bootcamps

As massive and complicated data sets become increasingly common, specialized tools such as Python, SQL, and R have emerged to analyze, visualize, and transform that data. Python is one of the most common tools for working with data due to its open-source license, relative ease of use, and available third-party tools. Data scientists also use SQL to directly access and manipulate databases. R is a great programming language for those who need a more specialized tool focused on statistical analysis.

Python

Python is quickly becoming the lingua franca of data. The reason for its booming popularity, in short, is that it is a versatile, open-source language that is fun to use. Up until recently, the tools for dealing with data formed a very fractured landscape. Each particular discipline had its preferred tool, which was usually proprietary. Economists tended toward STATA, machine learning researchers tended toward MATLAB, and physicists tended toward Mathematica. As collaboration over the internet has become easier, the passionate open source community around Python has caught up to these proprietary tools and surpassed them. Features that used to make these proprietary tools unique—advanced graphing capabilities or a shareable notebook format, for example—have all been incorporated into Python. Users from all kinds of quantitative disciplines have been migrating to Python, attracted by the appeal of an open-source tool that is more versatile and fun to use.

SQL

More and more professionals are being expected to use data in their decision-making, and learning SQL will mean you are ready. SQL lets you answer questions using a database, the ultimate system of record for most organizations. While spreadsheets can give you a partial snapshot of your organization’s data, with SQL you can get a complete view of your data in real-time. You will also learn how data is inserted and organized, so that you can better understand how your organization collects the data it has. This can give you valuable insight into whether important data is being lost, or if poorly organized data is slowing you down.

R

For statistical analysis, R has a set of tools that is unmatched in depth and sophistication. Statisticians and other academics have been contributing to R for over 25 years, guaranteeing that for any statistical technique you can think of there will be a high-quality tool ready and waiting. If you have a background in statistics, you may find R easier to use because the terminology will be consistent with your training. However, since R is a specialized tool for statistical analysis, you may want to consider a more general-purpose language like Python if your interests are broader.

iOS App Dev Bootcamps

Swift is Apple’s latest coding language for creating iOS apps. Compared to the previous language (Objective-C), Swift should be easier and more friendly for new app developers. Swift is also more like JavaScript, which should help web developers that want to make the transition to app developer.

If you have never done any coding or programming, it can be daunting to jump right into iOS app development. Having prior experience in another programming language such as JavaScript or Python will help, as you’ll already understand some fundamental programming concepts that many languages share.

In particular, it will help to be comfortable with object-oriented programming and reading API documentation. iOS development heavily involves building on top of code that Apple developers have written and using APIs that Apple provides. Unlike in other domains, a new iOS project will not start from a blank slate but will instead plug into a strict framework that allows your code to safely interact with the iPhone or iPad it runs on. Understanding how to fit into that framework is the biggest hurdle when starting with iOS development, and relies on your ability to read documentation and object-oriented code.

What Will You Learn?

The most important thing to coding is getting started. Once you get going you’ll see how you like it, how well you do, and what you enjoy most. That’s why we have individual classes that let you get started, many of which count toward a longer certificate program if you want to continue.

Not sure what type of coding is right for you? Just ask and we’ll help you decide which classes or certificate programs are best suited to your goals and abilities.