TA

February 14, 2013

I am going to make the times below available for appointments over the course of Reading Week. We can meet either in my office or in the MS lab - your choice, but YOU MUST make an appointment to guarantee I'll be around.

Meetings with project teams will take priority, but if you want to work through course stuff or assignments, that's good too:

  • Tuesday, February 19: 11 AM to 2 PM
  • Wednesday, February 20: 2 PM to 4 PM
  • Friday, February 22: 11 AM to 3 PM

Please email me if you're interested.

February 12, 2013

A timely explanation on how to use GitHub, which is one of the most popular code repositories out there.

February 7, 2013

Why loops are good, explained.

January 31, 2013

Lots of questions about the README file you have to hand in. For this first deliverable, I'm definitely more interested in information about where you've put your code, how to compile any code you have, and where to find your documentation.

If you're interested in specifics, check with the course webpage if you're not sure. Remember when you're on that page, anything that looks like it might be a hyperlink can be clicked on to expand the information that's there.

January 22, 2013

One of my favourite places to go for ideas to make my life more productive is Lifehacker. Do a search for any kind of application you're working for, and you might get some ideas for your project. Remember that many of these apps are fairly complex and represent a huge development effort. What can you do which would be a simpler version?

January 16, 2013

Due to another commitment, my office hours this week will only be between 11 AM and 12 PM. If you were planning on visiting between 12 and 1 PM, please contact me to see what other times may work out.

January 13, 2013

I've gotten some questions about the kinds of projects your groups will be expected to do. While I would caution against too complex a project, there isn't any reason the sky can't be the limit while you brainstorm. Here's one potential starting point for your brainstorming process.

TED is a series of conferences which concentrate on Technology, Entertainment, and Design, and have made most of their talks available. While these talks are about a broad range of topics, there are a few I'd like to draw your attention to.

http://www.ted.com/talks/tim_berners_lee_the_year_open_data_went_worldwide.html
http://www.ted.com/talks/sanjay_pradhan_how_open_data_is_changing_international_aid.html
http://www.ted.com/talks/thomas_goetz_it_s_time_to_redesign_medical_data.html
http://www.ted.com/talks/beth_noveck_demand_a_more_open_source_government.html

January 9, 2013

A number of questions today about text editors. Here are some suggestions if you're not happy with your default text editor. Every program I'm writing about should be free - if you're looking for other options, feel free to ask me about what else is out there.

Windows
Many alternate text editors are available for Windows. Personally, I prefer gvim, because it is a very powerful editor. However, I wouldn't recommend it to the average computer user, because it works a bit differently, and it does take a fair bit of effort to really learn.

Another popular text editor is emacs. This is the text editor I used when I was learning how to program.

You may also want to try out Notepad++. It's very user-friendly and definitely is built with programming in mind.

Macs (and Linux workstations in the lab)
Students using Apple computers of some variety (iMacs, MacBooks....) as well as those hoping to program using the machines in the lab should also have a number of text editors already installed, including gvim (or its less-graphical siblings, vim and vi), gedit, and emacs. All of these can be customized to fit the way you want to code.

As a rule, I recommend learning one of vi or emacs, because these are text editors any Unix-like system (this includes OS X and Linux) is generally guaranteed to have installed.

Configuring your text editor
Most programmers will likely find two configuration settings very important. I recommend making sure that you know how to change these, and find a setting for these with which you're comfortable.

  • Tab spacing : As you have seen in Python, indentation is very important to programmers, and tabs are the best way to keep this consistent (as a rule, I would NEVER rely on spaces to manage my identation). Different programmers will want to use different sizes of tab spaces, but a tab size of four is a very good starting point.
  • Syntax highlighting: This colours different elements of the programming language you're using different colours. Very useful, especially if you're just beginning to program.

January 7, 2013

Welcome! Through the semester I'll try to update this page with information that will help you complete your project, or stuff I find interesting that's relevant to the course.

Your code repository may be hosted with online services such as Google Code, or Github.

Options available on Department servers to access and manage your code repository include:

  • cvs
  • git
  • svn

Remember that the man pages for each of these are a good starting point to figure out how to set these up and use them.

External programs (you will have to figure out how to install, configure and keep these running on your own) such as Mercurial can also be installed.

You can use these to share documents, or you can use a filesyncing service such as Dropbox.