Ultimate Roadmap for Computer Science

Dantusaikamal
8 min readJan 9, 2021

--

Are you an under graduate student pursuing Computer Science and not sure where to start? Are you a tech enthusiast with any other degree who loves computers? It doesn’t matter who you are or how much knowledge you have in programming. This road map will definitely help you.

Photo by Niclas Illg on Unsplash

My interest in computers started with video games when I was a little kid. I was interested in how a machine, made only of some components was able to do so many amazing things such as displaying videos, running games, and other applications, and delivering an unlimited amount of information via the internet. This interest soon turned out to be my passion ultimately led me to take up Computer Science in my Bachelor’s.

You might have taken CS due to similar reasons or other possible reasons like: Curiosity, peer pressure or just blind choice. But once you’ve entered the field, it’s worth exploring what all CS has in store for you.

Moving on to the Roadmap. Computer Science is a vast subject and has so many fields. But I’ll discuss the trending fields in the outside world.

1. Web Design and Development:

For any business, a website matters more than anything, when it comes to reaching out to customers online. A website is the representation of the business online. These days, every business realizes the need for having a website and are putting in efforts to design and develop the best site for taking their products or services online. This is where we can see a great deal of scope for web development and design.

Most web developers and designers are familiar with the latest tools, techniques, technologies, and frameworks that will help them get beautiful sites up in a short span of time. The development time of websites has come down with the agile technologies that make development easier. Here, we will cover the scope and future of web development

With a median pay of $69,430 per year, web development is a well-paying job no matter what specialization you choose.

There are a lot of certifications on web development. Based on the availability of time, you can opt the right course. Some of the jobs that are waiting you include:

  • Web App Developer
  • UI Designer
  • Front-end Web Developer
  • Back-end Web Developer
  • Senior Web Analyst
  • UX Architect
  • UX Designer
  • Web Marketing Analyst

You’ll get your hands on a number of technologies while working on Web Development. It’s okay to feel a little overwhelmed but you’ll only look back to see yourself as an independent Full Stack developer.

In Web development and design, You will learn a lot about

  • Frontend development
  • Backend development
  • Full Stack development
  • UI/UX design

I’m working on a complete roadmap for Full stack web developer in 2021 that will give a clear picture of web development in detail.

2. Machine Learning

If you have seen the ever changing trends in Computer Science, you will observe that Machine Learning would be a constant. In modern times, Machine Learning is one of the most popular (if not the most!) career choices. According to Indeed, Machine Learning Engineer Is The Best Job of 2019 with a 344% growth and an average base salary of $146,085 per year.

If you are worried about having less knowledge on the code, You can get a long way without touching a line of code. This is due to the great software that is available. This doesn’t mean you will not deal with code.

Even though there are many different skills to learn in machine learning it is possible for you to self-teach yourself machine learning. There are many courses available now that will take you from having no knowledge of machine learning to being able to understand and implement the ml algorithms yourself. One search course is Machine learning by Andrew Ng which is available in Coursera.

Inside Machine Learning, You will see a lot of tools and technologies. Some of the key concepts involve:

  • Regression.
  • Classification.
  • Clustering.
  • Dimensionality Reduction.
  • Ensemble Methods.
  • Neural Nets and Deep Learning.
  • Transfer Learning.
  • Reinforcement Learning.

3. Data Science:

There’s been so much hype about Data Science lately. Regardless of your previous experience or skills, there exists a path for you to pursue a career in data science. I’m here to help you know what skills you need to develop, and where you can learn them.

Let’s get started!

  1. Programming Skills:

No matter what type of company or role you’re interviewing for, you’re likely going to be expected to know how to use the tools of the trade. This means a statistical programming language, like R or Python, and a database querying language like SQL.

2. Statistics:

A good understanding of statistics is vital as a data scientist. You should be familiar with statistical tests, distributions, maximum likelihood estimators, etc. This will also be the case for machine learning,

3. Machine Learning:

