coding Tag Archives - General Assembly Blog

Free Lesson: Coding Essentials in 30 Minutes

By

More than half of all jobs in the top income quartile show significant demand for coding skills.* Spend half an hour with expert GA instructor Madeline O’Moore to write your first lines of code and learn how coding knowledge applies to so many different fields. She’ll give you an overview of:

  • How HTML and CSS function together to form the backbone of the web.
  • Key coding terms and principles.
  • Tools you can use to practice.

If you’re curious to keep exploring, discover our popular short-form workshops like Programming for Non-Programmers. To dive deeper, check out our upcoming Front-End Web Development course to cement a versatile foundation in HTML, CSS, and JavaScript. Or start exploring what it takes to launch a career in web development with our Software Engineering Immersive career accelerator.

Browse Coding Workshops and Courses

*Source: Burning Glass, Beyond Tech

3 Reasons Python Programming is So Popular

By

Since its introduction in the ’90s, Python has rapidly become one of the world’s most popular programming languages. Most recently, we have seen Python even surpass other languages like Java. How has a humble language like Python managed to gain so much attention? Why is Python so popular?

Some estimates claim there were over 8 million active users of Python by the end of 2018. What has created the demand for this programming language compared to Java with 7.6 million, C# with 6.7 million, and JavaScript with 11.7 million active users at the end of 2018? One way to think about using a programming language is to think about its primary use case. In the case of JavaScript, the primary function is building software for the web or the cloud. Cloud infrastructure and web development are still very common business needs. For C# and Java, these use cases are more driven to desktop application development, which has started to fall off with the rise of the mobile-first mentality of end-users.

1. The rise of analytics and Python.

With Python, the use cases are shifting to data analysis and machine learning. As Clive Humby stated back in 2006, “Data is the new oil.” The bottom line is that data science has a high value. Companies have made data analytics and data science a priority due to their abilities to maximize profits and gain better insights on business. Because of well-developed resources like the data science workhorses of Pandas and Scikit-learn, Python easily does the heavy-lifting of machine learning algorithms.

Along with ready-made tools to do the work, Python is also an incredibly readable programming language. Its syntax was explicitly designed to remove a lot of unnecessary code and emphasize making it human-readable. Python makes the development of complex programs easier to write and easier to manage, which translates directly to the bottom line of the company.

2. Why is Python so popular? One word of many: Free.

The facts that drive Python’s booming popularity: it is an open source and free to use. Developers all over the world are writing and distributing software packages in Python that small companies or individual developers can use in their projects for free. Who wouldn’t want to be able to plug into a sophisticated image segmentation library developed by Google? At no cost! Just a few years ago, similar image analysis software cost thousands of dollars and was not nearly as user-friendly.

3. It takes a village.

Python programming is easy to learn, easy to write, cheap to build with, and massive followings of programmers worldwide. It’s no wonder Python is rapidly gaining in popularity. One of the worst feelings for new developers is not understanding why their program isn’t working, but with Python, the programming and data science communities are very active. Blog posts, answer sites like StackOverflow, and groups on LinkedIn have made getting feedback and solutions to your issues easier than ever. Getting hands-on help with issues quickly, learning, and picking up better development practices are no longer a daunting task.

The best way to learn any new language is to immerse yourself. Popular programming languages like Python are no different. The more time you interact with solving real-world problems with a new language, the faster you can become fluent. There are tons of resources like YouTube videos and blog posts, but I find that there really isn’t a better-suited way to learn than hands-on teaching. You need to raise your hand and ask an instructor attuned to the Python language, programming languages, Python code, data science, python developers, artificial intelligence, programming, and machine learning, and more.

General Assembly: the bridge to machine learning.

The immense rise of use cases and companies hiring developers, allows an increase in places to learn these new skills. General Assembly has a multitude of ways to get you started on the path to learning Python and becoming a Python developer. Informal and free introduction sessions at General Assembly aim to get you running code in just a couple of hours. Part-time classes take things up a notch by giving you focused hands-on lessons twice a week, over 10 weeks — artificial intelligence will have nothing on you. For those future Python developers that are ready to take the plunge, and want a deep-dive into all things machine learning, General Assembly also offers full-time Data Science Immersive programs every quarter to learn Python code, programming, nuances of artificial intelligence — and more.

