COMP2100
Software ConstructionLecturers: Dr Ian Barnes, Mr Richard Walker
Tutors: Dr Alexei Khorev, Dr Tamiru Jarso, David Excell
Announcements
- Wednesday 9th June - Lab Exam marks available
I have finally finished grading the lab exams. I have entered the marks into the Streams database so you should be able to see them. Sorry about the delay.
Good luck for the exam tomorrow.
- Friday 4th June - Online feedback form
For those who missed the last lecture, I have turned the Feedback form into an HTML form.
Please take a few minutes to let us know what you thought about this course. It's particularly important that we hear from those students who don't attend lectures. (Why not? What could we do to make them better for you?) Also if you or someone you know dropped out of this unit, we'd like to know why, and what you thought/felt about it.
- Monday 31st May - Lab exam solutions
To help you with revision, here are the Lab Exam Solutions (with the questions also).
- Friday 14th May - Departmental Committee representatives needed
The Computer Science Departmental Committee meets twice a year. It is the official forum where students can have some input into the way the department is run. There are three positions on the committee for students taking second-year courses in the department. Nominations (in writing, signed by the nominee, a nominator, and a seconder) must reach Richard Walker by 12 noon on Monday 17th May.
- Thursday 13th May - Help for those installing EXG at home
As I mentioned in yesterday's lecture, there are some problems with the EXG library. It no longer compiles "out of the box". There seem to be a few different problems that people have encountered. One is the dodgy C preprocessor instructions I mentioned in the lecture. Another has to do with calls to the C "getcwd" function. Others have to do with changes in the standard libraries from SmallEiffel -0.75 to SmartEiffel 1.1. Anyway, here are a few suggestions for how to proceed. None are guaranteed to work, but they might be worth a try.
Of course you first need to download and unpack the EXG library itself. There's a link on the Eiffel Page. You also need to have GTK+1.2 installed on your system. (Most Linux systems will already have it, but it's worth checking.)
The dodgy C preprocessor instructions only occur in two files: events.c and external.c, both in the directory ${EXG}/eiffel-gtk/gtkwrapper/external/. (${EXG} means the path to the directory where you unpacked EXG. You will have to set this environment variable anyway for EXG to work.) If your system is binary-compatible with mine (Linux on Intel), then this might help:
Download the corresponding object binaries events.o and external.o that I compiled on my machine about two years ago. (You'll need to right-click them and choose "Save As".)
Put them in ${EXG}/eiffel-gtk/gtkwrapper/external/.
Touch them (i.e. say "touch events.o external.o") to update the modification times. This is to fool make.
Try building EXG again.
This was enough for me to get EXG running on the student Linux systems in the labs, but you may have other problems. If so, keep reading.
Peter Dey has created a modified version of EXG. This claims to solve the "getcwd" problem and some problems with the changed standard libraries. You can download Peter's modified version of EXG, and read his instructions and comments at http://www.realmtech.net/exg.
Michael de Hoog has edited the two offending C files events.c and external.c. This addresses the same problems as my fix above, but should be more portable. Download his modified versions events.c and external.c, put them in ${EXG}/eiffel-gtk/gtkwrapper/external/ replacing the originals, and try building again.
James Sullivan has succeeded in getting EXG working on his RedHat 9 system, and has written a Guide to Installing EXG on RedHat 9 explaining how he did it.
Thanks to Peter, Michael and James for their generous contributions. Of course, none of this advice comes with any kind of warranty or guarantee. Make what use you can of it, but it's your responsibility. Remember that you have a working installation of EXG in the labs, so if you find yourself losing lots of time trying to install EXG at home, perhaps you just need to forget that and use the DCS labs for this assignment instead.
- Monday 10 May 2004 - Assignment 3
Assignment 3 is now ready for you to start work on. It is due at 5pm on Friday 28th May. (That's the Friday of Week 12.) Check out the Assignment 3 FAQ Page. There are already some useful questions and answers from 2003 and 2002 there, and I will add new questions and answers as they come in.
- Monday 10 May 2004 - Homeworks 9-12
I have just published Homework 9, Homework 10, Homework 11 and Homework 12. Sorry for the delay. Students with a Tuesday lab group may hand Homeworks 9 and 10 in together next week if you can't get it done by tomorrow. The rest of you should be OK.
- Monday 3 May 2004 - Lab exam this week
The lab exam will be held in your normal lab session this week. The exam will be closed book (no notes or other aids allowed), but you will have access to the class web site. The lab exam will test:
Bash scripting,
Eiffel programming,
how well you read documentation (Eiffel short forms for library classes, Unix manpages), and
how good you are at actually getting things working, as opposed to "close but not quite".
There will be no GUI programming in the lab exam.
The exam will last 100 minutes, starting at approximately 15 minutes past the hour at the start of your lab time, and ending at approximately 5 minutes to the hour. There will be two questions each in two parts. (So you should aim at about 25 minutes for each part.)
It will take a few minutes to get the lab set up for the exam, so make sure you arrive at least ten minutes before the starting time. (In other words, be there by 5 minutes past the hour.)
According to the Assessment Page, the lab exam is worth 10% of your total mark for COMP2100.
The lab exam will be conducted under examination conditions and any attempt to cheat or to pass information to other students about the exam will be treated very seriously.
You must take the exam in your normal lab session. Changing groups can only be done under exceptional circumstances and must be arranged with Richard at least a day in advance.
Homework is still due in your lab this week. Even if you usually show it to your tutor on screen, print it out this week and hand it to your tutor at the start of the lab session.
- Friday 23 April 2004 - Change to lecture schedule
There will be no lecture on Thursday 29 April. Lecture 20 will move to Wednesday 12 May and Lecture 25 will move to Wednesday 19 May. See the updated Schedule Page.
- Friday 23 April 2004 - Assignment 2 FAQ
I have added a lot of new questions and answers to the Assignment 2 FAQ Page. I strongly recommend that you read them.
- Friday 2 April 2004 - Assignment 2
Assignment 2 is now ready for you to start working on. It is due at 5pm on Friday 30th April.
It was a bit of a rush getting it all ready today, so I may need to make some minor changes over the next few days. But these will be minor changes only, so don't let this stop you from getting into the code and figuring out how it works.
- Wednesday 31 March 2004 - FAQ lecture next Wednesday
I forgot to announce this in this morning's lecture, so here it is. I will reverse the order of next week's lectures (as I did this week), so that the Static Analysis lecture will be on Monday. Next Wednesday's lecture will be this first of two "Frequently Asked Questions" lectures, devoted entirely to answering your questions about the course material so far. Please send in your questions by email to comp2100@iwaki. Ian (and perhaps Richard also) will prepare a lecture that attempts to answer as many of your questions as possible.
- Wednesday 31 March 2004 - New EXG website
The internet address I gave you for the EXG website doesn't exist any more, but Alan Sanderson (thanks Alan) has found its new location: http://mbrezu.home.ro/eiffel/index.html.
- Friday 26 March 2004 - Change to lecture schedule for next week
I plan to reverse the order of next week's lectures. That means I will give the third GUI lecture on Monday, and the project lecture on Wednesday.
- Friday 26 March 2004 - Division of responsibilities
Forgotten who is responsible for what? Here it is again.
What Who Enrolment Richard Walker Extensions Richard Walker Lab groups Richard Walker Lectures given by Richard Richard Walker Assignment specifications Ian Barnes Homework specifications Ian Barnes The PSP Ian Barnes Lectures given by Ian Ian Barnes Labs Your tutor Marks (first query) Your tutor Marks (final decision) Richard Walker Following this will save a lot of wasted time.
- Monday 22 March 2004 - Assignment 1 Submission
The Assignment 1 specification now contains complete submission instructions. Please let Richard know if you have any problems.
- Wednesday 17 March 2004 - Assignment 1 FAQ
I have added some new questions and answers about Assignment 1 to the Assignment 1 FAQ Page. You should check on this page regularly between now and the assignment deadline.
- Friday 12 March 2004 - Assignment 1 test_formatter executable
Oops! Last night I forgot to copy the executable file test_formatter to the student system for you to test it. Sorry. It's done now. It is in /dept/dcs/comp2100/bin/test_formatter.
If you say "which test_formatter" and it says it can't find it, then you need to change your path (environment variable) to add the directory /dept/dcs/comp2100/bin. Do it like this:
setenv PATH /dept/dcs/comp2100/bin:$PATH- Thursday 11 March 2004 - Assignment 1 and Homework 3
I have just published Assignment 1. It is due at 5pm on Friday 26th March.
This gives you just over two weeks to do it, which is less time than we originally planned. We will take this into account in the marking. We decided it's better to stick to the published assignment schedule than to change everything around and end up clashing with other courses.
Homework 3 is also available.
- Thursday 4 March 2004 - Lab 2 & Homework 2 available
I have just published Lab 2 and Homework 2. Enjoy.
- Tuesday 2 March 2004 - Eiffel catch-up labs
For those students who have not done Eiffel before, we are running some special labs this week to help you catch up. Here are the details:
Date: Time: Place: Wednesday 3rd March 6pm - 8pm CSIT N113 Thursday 4th March 6pm - 8pm CSIT N115 The tutor will be David Excell.
Note: These labs are only for those who have not studied Eiffel before.
You might like to refer to David's notes for these lab sessions.
- Tuesday 2 March 2004 - Eiffel downloads
The Eiffel page now has links to local copies of SmartEiffel for Linux and Windows, as well as links to some local Eiffel resources; enjoy.
- Friday 27th February 2004 - MATH2301
Students taking pass-level mathematics should consider taking the unit MATH2301 Games, Graphs & Machines. This unit was specifically designed to meet the needs of IT students and may be more relevant to your studies than other pass-level maths units. If you're taking honours-level maths, then I recommend that you stick with it. The stronger your maths background, the better.
- Thursday 26th February 2004 - Eiffel version
It's decided. We're using SmartEiffel 1.1, not SmallEiffel -0.75. You can download SmartEiffel from the SmartEiffel web site at http://smarteiffel.loria.fr/. According to the site, you should have no trouble installing on Linux, Windows or MacOS systems. Take some time to browse the site. Look at the "Classes documentation" link, for information about the standard libraries. These have been re-organised and revised since SmallEiffel version -0.75, so you may want to take some time to make yourself familiar with them.
As far as we know, the compile command on the new student system will just be plain old "compile", exactly as it was before. For those who care, the system will not be Debian, it will be Knoppix (plus customisations).
- Wednesday 25th February 2004 - Students new to Eiffel
Any students who have not studied Eiffel before (either because you did first year here at ANU before 1999 or because you have transferred from another university) please contact Ian before the end of this week. Either come and see me at the end of a lecture or send me email.
- Wednesday 18th February 2004 - Website
All the top-level pages in this site are now available. Lecture notes, lab instructions and homework exercises will go up over the coming days. Assignments will go up when each assignment is released.
See you all at the first lecture, on Monday at 10 in MCC T2.
- Thursday 15th January 2004 - Welcome
Welcome to COMP2100 Software Construction in 2004. This web site will be the definitive source of information about COMP2100. We will post all course announcements on this page, so make sure you check here regularly.
There is no textbook for COMP2100 Software Construction. There will be a course "brick" containing all lecture notes, lab instructions and so on.
I will not grant waivers to students who have failed COMP1110. I may grant waivers to students who have failed MATH1014.
Copyright © 2004, Ian Barnes & Richard Walker, The Australian National University
Feedback & Queries to
comp2100@iwaki.anu.edu.au
Version 2004.32, 9 June 2004, 18:07:10