CSE2305/CSC2050 - Object-Oriented Software Engineering
Course guide

 

CSE2305/CSC2050
Object-Oriented Software Engineering

Introduction

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.


Synopsis


Pre-exam consultation times

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.


How the Course is Structured

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.


Assessment

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.


Recommended Reading

The course bibliography page lists the textbook and other recommended reading.


Frequently Asked Questions

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.


Staff Assistance

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.


Related Newsgroups

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.


Other Online Resources

Apart from the course-related "frequently asked questions" list there are a number of other relevant FAQ lists on-line, including:

You may like to look an a WWW-based online introductory C++ course from the State¤ University of Groningen, or the accelerated tutorial from Iftech.

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.


A Note Regarding The Course Glossary

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.


Getting to the Lecture Notes

Just a reminder that the lecture notes can be accessed via the links on "course guide" page.

 


This material is part of the CSE2305/CSC2050 - Object-Oriented Software Engineering course.
Copyright © Damian Conway, 1998. All rights reserved.

Last updated: Fri Oct 22 15:31:49 1999