Why is Python so popular? These reasons are a very good place to start!

Learn More About Our Python Offerings

Getting Started with Sublime Text 3: 25 Tips, Tricks, and Shortcuts

By

Computer with blinking text selector

Sublime Text 3 (ST3) is the latest version of one of the most commonly used plain text editors by web developers, coders, and programmers. It’s available for Mac, Windows, and Linux, and free to download and use.

Make the most of ST3 with the 25 tips and tricks in this ultimate guide for web developers. Learn not only how to use Sublime Text 3, but also about must-have packages, useful keyboard shortcuts, and more.

1. User Preference Settings

By default, ST3 uses hard-tabs that are 4 characters long. This can result in hard-to-read code, as large tabular indents push your work to the right. I recommend all developers add this to their user settings (Sublime Text 3 => Preferences => Settings – User):

  {
    "draw_white_space": "all",
    "rulers": [80],
    "tab_size": 2,
    "translate_tabs_to_spaces": true
  }

This setting converts hard-tabs to spaces, makes indents only two characters long, puts a ruler at the 80 character mark (to remind you to keep your code concise), and adds white space markers. Here is a complete list of preference options if you wish to continue customizing your ST3 environment.
Continue reading

Using APIs in Full-Stack Web Development and App Creation

By

Think about your personal experiences using ride-sharing mobile apps like Lyft. You’re able to request a car to your exact geographic coordinates, right down to the street corner. This functionality is possible thanks to application programming interfaces, or APIs.

An API is a platform that allows different pieces of software, or applications, to communicate with one another. The term is used broadly in the context of programming languages, the web, operating systems, etc. For example, Apple publicly shares a number of APIs powered by iOS, its operating system for iPhones and iPads, for an app developer to use. These APIs allow applications like Facebook, Instagram and Snapchat to access a user device’s camera, microphone, and much more.

What Is an API?

APIs can fall into a number of subcategories. Many web and mobile applications, as well as devices (e.g., Amazon Echo), rely heavily on what are known as web APIs, which we’ll focus on in this guide. A web API uses the same underlying technologies as web browsers to allow different applications to communicate with one another. Web APIs allow applications to retrieve data or perform actions beyond their built-in capabilities. Typically, an application, using the internet, requests some data or action from an API. The API provides a response, and the application then adapts and displays it. The API’s code is hosted on a web server, which is essentially a computer connected to the internet. Depending on the functionality the API is providing, there may be an additional layer of security involved, such as sending a unique key.

Let’s consider a mobile weather application like Dark Sky. When you use it to check the weather for a certain zip code, the application makes a request to the API tool asking for the weather in that zip code. The API has access to the weather data and returns it as its response. Then, the application goes through the weather data and selectively displays it as, for example, the temperature in degrees Fahrenheit. The same process occurs if you check the weather in another city or at your current location.

How to Use an API

Developers can use almost any modern programming language (like JavaScript, Ruby, Python, or Java) for their own API coding. Most programming languages already come with the necessary software to interact with web APIs, but developers typically install additional packages, or code, for convenience and flexibility.

For any given programming language, there’s usually at least one popular framework — a collection of programs — that can be used to create APIs. Ruby developers, for example, use the Rails framework. Developers can also use packages to add features to their APIs, such as additional layers of security. Any additional necessary programs or packages are usually installed with that language’s package manager, e.g., Ruby’s bundler.

How Does an Internal API Work?

An internal API is one that’s used within a company or organization, although the company can choose to make portions of it accessible to the public. Users within that organization can leverage an internal API to share data and business logic (for example, the company’s rules regarding communication between a user interface and a database) across platforms — i.e., web, iOS, or an Android app. Any company with both web and smartphone apps likely has an internal API.

For example, the food-ordering service, Seamless, has web, iOS, and the Android app. All three platforms use an internal API to request that an action be performed, like placing an order for a client, as well as to request data, like the details of a user’s most recent order. This internal API allows Seamless to internally share data (restaurant information) and business logic (a customer ordering a dish) across different devices.

