You’ve been working from home for weeks, just about every recreational activity you normally enjoy is closed and your choices for entertainment are starting to dwindle. Finally, when pacing around your house and walking the dog for the 10th time is no longer an option, you figure it’s time to tackle a new challenge. But what are you going to do? Why not try to learn a cool new skill? Quite frankly, there is no better time to dust off your hippocampus and become a student. And there is no better skill to learn than coding. Here’s why.

Coding is cool

We may be biased when it comes to this opinion, but coding is downright cool. You get to be a member of a technological community that creates amazing things like apps, games, software and websites. Not only do you get to create but you also have access to the latest cutting-edge technology. Admit it, what part of that doesn’t sound cool?

Coding makes your resume more appealing

Instead of binge watching another crazy documentary on your favorite streaming service, why not make your resume pop? When you can feature an appealing skill like coding on your resume, hiring managers will take notice. Furthermore, if you are looking to change careers entirely, coding allows you to consider job opportunities you couldn’t have in the past. Occupations that allow you to create and have fun.

Increase your earning potential

When you can boast having coding skills, you’ll earn more money. According to one study conducted by Course Report, graduates of coding bootcamps enjoyed a 44% increase in their salaries. Investing an hour or two a day to learning this amazing skill can pay off.

Coding careers are flexible

From flexible working hours to the ability to work anywhere you’d like, a career in coding enables you to work and live the way you want. As current circumstances have taught us, the ability to perform your job functions from home is not just a luxury but during challenging times can be a real lifesaver. And when life returns to normal, working from an exotic beach doesn’t sound too shabby either.

More time for side projects

You have dreams that go well beyond your occupation, and when you have a flexible schedule you can pursue those aspirations. Whether you have a great idea for an app that will revolutionize an industry or even a business idea that isn’t specifically related to coding, your new skill will greatly increase your chance of success. Feel free to dream big.

These were just five reasons to help convince you that right now is a great time to learn coding. You can probably think of countless more. So, what are you waiting for? Start learning.

Teaching children, although rewarding, is not an easy task. It requires patience, an eye for detail and the ability to stay calm when the learning process goes sidewise. So how does a parent who doesn’t have the formal education to instruct children take up the reigns and become a teaching superstar? We’ll go over five tips that will give you guidance in teaching your children coding or any other subject. You’ll just have to provide the patience.

Succeed by planning and scheduling

There’s a theme when it comes to doing just about any task, plan and schedule. Although you have heard it a thousand times, it’s always worth repeating. Before you teach or tutor your children, craft a lesson plan and schedule. If you are teaching your children in place of school, try to adhere to a normal school day routine. Be specific in your planning and ensure there is enough time to tackle all the subject matter you have scheduled for the day. If only one subject is on the agenda, say like coding, most of your efforts will be in the planning phase rather than scheduling. However, regardless of the number of subjects, put effort into your planning.

Meet with your children

Sometimes a meeting can’t be an email. Meet with your children and discuss the day’s lesson plan. Talk over expectations and give them a clear idea of what they will be learning. Utilizing a visual aid, like a tablet or the old-fashioned route, a whiteboard, can help your children see what the day will have in store. There is no need for surprises when it comes to learning.

Take suggestions

Education should be an interactive process. Ask your children for suggestions on everything from lesson plans to teaching techniques. Discovering how your children learn will lead to more success. Which in turn will make your job as the teacher much simpler.

Ask for help

Do you have a friend or acquaintance who is a teacher? If you do, fabulous, because you have someone who has the knowledge and experience to lend you a helping hand. Don’t be afraid to ask for help when you feel stuck or confused. Advice from a professional can give you that boost of confidence to become an awesome at home teacher.

Don’t forget the breaks

You may want to power through the subject matter at breakneck speeds but remember, you are teaching children. This is especially true if you are teaching an entire course load of material. Schedule enough time for breaks and don’t forget the food and drinks. Nutrition is vital for young learners

Teaching your children may be challenging but it’s not as daunting when you are prepared. Plan, schedule and allow your children to provide input. With some effort and an investment in time, you and your children will enjoy the entire process. You may not even need as much patience as you originally thought.

You think you have a solid, at-home learning plan but it soon becomes derailed by a litany of distractions and obstacles. It can be quite frustrating. Learning at home has its fair share of challenges, but it also boasts plenty of pluses. If you formulate a proper plan and make a few tweaks to your learning environment it can be a rewarding experience. We promise. Here are 5 tips that will help you become an A+ home learner.

Craft a relaxing and efficient study space

