Software Carpentry
Exercise 5

Due: 5:00 p.m. EST, Friday 25 November 2005.

Weight: 10% of course grade.

Submit your solution to Question 1 in your project team's directory. Submit solutions to other questions in your ex05 in your Subversion repository. Please remember to use svn update to get the ex05 directory that has been created for you, rather than creating one of your own.

Question 1

Write a short description (at most 300 words) of how you want your team project graded: i.e., what your criteria for success are, and how an independent observer (like Greg) can tell whether you've met your goals. Be as specific as possible. Submit it by adding a file called goals.txt to your project team directory.

Question 2

Go to http://www.third-bit.com/swc/toronto/bookpage.html, and look at the HTML source of the page. (You can do this using View...Page Source in Firefox, or View...Source in Internet Explorer.) You will see entries formatted like this:

<p>Chris Fehily: <cite>SQL</cite>. Peachpit Press, 2003, 0321118030.</p>
<p>Michael C. Feathers: <cite>Working Effectively with Legacy Code</cite>. Prentice-Hall PTR, 2005, 0131177052.</p>
<p>Martin Fowler: <cite>Refactoring</cite>. Addison-Wesley Professional, 1999, 0201485672.</p>

Write a Python program called getinfo.py that takes a single URL as a command-line parameter, downloads the file identified by that URL, and prints out a list of the titles and ISBNs it contains, formatted like this:

SQL (0321118030)
Working Effectively with Legacy Code (0131177052)
Refactoring (0201485672)

Submit your program by adding it to your ex05 directory.

Question 3

Write a short description (at most 300 words) of what you and your colleagues (fellow students, supervisor, etc.) could do to improve the way they develop software. Be as specific as possible: "We should do more testing" is not a sufficient answer. Submit your ideas in a file called improvements.txt in your ex05 directory.