Beginner Programming Resources
Contents
Section titled “Contents”1. Working in Linux
Section titled “1. Working in Linux”Programming and data management are usually easier on Linux. A good way to get started without making any major changes to your computer is to install a virtual machine, which lets you run any operating system inside your current one. This is a bit slower and takes up more memory, but it’s easy to get started.
- Install VMWare Player - it’s free, don’t choose the paid upgrade options.
- Download Xubuntu (dead link). This is an ISO file, which is effectively a digital copy of a CD-ROM. These are easy to use in a virtual machine.
- Open VMWare Player, tell it to create a new virtual machine with the ISO you just downloaded, and follow the instructions. Importantly, give it at least 100 GB of disk space, and 4 GB of RAM. If your computer doesn’t have much more than that, this might not be a good option.
- Start the Xubuntu machine if it doesn’t start automatically, and follow the installation instructions. Don’t worry when it says it will wipe your computer, it will not make any changes.
If you have an old computer you don’t care about, or a new computer that you want to dedicate to science, you can install Xubuntu natively, without a virtual machine. Then you will experience true power.
2. Linux Protips
Section titled “2. Linux Protips”- https://itsfoss.com/linux-command-tricks/ - Once you get a Linux terminal up and running, this will make your life a lot easier and help you do things more efficiently.
- https://www.makeuseof.com/tag/beginners-guide-setting-ssh-linux-testing-setup/ - SSH allows you to connect to remote computers. Typically, when we have very intensive jobs, they can’t be run on a laptop, so we have several servers with significantly more memory and CPU than a typical laptop. This is also used to get files on Ranch.
3. Python
Section titled “3. Python”- Use Python 3 unless you’re working with someone else’s code and it’s written in Python 2.
- Rosalind is a great resource for learning Python. Go here to get help installing Python and taking your first steps. Go here to start solving basic bioinformatics problems.
- You need a text editor of some kind besides Microsoft Word
- Sublime Text is probably a reasonable choice for Windows/Mac/Linux
- A more complex, but more powerful tool is PyCharm. This is what Jim uses, it’s great, and you can get the professional version for free as a student. There is a learning curve worth learning.