There are easy options when it comes to spaces for learning at home, such as the dining room table or a desk in the middle of the family action, but these are rarely the best choices. Although these areas can work, you want the best possible space to learn effectively. Find a location that is not only comfortable but also allows you to focus with minimal distractions. Good old-fashioned trial and error can be utilized to find the ideal learning space.

Have a plan and be organized

Learning can be exciting, so, understandably, getting down to work immediately sounds like a fun idea. But rushing into your studies without having a plan will greatly reduce your chances for success. Instead, take time either the night before or early morning to create a learning plan. Additionally, keep your learning space organized and clean. Don’t let clutter get in the way of being a superstar student.

Dress for success

It’s an enticing proposition; learning while remaining in your PJs for the entire day. Although, there is an inherent comfort with learning from home, forgoing PJs and opting for something more appropriate for daytime hours can boost your learning potential. You don’t have to dress as if you are going to a job interview, but a comfortable pair of pants and a nice shirt can do wonders for your attentiveness and confidence.

Set goals

How do you know if you are making progress if you don’t set goals? Well, you won’t know. That’s why goal setting is a vital step in the at home learning process. Like how you produced a learning plan in the previous tip, allot time to craft short- and long-term goals. You can have daily, weekly, monthly and even yearly goals. Make them challenging but not too difficult. You want to set yourself up for success.

Take breaks

Yes, even learning from home requires a student to step away and take a break. When you plan for the day ensure that you leave time for at least one 15-minute break. During this breaktime, you should push your studies to the side and focus on something entirely different. It can be reading a book, reading emails or even housework. The key here is to give your mind a break from learning and recharging for another round of studying.

Learning from home can be comfortable, rewarding and fun when you follow these 5 simple tips. Now the only thing you have to prepare for is your exceptional success.

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.

Coding is important work — it’s the backbone of many of the most productive careers and requires the utmost levels of patience and focus. However, that doesn’t mean we can’t have fun too! Scroll on to read through the top 10 jokes only coders will understand.

1. The best knock-knock jokes? Computer knock-knock jokes.

(Very long pause) … (very very very long pause).

2. Try not to get this stuck in your head.

Because we all have had times of programming as tedious as singing this ENTIRE song.

3. A truly beautiful poem.

What coder wouldn’t be impressed to receive this joke on a romantic card?

4. I only accept computers which load every application instantly.

To be fair, once you’ve experience super fast technology, how can you ever go back to anything less?!

5. Use this in your next coding rap battle.

Drop a beat — I’m ready.

6. I CAN’T STOP!

That feeling when you keep thinking you’ve found the fix, but it just digs you deeper into a mess. (Real tip: Take a breath, walk away and revisit in a few minutes.)

7. Should’ve locked the keyboard.

Ouch, was that a cringey one? Or so cringey that it’s genius?

8. A joke? Or great advice?

Version 1.0: Setting up for future success!

9. Bonus points if it’s only a few minutes after falling asleep.

…Or waking up at 3am with the solution right in your mind. Every time.

10. Hunger: 32%, time for a refill.

In the end, we all have basic care needs anyway — what’s so different between us and tech?

 

Want to see more hilarious, pun-filled computer jokes? Make sure to follow our social media pages, where we regularly post the best coding memes. 😎

By Noah S., Age 16

Web-scraping is exactly what it sounds like. Scraping the web for specific stuff, determined by the engineer. For example, instead of copy and pasting every book on a library website into a spreadsheet, a web-scraper can programmatically find every book title and paste it into an arraylist. The engineer then can take this arraylist and turn it into a spreadsheet. The result is the same, but without human errors and a lot of time saved. As a result, web-scraping has many, many uses. For example, one could make a list of dog species, find a specific link that is hard to find within a large website, or even generate the upcoming release date of a new Star Wars movie. There is one big roadblock, however. Scraping google, along with many websites, is considered illegal since it violates the terms of service that most companies enforce. Afterall, you are stealing data from companies, which may have spent lots of money acquiring. There are few ways of getting around this issue, but the best way to not get in trouble is to never release the information or use it to churn a profit. After all, why would a company be angry at an individual for making a list of cat videos?

To conclude, web-scraping is a very versatile option for both lazy and efficient people to get ahold of lots of data without having to individually look up every single option and click every single link. It can be written in many languages, specifically Object Oriented Programming languages (like Java and python), making it a skill many programmers can understand. While there are some roadblocks, if the user is fairly smart with their use of web-scraping, it should result with lots of data obtained and even more time saved.

