Front-end web development is also known as client-side development. It is the practice of converting data to a graphical interface for users to view and interact with through a digital platform.

A front-end developer develops and designs websites and applications using web tools and technologies (i.e. HTML, CSS, and JavaScript).

Here are some of the necessary skills:

HTML and CSS

HTML (Hyper Text Markup Language) is one of the most essential components of web coding. It’s the standard markup language that’s used to create websites and applications. Basically, it indicates how text can be displayed as images, tables, links, and, of course, text.

Source: www.w3schools.com

CSS (Cascading Style Sheets) is a stylesheet language used to describe how the HTML components are displayed. CSS creates the actual viewable design.

Source: www.w3schools.com

HTML = Content
CSS = How the content is displayed

Together HTML and CSS are the backbone of any website development process. Without these, a designed web page would not exist.

JavaScript

JavaScript is an event-based programming language that creates an interactive element on web pages and applications. It is used to transform a static HTML page into a dynamic interface. In other words, JavaScript allows the user to manipulate something on the webpage — without having to reload. Examples of JavaScript include calculators, animated graphics, interactive maps and content updates.

Source: www.w3schools.com

 

Utilizing HTML, CSS and JavaScript are essential for individuals who love coding — or who are seeking a career in web development.

Working on the computer – particularly with coding – within technology-heavy fields can be enthralling and offer an array of incredible, revolutionary opportunities. Software engineers, web developers, video game designers and IT security specialists are several of the numerous careers that are becoming essential in modern society – and also happen to require extensive time spent using technology. Are you considering a career utilizing computers, coding and technology? Read on for our top tips for computer-centric professionals.

1. Take set, purposeful breaks.

In any career, it’s important that you take time to reflect and – honestly – relax! However, in a computer-centric career, it’s even more essential that you set time where you can give your mind and eyes a break. In addition to your lunch hour and inevitable few trips to the bathroom, take a few moments to stand up, stretch, look around and allow yourself to “reboot.” Plus, here’s a fun tip: If you have been sitting for a long period of time, stand up and work while standing for 15-30 minutes.

2. Purchase a pair of computer glasses.

Anyone who spends hours upon hours in front of a screen will swear by the incredibility of computer glasses – which protect your eyes from the harmful glow of your technology. Of course, a small amount of time won’t hurt your vision, but – eventually – staring at the computer will cause your eyes to strain, leading to headaches. Computer glasses help to curb this problem (with a stylish touch).

3. Place a stool under your feet to give your legs a rest.

This is an especially important tip if your feet don’t reach the ground or need to stretch a bit to rest flat. Placing a stool or bin for your feet helps take the strain off of your upper legs and improves circulation.

4. Line padding for your wrists on your desk or keyboard.

If you love computers, you’ve probably heard of the ailment “carpal tunnel.” It’s a painful condition characterized by an annoying tingling sensation, and typically occurs due too way too much typing without support. Padding can help make for a more comfortable workspace.

5. Invest in a high-quality chair with lumbar support.

While it’s great to stand up and stretch, it’s also expected that you’ll be frequently sitting. So, ensure that your chair is a perfect fit for you – and, no, we don’t just mean in its design! (Though, if you want some cool stripes up the side, go for it.) Find a chair that specifically has special lumbar support to keep your back and bottom healthy and strong.

Technology has offered immeasurable possibilities for businesses, gamers, shoppers, patients and the world overall. Despite our strides toward automation and orchestration, at the heart of it all, there is still a human at the other end making it all possible – which is why it’s important to remember to take care of yourself as you live out your dream in a computer-centric career.

The acronym “STEM” is very common in the world of education, and it stands for Science, Technology, Engineering, and Math. It’s an important part of every child’s education, but it doesn’t only matter to children – it should matter to everyone. The more you understand STEM education, the better prepared you’ll be to make the right decisions regarding your child’s education.

Here are some reasons why we should encourage enrollment and development in these topics:

Innovation supports the economy.

We’re all observing the technology boom happening before us. New gadgets are popping up every week and keeping up with the trends has proved challenging for many. However, these trends are important because they help boost the economy and create jobs. We need talented and skillful STEM experts to develop the next vaccine, disease cure, or antibiotic. We also need developers and engineers in order to come up with the next generation of phones, cars, and computers.

Introducing girls to explore tech in school will help bridge the gender gap.

