MATFeb2014 » History » Version 6

Version 5 (Steve Welburn, 2014-03-26 04:59 PM) → Version 6/11 (Chris Cannam, 2014-03-31 12:39 PM)

h1. Software Carpentry workshop for MAT at QMUL, Feb 2014

h2. Dates/Where

* Day 1: Afternoon of 12th February 2014 -- MAT lab
* Day 2: Afternoon of 26th March 2014 -- MAT lab

h2. Schedule

h3. Day 1

This is the actual schedule, i.e. with timings as they were on the day.

Official slot 13.00-17.00.

Attendance 18/22.

* Start - 13.05
* Short intro - Chris - 13.05 to 13.10
* *Shell* - Steve - 13.10 to 14.40
* Break - 14.40 to 15.10
* *Version control* - Chris - 15.10 to 16.50
* End - 16.50

h3. Day 2

Provisional schedule.

Official slot 13.00-17.00.

* Start - 13.05
* *Python* - Bogdan - 13.05 to 14.40
* Break - 14.45 to 15.15
* *Python and NumPy* - Bogdan - 15.20 to 16.30
* End - 16.30

h2. Teaching material and supplementary links

h3. Day 1

* *Introduction to Shell* -- "Tutorial script":/documents/73 -- "Crib sheet on Unix shell commands":/documents/74
* *Version control* -- "Introductory slides":/documents/75 -- "Tutorial script":/projects/easyhg/wiki/SC2012BootcampPlan

h3. Day 2

* *Introduction to Python* -- "Tutorial script":/documents/71 -- "Repository with code":/projects/swc-python-intro

Other subjects not covered on the day, that may be of interest:

* *Audio in Python* -- "Repository with code (includes example of plotting in Python)":/projects/swc-python-audio
* *Data management* -- "Slides from Feb 2013":/documents/72
* *Unit testing* -- "Tutorial script from Feb 2013":/projects/ssw-swc-2013/wiki/SWC2013TDD
* *What We Know* -- "Slides":/documents/70 about software-development working practices

h2. Other material from us

* We offer "a number of one-page info sheets":http://soundsoftware.ac.uk/handouts-guides on topics related to this workshop
* This very site, "code.soundsoftware.ac.uk":http://code.soundsoftware.ac.uk, is a code hosting site for projects by UK-based audio and music researchers. If you're interested in audio and music, please do register and make use of it! Repository hosting uses Mercurial, and your projects can be public or private.

h2. Links about the software in the workshop

* In day 1 we have used "Mercurial":http://mercurial.selenic.com/ and "EasyMercurial":http://easyhg.org/

h2. Topical links

h3. Unix and shell

* "Mac OS X man pages online":https://developer.apple.com/library/mac/#documentation/darwin/reference/manpages/index.html
* "Software Carpentry lessons":http://software-carpentry.org/4_0/shell/index.html
* "ELE595 - Software Tools For Engineers":http://www.eecs.qmul.ac.uk/~simond/teaching/ele595/index.html -- Undergraduate module at QMUL. Weeks 5-10 covered Unix
* "Unix tutorial @ University of Surrey":http://www.ee.surrey.ac.uk/Teaching/Unix/

To use Unix commands on a Windows machine, you will need to install additional software (e.g. "MinGW":http://www.mingw.org/ or "Cygwin":http://www.cygwin.com/).
NB: Cygwin doesn't install nano, Python or Mercurial by default - they need to be selected in the setup.

The Windows command prompt and powershell provide similar facilities to the Unix shell, but with different commands and syntax! Of the two, the command prompt is very similar to the basic Unix tools we introduced, but Powershell is more powerful.

* Some Windows command prompt "tutorials":http://www.7tutorials.com/ode-command-prompt-most-powerful-and-least-used-windows-tool
* Official Microsoft "Windows Powershell Owners Manual":http://technet.microsoft.com/en-us/library/ee221100.aspx

If you own an android tablet or phone, then that is a Unix device. It doesn't come with a command prompt by default, but you can "install one":https://play.google.com/store/apps/details?id=jackpal.androidterm&hl=en. NB: this may be dangerous for your device!

If you want to try a full Unix system, then "VirtualBox":http://www.virtualbox.org/ can be used to create a "virtual machine" - a fake computer that runs inside your normal session. You can then install a Linux distribution on that virtual machine.

h3. Version Control

On Windows, "TortoiseHg":http://tortoisehg.bitbucket.org/ provides an alternative interface to Mercurial - you can right-click files in Windows Explorer. It's more techy than EasyMercurial!

* "Software Carpentry version control lessons":http://software-carpentry.org/4_0/vc/index.html