Whether you are studying for an exam or trying to solve an elusive coding problem when you challenge your mind, burn out is a real concern. It’s a real conundrum because you know you must put in the hard work to succeed but where do you draw the line in the sand to avoid causing your brain to shut down? It’s enough to make you wonder if there is a way to balance it all. Luckily there are steps you can take to circumvent burn out and still reach your studying or coding goals. We’ll investigate four ways to help you de-stress and succeed.

Plan and organize

It’s understandable, you have a challenging problem you want to solve, and you are excited to delve right in and get to work. Not so fast. Before you sit down and begin flexing your brain, plan and organize. Even if you are just taking on a single problem, you want to ensure you have allotted enough time to get your work done with enough padding to take breaks. Trying to work non-stop is not a recipe for success. Give your mind a rest and you’ll notice your productivity will increase and your focus will return.

Sleep and eat well

It’s the stuff of studying legends, the overworked student staying up all night chugging coffee while cramming for the big exam. Although there are times when working late is a necessity, getting plenty of sleep is vital. So, before beginning your study session, have a hard stop time in mind. Try to allow enough time to get at least six hours of sleep. Oh, and speaking of chugging coffee. Unfortunately, along with everyone’s favorite caffeinated beverage, students tend to eat poorly during study sessions. Instead of opting for unhealthy snack foods that provide empty calories with very little nutrition, try to eat solid meals and snack on fruit and vegetables. It doesn’t sound exciting, but your brain needs fuel, healthy fuel.

Ask for help when you’re stuck

You’ve tried for hours but you just can’t conjure a solution. When you encounter a problem that seems nearly impossible, don’t be afraid to ask for help. Whether you ask a friend, tutor or an instructor, don’t let your ego get in the way of receiving a much needed helping hand. You’ll notice a significant drop in your stress level once you clear that difficult obstacle.

Remove distractions

You have three friends trying to text you and the café you chose for your study session is becoming a bit too lively. Does this sound familiar? Distractions are the enemy of successful studying, so putting away your phone and locating a quiet place to do your work is prudent. If you need to use your phone, try your best not to get tempted to converse with friends, play games or browse your social media accounts. Additionally, find a quiet location that enables you to concentrate on your work. When you focus, stress tends to melt away.

Now you’re prepared to solve any problem or study for any subject with less stress and more success. When you plan and organize your study time, provide your brain with plenty of rest and nutrition, ask for a helping hand when you’re stuck and eliminate distractions, burn out will become a thing of the past.

By Noah S., Age 16

Game theory is actually not the name of a youtube channel. It is, but that term is actually derived off a complex study called “Game Theory”. Game theory is the study of interactions between intelligent “things”. Whether this thing is a human, AI, or some other kind of rational thinking thing it up to you. Game theory is most commonly used in political science and economics, although its use can also be widened to cover topics like logic and computer science. This is what I researched while I made my battleship, which utilized 2 intelligent things as well, the player (you) and the AI. This topic is very broad, so I will discuss some examples and try to tie them together at the end of this post.

One famous study of game theory is the “prisoner’s dilemma”. Two prisoners, A and B, are being interrogated for the same crime. If both prisoners rat each other out, they get 5 years of prison. If A rats out B, A is set free while B must serve 10 years, and vice versa. If they both stay quiet, however, they each only have to serve 2 years in prison. Even though they both have a significantly better outcome if they both stay silent, the probability of them cooperating is actually very low, and the odds of at least one of them ratting the other out is significantly high. While the reasons are really implied since there is no direct answer (like how in english class there are many ways to interpret something, while in math there is only 1 answer), the risk of getting rewarded by being set free outweighs all other costs, including not receiving the most severe punishment of 10 years, leads many to do so. In addition, mistrust of the other also magnifies this effect.

Another example is battleship. I actually made a program that runs battleship with a complex AI. The board layout is actually determined both a combination of statistics and game theory. When playing battleship, one of the player’s primary goals is to aim for more open spaces to shorten the game and give themselves a better chance at winning. But where should a player aim to give themselves the largest chance at hitting a target? This is determined by game theory. While there is no way to play battleship to give yourself a 100% chance at winning, as it is a luck-based game, there are spots you can fire that give yourself a slight edge. For example, if you see a 4 space opening, you know that a carrier (5 slots) cannot fit there. If you see a spot completely surrounded on all sides by misses, you know that there cannot be a ship in there, and as a result that space may as well count as a miss. This is what I coded into the AI in my battleship game to make it more human-like. By covering the board with probabilities of locations that are most likely to harbor a ship (pun intended) in relation to the amount of ships left and the different types they are, a player (or AI) can use game theory to their advantage to win the game.