There is a disparity among men and women in the STEM industries like tech, development, engineering, and medicine. According to Fortune, women only make up about 1/3 of the workforce in the biggest tech companies (like Microsoft, Google, and Facebook).

That gap only gets wider if you evaluate the numbers regarding leadership positions. According to Deloitte, only about 25% of IT roles are led by women and only 17% of female college graduates are in IT-related fields. If we give girls more opportunities to explore STEM when they’re children, more will take interest and make careers out of their talents.

Studying STEM leads to the development of other important skills.

We’ve discussed the more long-term effects of STEM education initiatives, but we should talk about how this branch of education can directly help today’s youth. Mastering STEM skills will lead to the development of practical soft skills. For example, in STEM programming, students create their own research questions. They then follow an investigative process that encourages them to evaluate multiple perspectives and connect concepts in order to fix a problem.

There are many different processes kids can learn from studying STEM, and the best part is that they can learn to collaborate with their peers by comparing their in-class research and working together to solve problems presented to them.

While we do teach STEM in schools, taking initiatives to further encourage interest and passion will promote equality and innovation in our future. Plus, engaging in fun activities centered around STEM education is a great way to bond with your child.

By Mira B., Age 14

Many people use social media apps such as Instagram or Snapchat, which have face filters for people to take and post pictures of themselves. But many people do not realize how these filters are created and the technology behind how they fit people’s faces almost perfectly. The mechanics behind face filters was originally created by a Ukrainian company called Looksery; they used the technology to photoshop faces during video chats. Snapchat bought their algorithm, called the Viola-Jones algorithm, and created the face filters seen in many social media apps today.

Creating face filters is more difficult than you may think, so I’ll break it down into five key steps:

The first step is face detection. The image is initially viewed in ones and zeros, so the algorithm scans the image, looking specifically for color patterns. This can include finding that the cheek is lighter than the eye or that the nose bridge is lighter than surrounding areas. After detecting these patterns, a face can be distinguished in the camera.

The second step is the landmark extraction. Using specific algorithms in a 2D image, facial features such as the chin, nose, forehead, etc are determined.

The third step is face alignment. The coordinates of landmarks on people’s faces are taken to properly fit the filter to a particular face.

The fourth step is 3D mesh. Using the 2D image, a 3D model of the user’s face is built to fit the filter animation to a specific face.

The last step is face tracking, which approximates and locates the 3D mask in real time. This allows the user to move their face without the filter disappearing or moving to an incorrect location.

Another way to think of these steps is to imagine a human body. The landmarks identified in a 2D image serve as the skeleton for the future mask. Similar to how bodies differ in shape, so do people’s face structures. Using face alignment, the filter matches with the coordinates of landmarks from a certain face. People’s skin makes them look the way they are and 3D mesh step is like aligning the skin to the skeleton. Similar to how bodies move while keeping the skeleton, skin and muscle together, face tracking follows the face to make sure the filter stays on the right coordinates.

C++ was invented by Bjarne Stroustrup in the early 1980s as a general-purpose programming language. It is a similar language to C, which was invented by Dennis Ritchie in the early 1970s, but it is safer and includes modern programming techniques (like object-oriented programming).

The purpose of C++ is to precisely determine a sequence of operations that a computer can perform to accomplish an objective. Most of these involve manipulating text and numbers, but anything a computer can do physically can be programmed in C++.

We don’t think about this often, but computers have no intelligence – they have to be given instruction on how to perform a task. These instructions are defined by the programming language used. Once they are programmed, they can repeat the instructions very quickly as many times as the operator wishes.

Which computers have C++?

The better question is: “which computers don’t have C++?” The language is a widespread, almost universal tool and can be found on most computers, big and small alike. There are compilers for this language that are available to almost every type of operating system.

Use of C++

C++ is popular in software engineering, communications, and gaming, as well as other industries like finances, health care, and defense. The language is widely used across programming development and has been an influence on the creation of other programming languages like Java, C#, and PHP.

Learning C++

There are many places you can go to study C++. First, you’ll need a C++ compiler. There are a variety of these available, and many of them are free and include an IDE to make it easier for you to program, debug, and edit your applications.

Where does C++ stand in comparison to other programming languages?

While some code languages are written for a specific purpose, C++ is a great general-purpose language. It can work well for most programming tasks, but not for all. Other languages like Delphi, C#, and Visual Basic may work better in those situations.

