It’s the end of another year, your mistakes behind you, your successes looming above them all like a brilliant golden trophy. You made it, and now it’s time for another year of growth and learning! Have you gotten more into coding over the last year? Want to get into it next year? Well here’s a list we’ve come up with, featuring goals for our coding friends to conquer in the next year!

1. Increase your typing speed.

Typing is an important aspect of the coding world, and you need to have a good speed going if you want to be able to master any other coding-related skills. You can do this simply by practicing, or using games and software specifically for building your typing speed. You can read more about increasing your typing speed here.

2. Learn about a new area of coding that interests you.

You can do this in several different ways, such as doing your own personal research, watching Youtube videos, or even taking a class or attending a camp. This gives you the opportunity to expand your knowledge, give you something challenging, and another way to practice.

3. Learn a language!

We’re not talking about Spanish or German here, we’re talking about a coding language! There are over 100 different coding and programming languages (some lists even say over 2,000!!) to choose from, some are rarely ever used, so the sky’s the limit. You may be able to find information on a language at the camp list we gave you in number 2, however, some might require a little more. Do some research and see which one appeals to you, or will serve you in a future career and look good on a job application!

4. Upgrade your computer.

BONUS: upgrade your computer MANUALLY. What we mean is, you can get software add-ons to boost the speed and space on your machine, and get a new keyboard or a mouse. That’s a job in of itself, but what if you took it to another level? What if you took your machine apart and added other things? Sound fun? Scary? Impossible? Well, it’s not, but it’s definitely a project. While it may help you get to know your machine better, you need to have the patience to do it, so if the project sounds too big for you and your busy schedule, settle for a lesser upgrade!

The possibilities for the upcoming year are endless! Tackle something new, big, or just downright not like you. Triumph over it all and show 2020 who’s boss!

Christmas shopping is a real pain, especially when you’re shopping for someone who, while you love them dearly, you know nothing about their likes and dislikes. So, here to throw some inspiration your way, here are some of what WE think are the best gifts to give your coder and programmer loved ones!

1. Classes and courses.

This one might be a little tricky, but ask around and see if there is a specific skill area your gift receiver has been wanting to work on, or learn more about, and see if you can find some classes! A simple Google search will help in a lot of that, and other times you can audit a class from an online or local college or university.

2. Computer gear.

Providing you’ve asked around a little and know what it is the coder needs, you can get them anything ranging from a new keyboard to an updated software package and even to a brand new monitor or computer system! There are thousands of choices when it comes to smaller items like a keyboard, or a mouse, or even headphones. Look for comfort as well as quality!

3. Apparel.

Believe it or not, clothes are a great option, too. There are tons of shirts and hoodies that have fun jokes, puns and references that only programmers can understand, and those tend to be perfect gifts. Plus, these can be fun and inexpensive gift ideas for any coder!

4. Sustenance and ironic mugs.

So as it turns out, food is always an amazing gift to receive. Maybe consider an “energy box” full of healthy snacks to keep their minds going and fingers moving. While mugs might not be just for coffee, they sure are fun to have around for late-night coding sessions. A quirky mug says a lot in just a small package!

Hopefully these can spark an idea in your probably overwhelmed, holiday-worn mind and save your from a last minute panic! Have any other ideas? Let us know in the comments!

By Noah S., age 16

Hi! Today I’m going to be explaining graph theory, a complex algorithm used almost exclusively in object oriented languages that shines when you want to know the shortest path from something to another thing. Some applications include finding the shortest route to a location, the smallest number of moves to win a chess game, and the fastest way to solve a Rubik’s cube. Overall, graph theory has a lot of potential when applied to something large, and can really be utilized in many amazing ways. Without further ado, let’s jump right in.

Let’s try to visualize the graphs that are mainly used in graph theory. Imagine a bunch of points, with every single point connected to one or two other points. These are called nodes. Nodes are used in many other types of searching algorithms, such as linked lists and trees. Since there are two types of graphs used in graph theory, imagine these two scenarios. First imagine the same points and connections as stated above. This is an undirected graph. An undirected graph is when every line between the points is unmarked. To contrast, now imagine the same graph, but every line between the points has a direction, marked with an arrow. This shows how one node connects to another. Undirected graphs use unmarked lines to indicate that information flows both ways, while directed graphs use marked arrows to indicate information that flows only one way.

Now that we have understood what kinds of graphs exist, let’s discuss the ways they can be utilized. Commonly known as simple graphs, any graph without a clear pattern or shape, and doesn’t loop whatsoever is deemed so. Most graphs used in graph theory are simple graphs. Other types of graphs are non-simple graphs, which can be identified with their use of loops (for example, three nodes all pointing to the next node to form a triangle shape). Another type of graph is an isomorphic graph. These graphs are just simplified versions of the non-simple graph. Since many non-simple graphs end up showing some kind of pattern, usually it can be arranged to form a particular shape. Imagine a bunch of nodes all pointing to each other to form a pentagram or such.