How Does an External API Work?

Many organizations provide external — albeit sometimes limited — APIs and documentation that allow individuals and companies outside of that organization to develop applications using its services. Depending on the external API, there may be registration, payment, or other limitations involved. For example, The New York Times provides an extensive external API that is free but requires that developers register and follow certain guidelines.

Google Maps also provides APIs that allow developers to embed maps in their websites and applications, as well as access directions and estimated travel times. Lyft, for example, uses Google Maps’ API. Other popular external APIs include Yelp’s Business APIs, which enables the user to find businesses, the OpenWeatherMap API, which retrieves weather data, and the Microsoft Azure Emotion API, which determines emotions in images.

Using external APIs allows developers to create their own mashup applications, like one that uses the Yelp Business API to find top-rated coffee shops in a neighborhood and display them on user interfaces as a map with custom icons via the Google Maps API.

APIs at General Assembly

The ability to work with web APIs is a fundamental skill in web development, whether you want to find a job as a front-end or full-stack software engineer or simply create your own applications. In GA’s career-changing Software Engineering Immersive — offered on campus and online — as well as our part-time JavaScript Development course, students learn the theory behind using web APIs and get hands-on practice incorporating them into their own projects. They also explore adjacent technologies such as AJAX and JSON. Many students choose to use a web API as part of their final projects and create their own applications. Our part-time Front-End Web Development course covers API coding essentials as well.

Browse Upcoming Coding Workshops

Meet Our Expert

Saimon Sharif is a software engineer who teaches JavaScript Development courses and workshops at General Assembly’s New York City campus. He works at the clothing-rental company Rent the Runway, focusing on its front-end stack. In his spare time, Saimon listens to podcasts, searches for the perfect cup of coffee, and reads a few too many articles.

“Given that more than half the world’s population has internet access, with more to come, now is a great time to learn web development to create applications and reach that audience.”

Saimon Sharif, JavaScript Development Instructor, General Assembly NYC

What Is Front-End Web Development?

By

Advanced-Front-End-Web-Development

Name: Nick Schaden (@nschaden)
Occupation: Web Designer/Developer

1. In 140 characters or less, what is front-end web development, from your experience?

A mix of programming and layout that powers the visuals, interactions, and usability of the web.

2. If a website were a house, front-end web development would be ______?

Front end development would be the pretty exterior that gives the house character, or the host that invites guests in and makes them feel at home.

Continue reading

Getting Started With Front-End Web Development

By

learn to code

So, you want to learn to code? Awesome! Knowing how to code can help you level up in your current role, open new career opportunities, and empower you to make your app or website ideas come to life. But where should you start?

Although hotly contested among developers, most novice coders begin their education by learning the basics of front-end web development, or the client-facing side of web development. The front end involves what the end user sees, like the design/appearance of the web page.

In order to become a front-end developer, there are three “languages” you need to master: HTML, CSS, and JavaScript, or as I like to call them, “The Holy Trinity.”

Below, I explain the difference between these three languages, and how they work in concert to get a simple website up and running.

Continue reading

Mindfulness Tips for Web Developers

By

Mindfulness for Web Developers

Early in my tech career, as a web developer, I was constantly stressed out. Every time somebody needed something from me, I felt I had to drop everything and do it right then. I was overwhelmed by my growing to-do list, and doubly stressed for not doing enough quickly.

All developers face a lot of pressure. When you’re coding or creating something, clients, teammates, and managers want it fast, and they want it perfect. Plus, today’s tech teams are always expected to be on and responsive through email, phone, Slack, and beyond, which digs into time you want to spend on the work itself. These aspects of coding culture can often lead to stress, unhealthy habits, and emotional burnout, which all keep you from reaching your potential on the job. That ultimately leads to more stress, more unhealthy habits…you get the picture.

Continue reading

Cracking the Girl Code to Tech Success

By

Girl Code Book Tampon Run

Sophie Houser and Andrea Gonzales, creators of Tampon Run and authors of Girl Code.

