3
Harshil Lodhi, In Love with Computer from my childhood Votes by Swapnil Agarwal, Siddhartha Nambiar, Rahul Singh, Shreyas Basarge, and 271 more. This is a extract of a document that our seniors shared with us two years ago. The topic was What a CS undergrad should do to compete globally?. What technology / topics you should be aware of at the end of 4 years? Web development frameworks NodeJS Python / Django Backbone.js Jquery Twitter Bootstrap. This is infact a good way to learn how to write clean CSS design :), try it. Programming: Practice from Codechef Topcoder may be a good choice too Learn Javascript Stanford projects VNS PintOS Cool Find out other projects as they are more organized and enrich knowledge Contribute to StackOverFlow. There are a lot of other website like stackoverflow for algorithms. Join them and contribute. Try to solve the questions people ask there. How to get maximum out of various interesting courses and ignoring the bad ones (you yourself define your good/bad ones. Some of us liked the following courses. ): Operating Systems

CS Graduate Should Know

Embed Size (px)

DESCRIPTION

Knowledge

Citation preview

Page 1: CS Graduate Should Know

Harshil Lodhi, In Love with Computer from my childhood

Votes by Swapnil Agarwal, Siddhartha Nambiar, Rahul Singh, Shreyas Basarge, and 271 more.

This is a extract of a document that our seniors shared with us two years ago.

The topic was What a CS undergrad should do to compete globally?.

What technology / topics you should be aware of at the end of 4 years?

Web development frameworks

NodeJS

Python / Django

Backbone.js

Jquery

Twitter Bootstrap. This is infact a good way to learn how to write clean CSS design :), try it.

Programming:

Practice from Codechef

Topcoder may be a good choice too

Learn Javascript

Stanford projects

VNS

PintOS

Cool

Find out other projects as they are more organized and enrich knowledge

Contribute to StackOverFlow. There are a lot of other website like stackoverflow for algorithms. Join

them and contribute. Try to solve the questions people ask there.

How to get maximum out of various interesting courses and ignoring the bad ones (you yourself define

your good/bad ones. Some of us liked the following courses. ):

Operating Systems

Page 2: CS Graduate Should Know

Computer Networks

Algorithms

Compilers

Advanced courses ( Advanced OS, Topics in Networks )

Machine Learning

What should CS guys do in first year? -

Get a good hang of C and C++ first by self learning and attempt problems on SPOJ/Codechef etc.

Then in the 2nd year, they can start trying various areas (like coding, web/mobile dev, OS, Open source

etc.) and find what interests them most.

GitHub projects. Contribute to at least one open source project. Learn version control.

Just go through linux kernel design once in your 4 year period. This should be done after/along with

studying the operating systems course. You should use a virtual machine for testing the compiled kernel.

Some philosophy: Just remember whatever good work you do, you will find 10 people around you who

can do 10 times better than the work you have done in lesser time. So be humble. Learn from your

friends. The flow of knowledge should always be reciprocated, otherwise it get’s very boring for the

teacher. So discuss with friends openly and try to tell them as much as you can, so that the discussion

gets more encouraging. As I said, always take care that it should not become a student teacher

discussion, because the guy who plays the role of teacher is not getting paid here :-). Also remember

that there is no substitute to self study.

Another Alternative Plan :

Build Up a strong programming background

Learn C/C++

It’s very rare that when you gonna go into industry you will get to write code in C/C++ but C/C++ makes

the backbone of your programming skills. Also they will help you in your placements.

Learn Python

This is easy, fast, widely used language. Go for it, use it for solving programming problems there in

Codechef, Spoj, Topcoder.

Page 3: CS Graduate Should Know

Learn Javascript

Awesome scripting language, a must know for all for developers ( considering that in future everything is

gonna be about internet .. so do learn it … ). You may not want to go deep into it, until you are going for

Node.js like things. A knowledge of Jquery will be a great help :) ( Go for it only after you have sufficient

knowledge of javascript, say you have programmed extensively for 2 weeks. Again, this depends on the

individual. )

Java/Csharp [ Optional ]

Getting to know various SDK/Frameworks around [ Only jump into this when u have strong programming

background :) ]

Use projects allotted in the coursework as a place to use different sdk available.

Some sdk to experiment with:

Google App Engine

Android

iOS ( if you are an Apple Fan )

Ability to use SDK/Web services by reading documentation

This is very important, when you are in industry you are expected to learn new sdk and use them in your

code. It is a skill how well you can understand the sdk reading the documentation. This comes from

practice. Read and fail, read again and succeed.

Source - A PDF by Satyadeep Karnati and others.