Lab 1

  1. Intro to this lab
    1. In general the structure of today’s lab will be different from the labs in general
    2. Today is about getting everybody on the same page for getting started with class on Tuesday (no fMRI stuff today!)
      1. If you’re already running linux (or very familiar with *nix systems), have an editor, have set up git and a github account, this may seem a little tedious, but I’ll try to give you something to do
  2. Laptop check
  3. First things first - get installs and tools all set up for Tuesday
    1. First: Piazza
    2. Github
      1. Who doesn’t have a github account yet?
      2. Google form with two entries: student name and github names
    3. OS Poll
      1. Have students who didn’t take it yet fill it out
      2. Show results
    4. Why *nix?
      1. Full control of the computer
      2. CLI is arguable faster (with some training)
        1. More importantly: reproducible!
      3. Most servers run linux
      4. Almost all supercomputers
    5. Discuss options for linux
      1. BCE
      2. Other VM
      3. Dual boot
      4. Account on a server - contact home department about setting up
  4. Next - Brief discussion of text editors
    1. ADVANCED: For students that are past this point and using vim, check out pathogen vim system - goal: install simple-vim package
      1. google vim-awesome to explore vim plugins
    2. Graphics based vs. non graphics based:
      1. Programmers in general should be familiar with non-graphics based editors because chances are you will be forced into a non-graphics enabled environment at some point
        1. Recovery
        2. ssh
      2. GUI-based editors:
        1. Simple ones like Gedit, gvim
        2. IDE’s like eclipse
      3. Recommended pathway - get familiar with a non-graphics editor, then switch into an IDE for specific tasks (this pathway is so common, that most IDE’s have key-bindings for the non-graphics based editors like vim)
    3. Vim - steep learning curve (although 30 min is enough to get you started)
      1. vimtutor
    4. emacs - the other of the “big 2”
  5. Install git
    1. Who hasn’t installed git?
      1. Help with installs
      2. ADVANCED: For bored students, check out the “hub” project from github
    2. Configure git
      1. Use git config with –global flag
      2. show the .gitconfig file that gets created
  6. Next, go through the course intro
    2. Quiz on Thursday based on “interactive shell” and “basic file management” sections
  7. Do the tutorial in tutorial-unix-basics
    1. First, clone the tutorial:
    2. You’ll also need another repo which serves as an example directory structure to explore/change/move files:
    3. Split into groups (or solo + screencast) and follow the tutorial