Coding knowledge can be used to do more than build a great website or land a lucrative job. It also has the power to inspire personal growth and shine a light on social issues.

Andrea Gonzales and Sophie Houser learned this firsthand when the video game they created, Tampon Run — in which players throw tampons at bullies and tackle taboos surrounding menstruation — went viral in 2014. Gonzales and Houser, then teenagers, met as students at the all-girls coding program Girls Who Code in New York City and created the game as their final project.

Continue reading

How to Fail as a Web Developer

By

Coding & Programming Errors: How to Stay Calm

Three months into my first job out of college, as a web developer at a financial reporting company, I wiped out every single one of my company’s client records in one command. I had uploaded a script meant to eliminate one client, but quickly realized that it removed all of them and I couldn’t get the records back. (This was in the early 2000s, when it was less common to work locally before sending code to your live website.) I went into full-on crisis mode and started getting my resume ready, resigned to the fact that I was going to be fired. I was even Googling to see if I could be sued for what I had done.

Thankfully, a tech manager saved the day by telling me about the company’s nightly database backup and we quickly fixed most of the problem. But until that moment, I was sweating bullets.

As a web developer, you’re going to fail — often, and sometimes in huge ways — whether you’re a newbie or a veteran (see this recent mishap at GitLab.com, for example). But messing up doesn’t have to be stressful. In fact, when it does happen, staying calm is key because panic can cloud your judgement and force you to make rash decisions.

Continue reading

DOM Manipulation: Changing Your Website in Response To User Actions

By

Looking to create a button to change a web page’s background color, build a form that will allow users to add a comment directly to your page, or remove content when a user clicks an “X” button? You’ll need to know how to manipulate the Document Object Model, or DOM, to do all of these things.

The DOM is the structure a web browser generates from an HTML file. The browser reads the HTML file and generates a version of the elements that is formatted for your JavaScript code to communicate with. We need this “translated” version of the HTML so that we can use JavaScript to talk to the elements on the page. If JavaScript could not talk to the DOM, we wouldn’t be able to use JavaScript to change the appearance of the page.

You can picture the DOM as a kind of hanging mobile sculpture, where each node of the mobile is a different HTML element. You could also imagine it as a family tree, where the “root” is the parent of all the other elements in the tree. That means that the largest containing element, <html>, contains all the other elements in the tree. Here’s an example:

DOMManipulation

Here’s what the above HTML looks like as a DOM tree:

DOMManipulation

We frequently use family terminology in referencing parts of the DOM. In the above example, the <html> tag is the parent of the <head> and the <body> and the ancestor of all of the other elements. The <li> elements are the children of the <ul> element. Similarly, the <li>s are sibling elements.

The HTML file itself provides a good way to visualize the Document Object Model, because it’s the file that helps the browser create it. When you indent each subsequent “layer” of HTML, you give yourself a good visual of the nesting of the DOM. Remember, the DOM is created by the browser when it reads your HTML. Your HTML document is the template which creates the DOM.

When building a website, you might want to build functionality for the DOM to change in response to a user action. Every web framework — from Angular, to React, to jQuery — provides some way to adjust the DOM. The best ways to first encounter DOM manipulation are to use plain JavaScript or, even better, use jQuery.

In each, you must first tell the JavaScript how to find the element on the page (we call this selecting the element) and then manipulate it.

How No-Frills JavaScript Interacts With the DOM

In JavaScript, there are separate methods for selecting elements by element type, class, and id. Below are the plain JavaScript methods for selecting elements.

DOMManipulation

Once you’ve selected the element, you can use a number of methods to change or add to it. For example, if you’d like to add some content to the page, you can append HTML using the .appendChild(element) method, like this:

DOMManipulation

You can append a new child HTML element to any part of your page by first selecting the element you want to be a new parent:

DOMManipulation

If you want to append an HTML element with content inside it, you’ll create a text node using the .createTextNode() function like this:

DOMManipulation

You can see that something as simple as adding a div with some text is already getting quite complex. This is where jQuery comes in to simplify our DOM manipulation.

Simplifying DOM Manipulation With jQuery

