Meeting 2: 20 July 2004
Duration - 1 hour
Present: Tony M, Vipul, Nadeeja, Khalid, Johannes, Tony (the last 15 minutes),
Kym, Jon
Absent: Pooja, Lashi, Nadejda, Brian
(handouts and mess lists are in my mail box for those who were absent)
Solutions to exercises and assignments will be available to you with
the username: labs, password: cream11
Please make sure you don't leave these details around where students may see
them, and don't leave solutions up on a terminal when you are in a prac.
Tute week 2:
1401 students may be at an advantage as they would know UML.
The sample answer is fairly complicated to jolt them out of complacency.
Please explain some of the concepts:
- UML (not covered till lecture 20)
- objects
- classes
- abstraction
- class heirachy
- other OO concepts as necessary
Teach as if they have prepared (it may get them to prepare in future weeks),
this is a busy course, and they do need to do 12 hours outside classes!
(remind them)
Get them to work through the solution, putting the components of the UML
diagram on the board. Prompt for suggestions of classes, etc by asking about
the types of licenses and what each allows the driver to do...
If you want a simpler example (thanks Johannes) that students may find more
accessible, try doing an abstraction of students, tutors and lecturers,
including operations like whinging, complaining etc (laughter seems to help
comprehension ;>).
Assignment 1 - due Friday in week 3 at 11.59pm.
Note: All assignments are new this year.
This assignment is basically an introduction to programming, implementing
messages as may be used in newsreaders, etc.
Students have not covered much C++ yet, so will need some tuition.
You may want to introduce concepts that are not/have not yet been covered:
- review of C - strings, pointers, mem management
- string class in C++
- functions of classes (constructor/destructor)
- how classes can contain other classes
- public interfaces (how they stay the same when the internals change)
- streams and IO in C++
- references in C++ (not in any great detail)
Students might like to write a small class with a simple
constructor/destructor to get the hang of it to begin with.
They must comment their code.
Q1 is quite simple, but requires some of the above knowledge that may be new
to them.
Q2 is a bit more difficult, switching to C++ strings and printing with
streams.
Q3 is about object composition (no inheritance yet)
You are welcome to go through the steps required to solve the question without
actually spelling out a solution - try to prompt the students to suggest
solutions to the class.
Note that an enum is used to indicate the type of message - we didn't want to
have different classes for all the message types at this stage.
Also note that they will be required to write a linked list class (which may
also use a Node class) to store a record of the messages in the message log
class. (I predict that this will stump most of them) They will need to be
careful of who is responsible for cleaning up the objects.
Tutors - please help the students with the assignment if they ask, try to get
them to suggest solutions, step through the problem - don't give them
solutions.
Submission of assignment:
Due 11.59pm Friday week 3. Late submissions are penalised, deductions are
applied by each second they are late, at a rate of 1 mark per day. If they
are 5 days late, they have lost all the marks for this assignment.
Using submit on ra-clay.cc.monash.edu.au from one directory above that which
is going to be submitted: sample output (<> are used to indicate what the
student types):
< /cs/cc/bin/submit>
Enter course code: <cse2305>
Enter assignment code: <ass1>
Enter student ID: <12345678>
Directory to submit: Ass1
A mail will be send to the student indicating success or failure (and why it
failed). Most common cause of failure is wrong ID, but sometimes
hardware/network failures occur. They will need to resubmit after a short
amount of time (to allow for submit processing lots of students). Please
encourage the students to submit _early_ to ensure that processing delay does
not cause lateness. Obviously 5 minutes late gets a deduction of 0.0001 or
so marks, which is not going to affect their overall mark.
Admin:
Prac classes - don't accept students in pracs unless they have a note, you
have an email, they are on your list, or they can show you in a+ that they
are actually in that class. There will be a large number attending wrong
classes with permission.
Tute classes - don't be too harsh in week 2 (first tute), but make sure the
student knows that they must attend their assigned class after that.
mess - is being set up - I need to grab your usernames (even if you haven't
got your account yet, if that is the account you will be using, please let me
know the username of it).
TPS: meeting from last week - please add a task in this week's timesheet to
claim for that meeting.
Your remaining tasks will be automatically added at the end of this week/start
of next week and will require you to edit and confirm them.