To tie these together, game theory is a super broad study that has many different uses. Anything that requires an interaction between intelligent beings all comes back to this idea of game theory. Being able to mathematically predict the most possible and reasonable outcome is very useful in many occupations. I hope I can apply game theory to many different projects in the future. But for now, I will continue to improve upon the battleship game I am making right now.

Imagine a skill that would make you more marketable as a job candidate and increase your earnings potential. Now envision that you can start learning this skill at any age and at any time. Of course, we are referring to coding. Having a background in coding will open doors to dream careers with outstanding future possibilities. If you need more convincing here are four reasons that coding improves your chances for success.

Exceptional high-paying career opportunities

STEM jobs are all the rage in our modern economy, and yes that includes coding. A study conducted by Burning Glass revealed careers that require coding pay an average of $22,000 more per year. Just imagine, in ten years that would equate to $220,000. The same study also found that half of the highest paying jobs (in the top quartile) require coding skills. A rewarding career that makes more money chalk one up to coding.

Flexibility

Would you like a career that would enable you to work from home either part- or full-time? Jobs in coding tend to offer flexible schedules allowing you to work from just about anywhere. A high paying career that allows you to choose your work environment and, in some cases, even your schedule is appealing to those who want to spend more time with family or travel to other cities. Or perhaps someone who just doesn’t enjoy the office life. Regardless, having a background in coding provides more opportunities for high-paying jobs that offer more flexibility.

Choice of industries

Whether you want a job in technology, banking or health care, having a background in coding will help you land a great career. Looking for more excitement? Being a skilled coder can catapult you into a cool, fast-paced field like artificial intelligence. A field that is growing at a rapid rate. A report by the World Economic Forum states that AI will create 58 million new jobs by 2022. You can work on the cutting-edge helping to develop new technologies that will shape the future world. No worries if you opt to steer clear of advanced fields like AI, with a background in coding you’ll have your choice of incredible industries.

Coding improves your problem-solving abilities

Beyond providing a tangible skill you can add to your resume, coding can teach you to become a better thinker with improved problem-solving abilities. Why? Because coding takes attention to detail and an ability to break down problems into smaller pieces. This approach can be utilized in different areas of your professional and personal life. The more you practice coding and solving the issues that arise, the more skilled you will become at tackling problems.

From high-paying job opportunities to more flexibility and even improved problem solving, coding is a skill that will increase your chances for success in business and life. Don’t wait, start your coding journey today and get ready for an amazing future.

Learning a new language can be difficult, no matter the origin. That’s not to say that it’s impossible! We have put together some tips for learning almost any coding language:

First off, there are over 100 languages that coders and programmers use (actually, we’ve heard that there’s even more than 2,000, and that’s just because languages are developing every single day!), so don’t feel overwhelmed. You can just simply pick from a list of 10, or whatever serves your coding goals best! Some of the most popular are JavaScript, Python, Java, Go, Elixir, Ruby, Kotlin, TypeScript, Scala, and Clojure.

You know what one you want to learn? Great! (If not, don’t stress, these tips apply to ALL languages.)

1. Actively practice.

You can’t just read something and then let it be. You have to continuously keep practicing and using the language in order to become fluent in it. A fun way to practice is by solving coding challenges. There are websites such as LeetCode that can help you increase your fluency, and will teach you more about the structure and syntax of the language.

2. Write things down.

While typing on a keyboard is the way you’ll be using the coding language in the future, writing it down helps burn it into your memory and store it somewhere where you can easily access it. We’re no brain experts, but have you ever noticed that you remember something better after writing it down? That’s why. Give it a shot!

3. Don’t over-do it.

It’s exciting, yes, but we’re not machines. Our brains need a break — even though it’s for fun, and you WANT to do it. You still need a break, to give your mind time to store what you’ve learned, give your eyes a rest, and get the blood moving through your body again. Don’t be a coding zombie.

4. Read a lot.

While you might not understand the language as a whole yet, reading the language in question — and reading a LOT — can’t hurt, because you’ll find yourself picking up on things as you go. Eventually you’ll train yourself to read almost effortlessly.

5. Build something!

Use the language that you’ve learned, and use it often! Even if it’s in something small, you’re still applying the knowledge that you’ve gained, and making it part of your life. This ultimately helps build fluency and recognition.

6. Use a linter.

Linters are code-analyzing tools that flag any errors or bugs you may have created in your newly-learned coding language, so that way you can go back and fix the problem. Think of it as a SpellCheck for coding.

It might be hard to do at first, but don’t give up! Once you beat that learning curve, you’ll find that learning these new languages is fun and effective! Go on! Try it!