Things to know in computer science in last year of college.

Hey students, yes I mentioned it because this article’s target users are the students of college that to of computer science.

Here I will divide what students wanna become after their Graduation. So the Classification is as follows

  • Developer
    • Front end Developer
    • Backend Developer
    • Full Stack Developer
    • Game Developer
    • Android Developer
    • IOS Developer
  • Graphics Designer
  • Data Analyst
  • Artificial Intelligence Engineer

So these are the Categories that I am going to talk about in this article. First of all I will talk about few concepts that are common to all of these and should be learned.

 

Common topics

  • Object Oriented Programming
    • This is something which is really useful everywhere. The main philosophy behind this according to me is why do rework if you can reuse the smaller components to make the bigger piece.You must know about this because you will work with reusable components in all of the listed categories.
  • Data Structures
    • If  we exclude graphics designing all of the above requires very good knowledge of Data Structures. Now you must be wondering what all should know about data structures. You can find it anywhere on codechef etc.
  • Design and Analysis of Algorithms
    • Yes you have to learn this for all of above. This is something I consider as the must for every person. It increases your ability to think and work in different situations. You can apply algorithms every where and every point of time so learning them is not gonna cost you anything.
  • Operating Systems
    • Again if you leave Graphics Designing Operating system is important for all of the others. It is because everything you will work will be running on one or the other operating system. So it is always advisable to learn the behavior of Operating systems so that you can easily modify your projects to perform good.
  • Computer Networks
    • Same case you need to learn computer networks as all of the above make use of the networks by one or the other ways. So if you know about network latency, packets, protocols like SSL, HTTPS, SSH. They will be great help to you if understanding the working of servers.

We have talked about the common things now lets proceed with what specifics you must know if you want to opt for one of the above.

 

Front End Developer

Computer languages you must know :

  • Javascript
  • HTML
  • SAAS or CSS
  • Actionscript [Optional if you want to develop flash applications.]

Frameworks you must know :

You must have knowledge of

  • Responsive Design
  • Icons and Glyphicons
  • Little CSS tricks that may cause you many hours.
  • Meta tags for SEO.
  • API calls
  • JSON and XML
  • Node and NPM, because now a days node is used to setup projects.
  • Grunt or Gulp knowledge will be extra plus.

This is pretty much you should know about front end at the end of college. You must keep in mind that you will get more and more front end tricks with your experience.

 

 

Back End Developer

Languages you must know

  • Php or Python or Java or Ruby, I will say learn php and then python.
  • You can also Learn node for backend.

Frameworks you must know

  • For php
    • Laravel or Symphony or CodeIgnitor.
  • For python
    • Django or Flask.
  • For Java
    • Strut or Spring or GWT
  • For Ruby
    • Rails or Sinatra
  • For Node
    • Mean

Database you must know

  • MySQL or DB2 or Oracle
  • MongoDB or dynamoDB

In-Memory databases you must know

In-Memory Search frameworks

You must also have knowledge of

  • API’s
  • Authentications and authorization
  • AWS Servers
  • SSH
  • Http and Https
  • Nginx or Apache
  • JWT tokens

 

Full Stack Developer

So you come to the bigger part. As I told you about small reusable components, merge the above mentioned small components and you will get what you must know to become the full stack developer.

 

Game developer

I don’t have much knowledge on how to do game development but i am sharing few tools that you can can learn and strive towards game development.

Generally what happens in game development is there are many game engines present people use those engine and modify them to make their own games.

 

Android Developer

Languages

  • Java or Python

Tools you must know

  • Android Studio

Knowledge you must have

  • Debugging android apps.
  • Knowledge of XML
  • API’s
  • Basic concepts of android

You can also use HTML CSS and Javascript to make android apps but those app will not meet all the requirements that a native app can do. For making apps in javascript you can use tools like phonegap.

 

IOS Developer

Again I don’t have much knowledge but I know that learning IOS development is pretty costly. First you must have a Mac OS then only you can start learning about IOS development.

Languages

  • Swift or C#

Tools

  • Xcode

You must have good knowledge of

  • Debugging IOS apps.
  • Knowledge of XML
  • API’s
  • Basic concepts of IOS apps.

Phonegap can also be used in developing IOS apps thus making it really awesome as you can get both apps in one code. Awesome no?

 

 

Graphic Designers.

For becoming a graphic designer you must have a good grasp of what is good design, how to make good design, user experince and all

Tools

  • Photoshop or Sketch or Gimp
  • Adobe Illustrator
  • Adobe Aftereffects for videos.

This is one of the toughest cause it requires a good grasp of others thinking.

 

 

Data Analyst

For being a Data Analyst you must be well aware of the basic concepts of maths and statistics and prediction models.

Languages

  • Python
  • R
  • Java
  • Matlab.

Tools

  • Hadoop
  • Excel

Python Libraries

  • Panda
  • Scikit

Other knowledges:

  • Manipuation of data from one format to another
  • Excel is very powerful and knowledge of VBA will be helfull

 

Artificial Intelligence Engineer

You must have good grasp of probability and prediction models and statistics. Machine learning and its different models.

Languages

  • Python
  • Matlab
  • R
  • Java

Libraries for python

  • Scikit
  • Panda

Knowledge to have

  • Good grasp of Algorithms and operating systems as handling huge data will cause problems.
  • Data format manipulations
  • Patience at it may take good amount of time for your model to learn and act according to you.

 

So this is all about the different options for you in Computer Engineering . Please note that I am not an expert and this is all my views that you may use. All this knowledge is the perception of my surrounding.

Also one thing that lot of students miss now a days is RANDOMNESS. According to me it is one of the best things to have, as you will come up with solutions that none of other may have think.


Gaurav Yadav

Gaurav is cloud infrastructure engineer and a full stack web developer and blogger. Sportsperson by heart and loves football. Scale is something he loves to work for and always keen to learn new tech. Experienced with CI/CD, distributed cloud infrastructure, build systems and lot of SRE Stuff.

1 COMMENT
  • Manikanta
    Reply

    Nice
    But not clear with fullstack developer

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.