# The CS Kid Starter Pack

## The CS Kid Starter Pack

> This is where we're going to make sure you get the essentials any `CS Kid` could ever want.

***

> The "I'm studying" starter pack [pic.twitter.com/XnjQiFvyhE](http://t.co/XnjQiFvyhE)
>
> — Starter Pack (@ItsStarterPacks) [November 30, 2014](https://twitter.com/ItsStarterPacks/status/538877075055054848)

> Yeah, no, not this one ^.

***

## Overview

* a decent laptop and phone
* a pair of headphones
* a GitHub account
* Git Version Control
* an IDE
* a killer browser
* a text editor
* Google and Google-fu
* cloud storage
* a password manager
* a Mail app
* a LinkedIn account
* a Stack Exchange account

***

![](http://www.tapscape.com/wp-content/uploads/2014/04/2014-macbook-air-lpddr4-memory.jpeg)

### a decent laptop and phone

Many students within CS@HU will complain that their laptops are too big to bring to class.

**DO NOT make this mistake.** Buy a laptop that is **very portable but powerful enough** for your daily activities. You're going to be using it for **EVERYTHING**, so don't make a hasty decision based on one aspect of the laptop.

_4GB RAM/memory_ should be enough even for a CS major like yourself but more is always nice of course. In terms of storage, you realistically aren't going to use any more then _250GB_ **on average**.

**If you're a gamer**, you're probably find yourself looking at laptops that run **Windows**. If you do this, make sure your phone runs on Android since it'll make things easier in terms of synchronization.

**If you're a cyber security buff** or are interested in that field, you might want to learn how to use **Linux**.

However, **if you're neither a gamer nor a security buff**, then the **OSX combined with the iOS** platform is by far the best choice for you.

If you want **all** the platforms - so some combination of both Windows, Linux, or OSX - that's possible too, so just look into [VirtualBox](https://www.virtualbox.org/) or [Parallels](https://www.parallels.com/)

`Open image in new tab on browser to zoom in`

![](http://cdn3.carlcheo.com/wp-content/uploads/2015/03/iphone-vs-android-infographic.jpg)

***

![](http://store.sony.com/SNYNA_27/pimg/pSNYNA-MDR1RBT_main_enh.png)

### a pair of headphones

> preferably bluetooth

Read [Quote of John Clover's answer to Why do programmers wear headphones while programming?](http://www.quora.com/Why-do-programmers-wear-headphones-while-programming/answer/John-Clover/quote/2905287) on [Quora](http://www.quora.com)

***

![Baracktocat](https://octodex.github.com/images/baracktocat.jpg)

### [a GitHub account](https://github.com/join)

Build software better, together with GitHub. When you publish your code on GitHub, you offer potential employers an easy way to see how you work.

Also take advantage of what GitHub has to offer you...

* download the [Student Developer Pack](https://education.github.com/pack) GitHub offers which includes the best developer tools, free for students

> make sure to sign up for the Student Pack using your `@my.hamptonu.edu` email.

* [learn how](http://www.thinkful.com/learn/a-guide-to-using-github-pages/) to use [GitHub pages](https://pages.github.com/) to host your website and your project pages
* try out [Gitter](https://gitter.im) which is where GitHub users can chat about projects
* share your code using [Gists](https://gist.github.com/)
* crowdsource a project or team on GitHub with [Gratipay](https://gratipay.com/), which is a platform not directly related to the GitHub family but is used by many GitHub users nonetheless

#### An example of a [killer GitHub profile](https://github.com/addyosmani) for inspiration looks something like this

![All the code in the world!](https://fvcproductions.files.wordpress.com/2015/03/addyosmani.png)

To be fair, this guy does work on [Google Chrome](http://google.com/chrome), but hey, the more you know.

***

### Git Version Control

![](https://mac.github.com/images/screen1.png)

Version control is a system that records changes to a file or set of files over time so that you can recall specific versions later. For the examples in this book you will use software source code as the files being version controlled, though in reality you can do this with nearly any type of file on a computer. [source](http://git-scm.com/book/en/v2/Getting-Started-About-Version-Control)

Try one of the following for keeping track of your files

* GitHub for [Mac](https://mac.github.com/)/[Windows](https://windows.github.com/) (Free)
* [Sourcetree](http://www.sourcetreeapp.com/) for [Mac](http://www.sourcetreeapp.com/download)/[Windows](http://downloads.atlassian.com/software/sourcetree/windows/SourceTreeSetup_1.6.14.exe) (Free)
* [Tower](http://www.git-tower.com/) ($59)

***

![](https://fvcproductions.files.wordpress.com/2015/03/screenshot-2015-03-07-00-24-32.png)

### an IDE

With Java being the language of use for the majority of CS@HU courses, [jGrasp](http://www.jgrasp.org/) is recommended by faculty at Hampton in beginner courses, but once you're comfortable enough using jGrasp, it's suggested you graduate and move on to IDEs that have more features.

[Eclipse](http://eclipse.org) is free, extensible, and probably as close to an "industry standard" Java IDE as you'll get.

Other popular IDEs include [CodeRunner](https://coderunnerapp.com/), [Netbeans](https://netbeans.org/), [all the ones offered by JetBrains](https://www.jetbrains.com/), [Xcode](https://developer.apple.com/xcode/), and [Cloud9](https://c9.io/)

***

![](https://wanyingcom125.files.wordpress.com/2014/02/browser-wars.jpg)

### a killer browser

Many claim [Chrome](http://google.com/chrome) is the best for developers thanks to its ease of use, numerous extensions and add-ons, and superb performance.

Others will say [Firefox](https://www.mozilla.org/en-US/firefox/desktop/) instead because it offers so many useful and developer-oriented add-ons.

It's up for you to decide which browser to use in the end, but a piece of advice just about anyone will give you is to do yourself a favor and not use [IE](http://windows.microsoft.com/en-us/internet-explorer/browser-ie#touchweb=touchvidtab1) unless you have some kind of death wish.

***

![](http://res.cloudinary.com/justinbarnett/image/upload/v1381125437/best-sublime-text-3-settings-1_t0brgf.png)

### a text editor

If you're a developer, a good text editor is a must-have. The humble text editor is great for managing code, writing down quick notes, or just as a distraction-free writing tool. Let's look at some popular ones. [source](http://lifehacker.com/five-best-text-editors-1564907215)

* [Sublime Text 3](http://www.sublimetext.com/) ($70)
  * Cross-platform and feature packed, Sublime Text is a crowd favorite.
* [Notepad++](http://notepad-plus-plus.org/) (Free)
  * Notepad++ has been around for a long time, and many users graduate to Notepad++ from Notepad or Wordpad.
* [Vim](http://www.vim.org/)/[Emacs](http://www.gnu.org/software/emacs/) (Free)
  * Winners in Holy Text Editor Grail Wars of the 90's.
* [Atom](https://atom.io/) (Free)
  * Calling itself a text editor "for the 21st century," Atom earned a lot of praise in the nominations round for being a text editor designed for the needs of today's developers.

***

![](http://2.bp.blogspot.com/-ZVxEkrY04Fs/U15D5uCL-xI/AAAAAAAAOdQ/pJ-Wc99LmPY/s1600/logo_col_874x288.png)

### [Google](http://google.com) and [Google-fu](http://lifehacker.com/5940946/20-google-search-shortcuts-to-hone-your-google-fu)

But not just the Google Search Engine, people.

* [Google Docs](http://docs.google.com)
  * collaborate on writing assignments
* [Google Cal](http://cal.google.com)
  * for managing your week
* [Google Drive](http://drive.google.com)
  * portable storage
* [Google Forms](http://forms.google.com)
  * getting responses from club/team members
* [Inbox](http://inbox.google.com)/[Gmail](http://gmail.com)
  * because email is still how most (older) people figure out everything

Also, in terms of google-fu, that's when you really know how to Google the crap out of things, which is really useful since you'll be doing that a lot throughout your CS career.

**An example of google-fu:** if you wanted to get the slogan or catch phrase of a certain website, you just have to type `info:` in front of the website's url in the Google search query (no spaces).

**Ergo**, `info:urbandictionary.com` would produce `A veritable cornucopia of streetwise lingo, posted and defined by its readers.`.

![](https://huacm.files.wordpress.com/2015/03/screenshot-2015-03-08-16-15-39.png)

Now that's useful!

And if you ever want to find the [`answer to life the universe and everything`](https://www.google.com/webhp?hl=en#hl=en\&q=answer+to+the+life+the+universe+and+everything), Google knows that too.

Here's some more fun queries:

* `do a barrel roll` or `Z or R Twice`
* `tilt` or `askew`
* `Anagram`
* `Define Anagram`
* `the number of horns on a unicorn`
* `the loneliest number`
* `zerg rush`

Now find out [more](http://www.businessinsider.com/awesome-google-features-you-didnt-know-existed-2014-7?op=1) and [more cool methods](http://www.gizmag.com/google-search-functions/34382/) to find things faster. Once you do, it'll save you a **LOT** of time that you used to spend searching for something simple.

***

![](http://cloudtimes.org/wp-content/uploads/2014/03/Choose-A-Cloud-Storage.png)

### cloud storage

**Stop using a USB to store your files!**

This is not safe and the risk of losing all your files is greater.

In fact, it would be best if you didn't store anything just on your laptop at all, so that if anything happened were to happen to your precious computer, you wouldn't be freaking out over the fact that the programming assignment you spent days was still on there.

No, you wouldn't be freaking out. You're smarter than that. You have cloud storage so you'll be able to chill out and access that ridiculously long assignment again in no time.

Popular cloud options include

* [Dropbox](https://www.dropbox.com/)
* [Google Drive](https://drive.google.com)
* [Sugar Sync](starter_pack)
* [Box](starter_pack)
* [iCloud Drive](starter_pack)

***

![](http://i.kinja-img.com/gawker-media/image/upload/t_original/ytzptqysvsbw0stsrtxm.png)

### a password manager

No more writing usernames and passwords down in some random notebook, people.

You're going to be creating **MANY** accounts throughout your CS career. Seriously, a **TON**. It's time to get something that will generate strong passwords for all those accounts so they don't get hacked into and it's time to stop trying to remember all your passwords.

Just get a bloody password manager.

Popular choices are [Last Pass](https://lastpass.com/) and [1Password](https://agilebits.com/onepassword).

***

![](http://infospace.ischool.syr.edu/files/2013/10/Apple-Mail-vs-Gmail-e1380894855320.png)

### a Mail app

You're a CS major now, so by now hopefully you've graduated from going to your browswer to check your email. **Save time and use a desktop and mobile app for checking your mail.**

Hampton uses Gmail to send you information announcements, campus events, weather alerts, and so on.

To keep all your email in one place, simply [forward the emails from your Hampton Gmail account to your main email account](http://www.wikihow.com/Forward-Emails-from-Your-School-Email-Program).

And again, use the built-in apps for mail that your phone/laptop provides. Ergo, the Gmail app for Android/Windows or the Mail app for OSX/iOS.

Other mail apps, such as [Mailbox](http://www.mailboxapp.com/) or [Inbox](https://inbox.google.com/?pli=1) that are not provided on your phone/laptop by default are also options, but can become potentially tedious since they are not built in.

***

![](http://cdn.embed.ly/providers/logos/linkedin.png)

### a [LinkedIn](http://linkedin.com) account

You need to have a large network so you can use it later and it keeps your resume up to date.

What more reasoning do you need?

Plus, the majority of HU alumni/students tend to have one. Especially if they're in the business programs.

***

![](http://cdn.sstatic.net/stackexchange/img/logos/se/se-logo.png?v=dd7153fcc7fa)

### a [Stack Exchange](http://stackoverflow.com/) account

> You'll be consulting this guy for **QUITE** a number of times, so you might as well as accept that fact and register to save time later.

> Stack Exchange is a network of different Q\&A communities that offers a variety of topics. One of its most popular networks is _Stack Overflow_.

> _Stack Overflow_ is a question and answer site for professional and enthusiast programmers.

#### An example of a [killer Stack Overflow profile](http://stackoverflow.com/users/33708/mehrdad-afshari) for inspiration looks something like this

![](https://huacm.files.wordpress.com/2015/03/user-mehrdad-afshari.png)

Wow. Much reputation. Such power.

![](http://tr1.cbsistatic.com/hub/i/2014/05/15/f8964afd-bd82-4e0e-bcbe-e927363dcdc1/codedoge.jpg)