Knowing how to use C++ is a foundational skill in learning how to program and code. Many jobs in a selection of fields require or prefer candidates with this skill, as there’s an immense amount of existing code that needs maintenance, updating, and (at times) rewriting. C++ also lends itself to the arts in its contributions to video game development. Needless to say, if you’re considering a job in our modern technological industry, knowing C++ will give you a leg up in your job search.

When the development of coding first started taking off in the 20th century, women were at the forefront of its progress. According to an article in Smithsonian Magazine, women were historically offered coding jobs because these positions were seen as easy “women’s work,” similar to secretarial and administrative duties, while men were more focused on the development of hardware. Here are a few women who helped spearhead the development of this all-important skill:

Ada Lovelace (1815-1852)

Ada’s place in coding takes place earlier than the 20th century, but her work is foundational to this field. Growing up, Ada was always interested in the inventions coming about during the Industrial Revolution. At age seventeen, Ada’s mentor (Charles Babbage) developed a machine called the “Analytical Engine.”

At one point, she translated an article that an Italian mathematician wrote about the machine. Babbage was impressed and asked her to expand on the article. In her work, she wrote on the potential uses of the Analytical Engine and wrote multiple computer programs.

Lois Haibt (1934-)

When Haibt began working for IBM, they were working on a computer language that would change the field completely. Haibt was a great problem-solver and had shown exceptional skills in math and science during her collegiate studies. The project she was hired for became known as FORTRAN and she eventually was assigned to build the flow analysis at the foundation of the FORTRAN computer. The language became known as a vital development in the field of computer coding and programming.

Margaret Hamilton (1936-)

Hamilton was working as a programmer at MIT during the 1960s. She is quoted as saying: “The very first languages I programmed were in hexadecimal and binary. There was no school to attend or field to learn what today is known as ‘software engineering’ or ‘systems engineering.’ When answers could not be found, we had to invent them.”

When NASA looked to MIT workers to help engineer the Apollo, Margaret’s duties involved developing onboard flight software. Her method involved punching holes in stacks of punch cards and having them processed by a large computer, simulating the Apollo. After a human error, Hamilton helped save the Apollo 8 flight and was awarded the NASA’s Exceptional Space Act Award.
Over the years, it has been made clear that computer coding and programming is much more than mundane and tedious work. It’s a skill that is vital to the technological development of our world, and women have played no small part in it. Apart from their scientific success, they also paved the way for the many women who do great work in this field today.

Do you have a big test coming up? It’s normal to feel nervous. After all, if test taking were a breeze, they wouldn’t call it a “test.” However, there are ways to increase your confidence… and your chances of scoring a good grade. The best part is that these ideas aren’t difficult to implement at all. Embrace the challenge ahead of you and seek to ace the next exam by following these 6 tips.

STUDY TIPS

1.       Take short breaks regularly. Don’t overload your brain with too much information – cramming is not an effective technique if you want to ace a test. The secret to a successful test? Learn the information – and truly know the material. The only way to do so is to allow yourself time to process properly, which means you must account for regular breaks in between studying. Focus for 30 minutes, take a 10 minute break, and then repeat this pattern.

2.       That being said, don’t take too many unnecessary breaks. The mistake many make when giving themselves time for breaks is that it’s tempting to schedule breaks TOO often. Taking a break shouldn’t be an excuse to get away from the material, but rather to let it soak in and give yourself a moment to reflect. Breaks should be calm and connected to the study session – so, no video games and TV shows.

3.       Eat and hydrate. By now, you’re probably very familiar with the technical study tips for memorization (creating acronyms for terms, for example); however, this is only one piece of the puzzle. The biggest piece is to take care of yourself – eat a snack, drink water. Keep your mind in tip-top shape so you can feel good enough to learn and understand the material.

TEST TAKING TIPS

1.       If you don’t know an answer to a question, skip it and come back to it. This advice is tried and true; however, there is a very important exception to keep in mind. If you’re just skipping a question because you think you don’t know it, but haven’t taken the appropriate amount of to work the problem, you’re simply breaking your focus on a question you may have been able to solve. So, only skip a problem if you really don’t know it, rather than trying to find all of the easy questions first.

2.       Read every question and (if applicable) every possible solution in its entirety. This seems obvious, but – in the moment – it’s a tip that many neglect. Knowing what you’re getting into BEFORE you start attempting to solve the problem will help ensure you don’t have to redo a question after you thought you figured it out correctly.