jQuery is a JavaScript library that provides tools to make life simpler for web developers. Behind the scenes, the jQuery source code is written in JavaScript. That means that anything we do in jQuery could be accomplished in JavaScript with more code. jQuery is designed to simplify DOM manipulation, and its syntax is easier to grasp. It uses CSS-style selectors to pick DOM elements (elements from the HTML). That is, you can select an element by using its tag, class, or id. For example:

$(‘span’) will select all of the span elements,

$(‘.container’) will select all of the elements with a class of container, and

$(‘#hero-image’) will select the element with the id of “hero-image”.

Because CSS selectors can get complex, you can select very specific elements on your page.

Once you have selected a DOM element, you can change it at will using a large array of jQuery manipulation methods.

Here is an example of using jQuery to manipulate some HTML.

The HTML:

DOMManipulation

DOM’s JavaScript component:

DOMManipulation

The above code will change all of the paragraph elements on the page to have a value of “Boo!”. Go to a webpage with jQuery loaded on it, like css-tricks.com, open the console with `command` + `option` + `j`, and paste that code into the prompt. When you execute that code, you’ll notice all of the paragraphs will have changed to say “Boo!”

As you’re working with jQuery to manipulate DOM elements, you are almost always either getting or setting a value. If you want to find out the current value of some attribute, you are getting. If you want to change the value, you should be setting. This is the pattern:

  • Getting a value: $(“CSS Selector”).someJqueryMethodName()
  • Settings a value: $(“CSS Selector”).someJqueryMethodName(valueToSet)

Notice that getting a value doesn’t require an argument to the jQuery method, but setting a value does.

Following that pattern, we could get the value of the text of an element on the page:

  • Get the text of the readme (it lives inside of an article tag): $(‘p’).text()
  • Set the text of the readme to: “Boo!”: $(‘p’).text(“Boo!”)

Some jQuery methods require an argument in either case. For example, the .css() jQuery method works as follows:

  • Get the background color: $(‘p’).css(“background-color”)
  • Set the background color to blue: $(‘p’).css(“background-color”, “orange”)

Some of the most common jQuery DOM manipulations are:

You can use these manipulation methods, along with event listeners, to change your page in response to user actions.

  • Append HTML content as a child of the current selected element: $(‘.selected-element’).append(htmlContent)
  • Add/remove a new class to/from the selected element: $(‘.selected-element’).addClass(className) / .removeClass(className)
  • Replace all of the current HTML content within the selected element with the inputted htmlContent: $(‘.selected-element’).html(htmlContent)
  • Replace the current text content of the selected element with new text: $(‘.selected-element’).text(newTextString)
  • Change the value within an input element: $(‘.selected-input-element’).val(newValue)
  • Remove the selected element from the page: $(‘.selected-element’).remove()

You can use these manipulation methods, along with event listeners, to change your page in response to user actions.

DOM at General Assembly

In General Assembly’s full-time Web Development Immersive and part-time Front-End Web Development courses, students learn DOM by visiting jQuery-enabled websites like CSS-Tricks and using the console to alter the pages in front of them. Changing all of the titles to some goofy text gives students a sample of the power of this tool.

Students also dive into and read the jQuery documentation to find out about the most useful DOM manipulation methods. We make sure to emphasize .append, .addClass, .html, .text, and .val. Then, we introduce DOM events so that students’ sites can detect clicks, form submissions, scrolling, and keypresses. Much of the time, our response to these events is to manipulate the DOM accordingly. When a user presses a button, it can change the appearance of the web page. We do this by listening for the button press and then manipulating the DOM to impact the page.

Ask a Question About Our Coding Programs

Meet Our Expert

Cory Fauver is a Web Development Immersive instructor and former Front-End Web Development instructor at General Assembly’s San Francisco campus. He left his early career in math education to teach himself web development while building a company with two close college friends. While their product didn’t work out, they left that experience with skills that they’re all using today. Cory enjoys sharing the methods and resources he used to learn HTML, CSS, and JavaScript. When he’s not at a computer, he loves playing ultimate frisbee, backpacking, and being outdoors.

Cory Fauver, Web Development Immersive Instructor, GA San Francisco