Skip to content

Here's a list of CS stuff that you should try out.

Notifications You must be signed in to change notification settings

sharababy/things-todo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

60 Commits
ย 
ย 

Repository files navigation

XKCD: Sandwich
Source: XKCD Sandwich

Table Of Contents

What Should I do in the Summmer ? ๐Ÿค”

Hi everyone, If you have no clue what you will do after the first 4 exciting days at home, we have come up with a bunch of interesting things you could try out.

I have no idea what to do ๐Ÿ˜

Start with these things:

  • Check out what comes inside Computer Science by watching this video Map of Computer Science. [Bonus: Map of Mathematics ]

  • Install a Linux based OS (Ubuntu,Arch Linux) on your laptop and learn how to operate Linux based Operating Systems.

  • Make it a point that whatever(yes!! literally everything) you do in your computer you do it through command line. Even when it comes to copying, moving or renaming files. Refrain from using file explorers and GUI clients until you really get a firm grip on Linux commands.

  • Make a Github Account (Very Important).

  • Install and Learn how to use GIT from here (Very Important).

I want to learn a new (computer) language, But I don't know which one ๐Ÿ™„

  • You need to learn at least five languages by the time you pass out of college. Some really good languages both for competitive programming (mainly for object oriented programming) and web development are:

I would like to open doors and windows with my Phone ๐Ÿค–

  • Buy a Raspberry Pi and make a small project with it (list of projects here).

  • Buy Arduino and make a small project with it (list of projects here).

  • Learn about IoT and what it exactly is and how to make something that is IoT enabled.

I would like to learn how to make a website ๐Ÿ‘จโ€๐ŸŽจ

  • Start with https://www.w3schools.com/ It is the best place for starting web development.

  • Learn how to make a website with a FrontEnd Framework (Angular JS, React JS, Vue JS).

  • Learn Django - a web framework in python if you are a fan of DRY principle and pythonic cultures. CodingEntrepreneurs is an awesome youtube channel to get started with django.

I would like to develop a Mobile App ๐Ÿ“ฑ

  • Learn android app development using Kotlin or Java. This is a great place to start. The guy explains both theory and practicals with the right balance.

  • Check out Corona SDK. This will get you up and running very quickly. It uses a language called Lua which is very similar to python as the base.

  • Also this is Kivy for you python aficionados. Do give it a quick visit.

  • For ios/android development, check out Flutter. Has a differnet approach to front end unlike others. Follows reactive design principle. (Like ReactJS). Is programmed in Dart (similar to c, Object oriented and easy to pick up). Made by google. And builds both ios/android app from just one code. Here's how to Get Started.

  • Learn Swift for iOS app development.

  • For Cross platform app development use React Native.

I would like to know how to store Large amounts of Data ๐Ÿ—„

  • Learn about database system like MySQL or MongoDB.

  • Learn how to use MongoDB or MySQL and interface it with some language like C++ or JavaScript.

  • Learn how data centers and large data clusters work.

I would like to improve my general logic and coding abilities that will help me in interviews โš”

  • Try solving atleast 2 problems a day from HackerRank / CodeChef / HackerEarth.

  • Try Learning more about Data Structures and implement them in at least one language.

  • There are a lot of "learn the language" domains like this one for python on hackerrank. They are also Really good for practice.

I am just generally interested in the exploring the world of CS ๐Ÿ”ญ

I'd like to read a few books on CS this summer

  • Here is a comprehensive list of cs books that everyone should definitely read.

  • Try Reading CLRS, you can easily get a pdf online.

  • These are places where you can get any programming book you will ever need for free !!!

I'd like to try out some game development ๐ŸŽฎ

  • If you like developing Games try out Unity or UnReal.

  • If you are interested to develop some Augmented Reality, Vuforia (used along with unity) is for you!

Anything else I can do ?

  • Learn how to use APIs (All the Google Applications like Drive, Calendar, Contacts, YouTube are mostly on GitHub).

    • For example, try accessing or downloading your drive files through your command line and try printing your liked videos from YouTube by using their APIs.

    • You can imagine anything more you want and play around with them which in turn gives motivation.

  • Sign up for Github Student Developer Pack to get some sweet goodies (like free private repositories on github).

  • Check out GSOC (Google Summer of Code) and what is it about. Wikipedia link: Google Summer of Code

  • Check out Google Code Jam. Wikipedia link: Google Code Jam

  • Check out what is ACM ICPC. Wikipedia link: ACM ICPC

  • Check out this amazing list of courses from the world's best universities.

You also have a different set of technologies to check out

  • Docker
  • Kubernetes
  • The above two are related. So check out both of them.
  • Docker Ebook Please try out and practice. Hit the command line.
  • MainFlux IoT
  • ThingsBoard IoT
  • Both of the above IoT platform are used extensively in startups.
  • Rancher OS (The OS itself is completely dockerized and so are all of its services.)
  • Gitter It is not a technology but a tech community platform where developers help each other just like Stack Overflow but faster help given.

Some motivation so that you don't think you're a piece of **** This is for people who can listen to this and won't get bored immediately.

  • Read a lot. Read large amounts of documentation. There are two types of intelligence. 1. Technical. 2. Functional.
  • Always go for Functional. Technical intelligence is "you do it when you're given a task. You somehow find out a way of achieving it. Like a robot."
  • Functional is when "you know why you're doing it. In that way you find out ways of optimising stuff and improving.
  • Go deep into the mechanisms of anything. Fingertip understanding. One thing I personally found out after years of being in fear was "Nothing will happen to your computer machine. If something goes wrong you can always re-install anything." You just gotta have some ISOs in hand when stuff goes crazy.
  • Read more than you do. The worst part of implementing anthing or trying out new technologies is reading the official documentation. But cold coal doesn't give you ironed clothes. You have to work hard in order to live an extra ordinary life.

What you should not do this summer ๐Ÿšญ ๐Ÿšฏ ๐Ÿ“ต ๐Ÿ”ž

  • Don't waste your time binge-watching a TV series.

  • If you go to youtube to see a video, then don't click on the suggested videos after that, it will take you into an infinte spiral of endless entertainment. Disable autoplay.

  • Don't sleep 12+ hours a day.

  • Don't be lazy.

About

Here's a list of CS stuff that you should try out.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published