If you’re at a large company with huge amounts of data, or working at a company where the product itself is especially data-driven (e.g. Netflix, Google Maps, Uber), it may be the case that you’ll want to be familiar with machine learning methods. This can mean things like k-nearest neighbors, random forests, ensemble methods, and more.

4. Multivariable Calculus & Linear Algebra:

Understanding these concepts is most important at companies where the product is defined by the data, and small improvements in predictive performance or algorithm optimization can lead to huge wins for the company.

5. Data Wrangling:

Often, the data you’re analyzing is going to be messy and difficult to work with. Because of this, it’s really important to know how to deal with imperfections in data. Some examples of data imperfections include missing values, inconsistent string formatting

6. Data Visualization & Communication:

Visualizing and communicating data is incredibly important, especially with young companies that are making data-driven decisions for the first time, or companies where data scientists are viewed as people who help others make data-driven decisions.

4. Mobile App Development:

In 2020, mobile apps are projected to generate $188.9 billion in revenue via app stores and in-app advertising. What’s more, enterprise mobility is estimated to be worth $510.39 billion by 2022.

While many companies are trying to take advantage of this trend, many do not know how to create an app successfully. Success within the competitive landscape of these growth projections can become a reality for your company — but only if supported by a precisely cultivated mobile app development process.

Planning remains an integral part of this phase in the mobile app development process. Before actual development/programming efforts start, you will have to:

  • define the technical architecture,
  • pick a technology stack, and
  • define the development milestones.

A typical mobile app project is made up of three integral parts: back-end/server technology, API(s) and the mobile app front-end.

Top technologies to pick for creating Robust mobile apps:

  1. Flutter
  2. Java
  3. React Native
  4. Kotlin
  5. Swift
  6. Python

5. Game Development:

Game Development is the overall process of creating a video game. And if you thought that making a video game is as easy as playing one, well it’s not!!! There are many components while creating a game such as Story, Characters, Audio, Art, Lighting, etc. that eventually merge together to create a whole new world in a video game!

How to Start Learning Game Development?

  1. Learn Computer Programming: The interesting world-view in a game is all created using Computer programming. So it stands to reason that you need to know programming in case you want to enter this world! Now if you have some basic knowledge about coding in programming languages like C++, C#, Python, Java, etc. then great, otherwise it’s best if you learn programming before moving any further.
  2. Choose a known Game Engine: As you are a beginner in Game Development, it is best to start with a known Game Engine. The most popular Game Engine is Unity as it is quite easy to learn, and also has the personal edition which is free! Another popular Game Engine is the Unreal Engine which can be modified to create unique games.
  3. Create a Basic Game: Now that you have some idea of Game Development, create a basic game. Now you might want to get carried away and wish to create a masterpiece but trust me and start small!
  4. 4. Understand Game Design Patterns: Game Design Patterns is where things get a little complicated as you have already understood the basics of making a video game. But the first question is, What are Game Design Patterns? Suppose that you have to put in multiple asteroids that destroy a spaceship in a space video game. It is much wiser in this situation to have a code module that can be reused again and again for the asteroids rather than focusing on individual asteroids.
  5. Learn 3D Graphics and Associated Maths: It is not possible to make a video game without graphics and so you need to learn about them now. And while 2D graphics were quite popular in the mid-1990s, most of the famous games today require 3D graphics which can be rendered in Fixed 3D, First-person perspective, Third-person perspective, etc. which provides a realistic feeling to the game.

These are just a few branches of Computer Science that are trending now. I will write an article explain each of the stream. Until then, Happy Learning :)

About me:

I’m Sai kamal, a Full Stack Developer 🚀 from Hyderabad, India. Currently a sophomore student contributing to various open-sourced projects and working on quite a few personal projects. Also part of a start-up company aiming high 🌟

I’m interested in Web Development, Machine learning and Data Science.

Check out my Portfolio at https://dantusaikamal.github.io/

--

--

Dantusaikamal
Dantusaikamal

Written by Dantusaikamal

Hi, I’m Sai kamal, a Full Stack Developer 🚀 from Hyderabad, India. Currently a Master's student @ IIIT'H, a tech enthusiast with a penchant for writing!

No responses yet