3.       Implement self-care strategies to ease anxiety. Taking a test is a challenge – it’s meant to assess how much you have learned and retained. Along with these difficult questions comes a heaping amount of anxiety, even for the most confident test taker. Therefore, successful test taking comes down to the ability to calm yourself enough to remember what you already know. Find what works for you. Some examples include taking deep breaths, relaxing all muscles, rolling your shoulders and thinking positively.

The next time you have an exam on the horizon, don’t fret. Instead, take action. Study effectively, take care of yourself and keep calm through the process. With these tips as your guide, you’ll be well on your way to claiming an “A” on the test.

We’ve discussed the endless possibilities that arise from learning to code, and how fun it is to learn.  You’ve probably seen the power of coding every day on the internet, in the video games you play, and in the technology segments that play during the news, but maybe you’re still not quite clear of one thing.

What is coding, exactly?

To understand coding, you must first understand that computers don’t speak English, at least they haven’t always been able to. There was a time before Alexa and NPCs in a video game spoke directly to you, and it was a dark time.

Literally, electricity hadn’t even been invented yet.

It was 1843 when Ada Lovelace wrote the first official computer program for a machine invented by Charles Babbage called the “Analytical Engine.” That’s right, over 150 years ago coding was introduced into our world. The first official coding meant to give instructions to computers were wrote during the 1950s, mostly used for application in weapons and space technology. The onset of many of the languages we use today were developed in the 1960s and 70s, coinciding with the explosion of computational language efforts in universities and companies with government contracts.

Coding began to take form into what we recognize today as popular programming languages in the 1980s, and this led to companies like Microsoft and Apple introducing the power of the computer into homes around the world. Since then, programmers and computer enthusiasts have fully utilized the power of source code.

This is an example of source code:

<li>Chrome &ndash; CTRL + U. Or you can click on the weird-looking key with three horizontal lines in the upper right hand corner. Then click on &quot;Tools&quot; and select &quot;View Source.&quot;</li>

In its purest form, coding is a set of commands and processes that perform an overall task, what that task is purely depends on the will of the programmer. In the process of writing code for a program, device, or website, a coder will act as “King” of the code, telling it where to go, how to stand, and when to speak. While attempting to get the desired result, a programmer will need to manipulate, analyze, and pinpoint errors in the source code

Don’t let the “King” title go to your head, because being a coder also makes you the guy whose job it is to clean up the kingdom. If something doesn’t look right on a website, or a robot doesn’t react the way it should to a command, you, the coding custodian, must get into the source code and clean up the mess.

But, the magic of coding lies in “the mess,” because it’s there where there is the potential for basically anything your mind can imagine. Lines of source code are meticulously assembled for a reason, and when there’s a break in the chain, it shows. This means that any problem which can arise in coding, can also be fixed.

So what is coding? Coding is the problem, and the answer. It’s the language of a world that really has no boundaries, and once you learn it, the same will be true of you.

By Camille D., Age 17


Developed in 2009 and made available in 2012, Julia is one of the fastest-growing languages in the industry. As it routinely makes an appearance in language popularity rankings, there is a potentiality for the language to outshine languages such as Python in the realm of computational science and general programming.

Julia was created by Jeff Bezanson, Stefan Karpinski, Viral B. Shah, and Alan Edelman, with a collective desire to unify the best amenities of all the big languages, from the “speed of C” to the  “dynamism of Ruby.” It was crafted with flexibility and versatility in mind – the language boasts the ability of its users to “write an algorithm … and apply it to an infinite lattice of types.”

No language is perfect; you are always making a trade-off when choosing a language to learn. A C++ pupil will enjoy the language’s high speed, but will miss out on the straightforwardness and garbage collection capabilities of Java. There will never be such thing as a language that will solve every issue or be free of any shortcomings whatsoever. Nonetheless, programming languages have evolved rapidly, and Julia exemplifies how far they have come. Here are a few reasons to choose Julia.

Julia is fast and high-performing. Applications created with Julia use the LLVM Compiler Infrastructure to efficiently compile the code to machine language for multiple different platforms. When writing code in a compiled language, you must explicitly define the types of variables you will use and the operations intended to be performed on them. Since the hardware will know exactly what to do as a result, the code will be executed quickly and efficiently. On the other hand, the CPU does not have a concept of the “variables” you use when writing in an interpreted language. The interpreter must provide instructions to the CPU about what the variables contain (i.e. int vs. float data type), forcing the CPU to wait. This is what makes interpreted languages slow relative to compiled languages such as C. Julia falls somewhere in the middle of the spectrum of compiled and interpreted languages. Julia’s compiler doesn’t have to have the information previously mentioned, but it is prepared for when a function is called and acquires all the material promptly. From the information provided, the compiler puts together fast and precise CPU instructions.

