CSE2305/CSC2050 - Object-Oriented Software Engineering
Course guide
This subject introduces you to the object-oriented programming paradigm, and to the basic concepts of the discipline called "Software Engineering¤".
Object-oriented programming in an approach to writing software which is based around the idea of building specific data structures to represent the parts of the problem (and/or the parts of the solution), and then defining how those data structures inter-relate and interact.
Software engineering¤ is the study and practice of a collection of concepts, techniques and tools which enable programmers to design and build, and maintain large software systems in a reliable and cost effective way.
Prior to the exam, Damian Conway will be available for consultation at the following times:
POINT Monday 25 October 11.00am-1.00pm
POINT Thursday 28 October 11.00am-1.00pm
POINT Monday 1 November 11.00am-1.00pm
POINT Tuesday 2 November 11.00am-1.00pm
He is not available for CSE2305/CSC2050 consultation at any other time.
The course is presented in 24 lectures, two per week. The lecture notes for each lecture (including prescribed reading and suggested exercises) are available online.
The course guide gives an overview of the course and provides links to each lecture's notes. There is also an detailed course guide, which is useful for searching for particular topics within lectures.
There is an assignment worth 20% of your final mark (you will start it in your second practical class¤). The remaining 80% of your marks will be assessed in the final exam. Note, however, that you must pass both the assignment and the exam to pass the subject.
The assessment overview gives details on the various components of the assignment. You will also be handed out a printed version of this information in the second week of semester.
The course bibliography page lists the textbook and other recommended reading.
Before asking for help, you should check the on-line "frequently asked questions" list. The list will cover common questions related to both the course material and organization and is updated frequently.
The course lecturer is Dr Damian Conway. Normally, Dr Conway will be available immediately after lectures and at other pre-arranged consultation times (see the timetable on his door - Room 132, Building 26).
Assistant lecturers will also be available for consultation at the times displayed on the Second Year noticeboard. You should approach an assistant lecturer before seeking help from the lecturer.
You are expected to be self-reliant in coding, and not merely come to consultations to get help debugging or writing code.
General announcements and other CSC2050-related material will
be posted to the USENET newsgroup
monash.csse.csc2050
.
You may also post questions to this group, if you wish, and these will be answered by the lecturer as soon as possible.
If you are interested in the ways C++ can be used you may like to subscribe to
the USENET newsgroup
comp.lang.c++.moderated
(don't bother with comp.lang.c++ - the signal-to-noise ratio is too low!)
If you are interested in discussions regarding the soon-to-appear ANSI/ISO C++
standard, you may wish to read the USENET
comp.std.c++
newsgroup.
Apart from the course-related "frequently asked questions" list there are a number of other relevant FAQ lists on-line, including:
If you want to see full chapter-and-verse on what is and isn't legal C++, you'll need to look up the Draft ANSI/ISO C++ Standard . But beware, it's highly technical and heavy going (even for C++ experts!)
The Standard Template Library¤ occupies ten chapters of the ANSI/ISO C++ Standard and is occasionally referred to (and used) in this course. Silicon Graphics provides a public domain implementation¤ with comprehensive documentation .
Alternatively there's the on-line STL documentation offered by Dinkumware (who aren't Australian, despite the name).
If you're sufficiently technically-minded you can download the latest version of g++ (you'll actually need to download the gcc distribution, which now incorporates g++).
For those using DOS there's a useful site that can help you set things up more easily.
Cetus Links is a vast collection of hyperlinks covering all aspects of object-oriented programming, including C++ and Design Patterns (Idioms).
Another valuable "jump station" (one which is specifically tuned to C++) is Robert Davies' excellent Internet sites list.
The Yahoo index has numerous C++-related links of varying relevance.
Stephen Block's software engineering¤ site has a wealth of wisdom regarding software engineering¤. It's well worth a read (and a think!)
Shari Lawrence Pfleeger also provides a great deal of useful material at her book-related site.
Through-out the course material terms with special meanings (such as object, class¤, polymorphism¤, etc.) will be encountered. Wherever these terms are used they will appear with a special character after them (just as they do in the previous sentence). Clicking on that character will take you to the relevant definition in the course glossary.
Just a reminder that the lecture notes can be accessed via the links on "course guide" page.
Last updated: Fri Oct 22 15:31:49 1999