There is one type of graph that stands out, however. It is the weighted graph. A weighted graph is just a normal graph with a catch: Every line that connects two nodes has a weight, usually an integer, of how much it “costs” to use this line. As a result, a path that connects two nodes might end up being longer than a path that goes through 4 or 5 nodes. Knowing the weight allows the algorithm to show signs of sophistication. For example, maybe you see a lot of traffic going to your destination. Weighted graphs allow you to determine the fastest route, and you may end up arriving there a few minutes earlier. Of all the graphs mentioned in this post, weighted graphs are the most complex, but the most fundamental in properly understanding and utilizing this code.

Now let’s talk about how to actually make this code work. If you have experience with linked lists or trees, or basically anything with nodes, it’s pretty simple to understand. You traverse through the graph, starting with node 1, you traverse through the graph (test out every option) until you hit your destination. Then, it calculates the fastest possible route. If weights are not present, it is simply the path with the least amount of lines. If weights are present, however, it will calculate which path has the least weight.

This is graph theory in a nutshell. There are some other small nuances and such, but knowing the stuff that I have written will set you pretty well off. Understanding graph theory will help you understand other object oriented algorithms, like trees and linked-lists (although I would start there if you have no coding experience with nodes).

It’s the perfect time to set new goals for 2020. While you reflect on all you’ve accomplished in 2019, we encourage you to set a resolution of learning how to code in the new year. Whether you are familiar with or a complete stranger to the concept of coding, this post is for you! So, why exactly would learning this skill be a great move for the turn of the decade?

Knowing how to code unlocks many job opportunities.

It’s true! Being skilled in coding is a very desirable skill in the tech industry. It provides you with the means to understand the language that is used to program the tech that impacts your life every single day. What a commodity!

Learning the skill would provide you with a meaningful challenge.

Sure, it’s easier to coast and avoid learning new things, but where is the fun and fulfillment in that? Learning how to code is definitely a challenge. You will struggle and fail sometimes, but it’s all part of the process and you will come out better for it. You’ll gain a new perspective on the world around you and exactly how tech plays into it.

You’ll potentially be able to craft solutions to real-world problems.

The world of tech development is ever-evolving and ever-expanding. Coding is foundational in those functions. By knowing how coding works (and how to do it yourself), you could flex that skill by, for example, crafting an app or website for an organization that helps people in need. Your options on making an impact on the world around you would be virtually limitless!

You’d become part of a powerful, supportive, and collaborative community.

Coders love collaborating on their development projects and are always in constant communication with each other. Whether you’d be struggling or excelling in your endeavors, you’d have a knowledgeable and skilled network supporting you the whole way through. It would provide you with the opportunity to create fruitful professional and personal relationships alike.

Let’s be honest, the reasons to learn coding far outweigh the reasons to not. Part of living a well-rounded life is committing to being a lifelong learner, and coding is a great choice for deciding where to focus your efforts. We hope this post has inspired you to consider learning this interesting and all-important skill and we also hope you have a fantastic start to the new decade!

If you’re a part of the coding or tech community and you have a milestone coming up that you’d like to celebrate, organizing your party around a computer theme is a fun and interesting choice! Continue reading for some tips on how to make yours the best it can be!

Craft well-designed and tech-oriented digital invitations.

The first impressions your potential guests will form of your party will be based off of the invitations you send out. What better way to reel them in than flexing your design skills and interest in tech by creating interesting and relevant ones?

Choose a relevant color scheme and matching decorations.

Blues, greens, and neutral colors are great choices for your color schemes. You can choose or order a banner that is related to your party theme as well – for example, one that says “Happy Birthday!” (or something similar) spelled out in keyboard squares or binary.

If your party will have assigned seating, you could create tags for the guests’ tables that feature a picture of an open laptop with their names and assigned seats. For an extra flair, you could orient the guests’ cutlery in paper or plastic sleeves that display fun sayings, such as “have a byte,” or design placemats that look like mousepads.

Order food items that relate to the theme of the party.

For example, you could order cupcakes that have a power on/off symbol on each of them. Another interesting choice are cookies that are iced and decorated to look like keyboard squares. If your party will feature a cake, you could choose to order a custom-designed one that will look like a PC tower, monitor, and mouse on top of a circular or square base that is designed to look similarly to a desk.

Choose interesting party favors!

Everyone loves party favors, and by providing ones that are related to your theme choice, you will help your guests have more fun! Order laptop stickers, mousepads, mice, flash drives, or other interesting computer accessories. It’s your choice on whether to order custom designed favors that represent your event, but chances are that your guests will be more likely to use generic (but still visually appealing) favors on a regular basis after your party.

Parties are meant to be fun and engaging celebrations. Regardless of the event you’re celebrating, there are so many ways to express your love of computers in your party planning! We hope this post has given you some inspiration for your next big get-together.