Julia is packed with immense capabilities in data science and numerical computing. When using Julia, it is evident that conventional mathematics become closely bound with programming. The Julia REPL (a programming environment in which a user types in a command and can easily see the result of their command) gives access to symbols often used in mathematics, including Greek letters and subscripts. The symbols are inserted by typing a backslash \, followed by a string corresponding to the character. For example, entering “\Gamma” will return the Gamma symbol Γ.

A rather unique feature that comes with Julia is function composition, which is achieved by the operator (∘). For example, writing (sqrt ∘ *)(5, 2) will multiply two numbers, 5 and 2, and then find the square root of the result. Julia is also packed with external call support, and can link with a throng of languages including Python, Java, C++, and R. Python applications can call Julia through PyJulia, and R applications can call it through through its interface, JuliaCall.

Julia is versatile, which is the principal reason why it is so ahead in the game. It provides a wealth of tools and frameworks for deep learning, data visualization, and graphs, and capabilities for clustering, trees, and generalized linear models. Even with a seemingly infinite capacity for mathematical transformations, however, Julia is excellent for general programming, as users can write UIs, statically compile code (even though it is generally dynamic – types of variables aren’t known until runtime), and deploy it on a webserver.

Learning about coding will give you the tools to make a video game, but did you know playing games can teach you to code?

It’s true!

While some may simply contain stories inspired by the world of coding, others teach players how to code with problem solving, critical thinking, and of course fun. Ever since the 1984 release of Lee Kristofferson’s video game System 1500, coding students and enthusiasts alike have been playing video games that trade in hit combos for sequences.

Want to play a game that challenges your knowledge of coding? Here are 10 video games about coding that we recommend you check out.

10. Shenzhen I/O

In this 2016 video game you play as an electronics engineer who takes a new role in Shenzhen, China. Those who also enjoy the world of electronics should play this game since it doesn’t only incorporate assembly language but real-life circuitry as well.

9. Codehunt

Developed my Microsoft Research, CodeHunt challenges players to solve puzzles using both C# and Java.

8. Human Resource Machine

For a fun introduction to the world of programming, the Tomorrow Corporation’s 2017 game Human Resource Machine is the game for you. The game is also available to play on the Nintendo Switch. That’s right, you can practice coding on your Nintendo.

7. 7 Billion Humans

When you’ve finally mastered Human Resource Machine, you can move on to a tougher challenge. 7 Billion Humans contains even more levels than its predecessor and requires managing whole groups of workers as opposed to one at a time.

6. SpaceChem

A game that teaches chemistry and programming, SpaceChem puts you inside a reactor and requires players to create visual programs that keep reactors running smoothly. This is a pretty difficult game, Homer Simpson need not apply.

5. Vim Adventures

Who knew you could save the world with a text editor? But in Vim Adventures you do just that, all while learning Vim.

4. Hack ‘N’ Slash

Most video games don’t lay its pieces out on the table for players to mix, match, and customize. Hack ‘N’ Slash takes inspiration from The Legend of Zelda series but differs in the way it allows a player to change their character’s attributes by accessing the game’s source code.

3. Exapunks

In 2018, Zachtronics released a game set in the apocalyptic world of 1997, not our 1997 of course but an alternate one. Players must hack into computer systems to complete missions given to them by an unknown A.I. The game is so in-depth it allows players from all over to compete and even contains its own fictional news publication.

2. Tis-1000

Completing puzzles with coding can be difficult enough but add in a late 1970’s computer and you’ve got quite a game on your hands.

1. Hacker

While System 1500 paved the way for games about coding, it was Activision’s 1985 game Hacker that proved games about programming could hook all types of gamers. The story is something about of a 1980’s film, with secret servers, international incidents, and security breaches that keep players entertained as they work at solving complex puzzles.

The games listed above are available on a variety of platforms including the Nintendo Switch, PC (through Steam), or as open source software you can play for free. You can’t learn everything you need to know about coding from a video game, but they can test your abilities and make you better at solving problems, which only helps you get to the next level in life.