CSE9000 Foundations of programming - Semester 2 , 2006 unit guide

Semester 2, 2006

Chief Examiner

Judy Sheard


Caulfield : Judy Sheard


This unit aims to provide students with the basic concepts involved in the development of well structured software using a programming language. It concentrates on the development of problem solving skills applicable to all stages of the development process. Students gain experience with the translation of an informal problem specification into a program design, and the implementation of that design into a programming language. The subject introduces software engineering topics such as maintainability, readability, testing, documentation, modularisation, and reasoning about correctness of programs. Students are expected to read and understand existing code as well as develop new code. The language used to illustrate and implement the programming principles taught in this unit is C++.


At the completion of this unit, you should :

  • be competent in designing and implementing small computer programs using the commercially relevant programming language C++;
  • be able to construct programs using built-in C++ library functions and data types, as well as functions and data types which you will create yourself; and,
  • understand the basic differences between the "traditional" style and the "object-oriented" style of programming.


There are no prerequisites for this unit.

Unit relationships

For further details about CSE9000 refer to the Monash Handbook entry for this unit at: http://www.monash.edu.au/pubs/2005handbooks/units/CSE9000.html

For information about the course you are enrolled in refer to the Postgraduate Handbook at: http://www.monash.edu.au/pubs/handbook/postgrad/

Texts and software

Required text(s)

C++ How To Program (2005) by Deitel H.M. & Deitel P.J., Prentice Hall International, 5th edition. 

This is the textbook for the unit and contains the weekly pre-reading. There are many exercises in the textbook and you are encouraged to try some of them in addition to the specified weekly exercises.

Textbook availability

The text book is available from the Monash University Bookshop at the Caulfield campus.

Software requirements

In this unit we will use the C++ software Dev-C++. This is a full-featured integrated development environment (IDE) for the C/C++ programming language. This software is available to download from the Bloodshed website (http://www.bloodshed.net/devcpp.html). You will be given instructions on how to use this in your first tutorial. You are expected to work in the Microsoft Windows environment. If you choose to work under a different environment (eg. a Macintosh or UNIX), it is your responsibility to ensure that all your assessable work is compatible with the expected working environment (ie. your program can compile and run properly). Tutors will only assess the assignments under the expected working environment.

Hardware requirements

On-campus students, and those studying at supported study locations may use the facilities available in the computing labs. Information about computer use for students is available from the ITS Student Resource Guide in the Monash University Handbook.

Recommended reading

The following may provide useful extra reading for this unit. Copies of these are available in the Caulfield Library (on reserve, one day loan or in the normal circulation):

Programming and Problem Solving with C++ (4th edition),  Dale N. & Weems C, Jones Bartlett Publishers, 2005  (An introductory programming textbook using C++. It does not cover the data structures part of the unit.)

Problem Solving, Abstraction, and Design Using C++ (4th edition), Friedman, F.L. and Koffman, E.B., AddisonWesley, 2004  (Another introductory programming textbook, with more of an abstract data type approach than an object-oriented approach.)

The C++ Programming Language (3rd edition), Stroustrup B, AddisonWesley, 1997   (The official C++ textbook written by the author of the language. Assumes that the reader has programming experience in C.)

Library access

You may need to access the Monash library either personally to be able to satisfactorily complete the subject.  Be sure to obtain a copy of the Library Guide, and if necessary, the instructions for remote access from the library website.

Study resources

Study resources for CSE9000 are:

available at: http://www.csse.monash.edu.au/courseware/cse9000/ The CSE9000 Web page will be updated at least each week so you should access it regularly. It contains the unit information guide, tutorial exercises, lecture overheads and other useful references. The assignment specifications will be published here early in the semester.

Unit website


Structure and organisation

Week Topics
1 Introduction, handbook, computer basics, programming basics
2 Operators, variables, basic data types, basic programming constructs
3 Problem-Solving, program design, C++ functions
4 More program design (structure charts), user-defined C++ functions,
5 Testing techniques, repetition (loops), more C++ operators
6 Arrays, using arrays as function parameters, array manipulations
7 Structs, data structures, combination of data structures.
8 Scoping, more on paramater passing
9 More programming constructs, File Input/output in C++
10 Abstractions, introduction to OO programming
Non teaching week
11 Classes, attributes, methods
12 More on classes
13 Revision, exam discussion


The timetable for on-campus classes for this unit can be viewed in Allocate+


Assessment weighting

Assessment will consist of four components:

  • a unit test worth 20% of the final assessment; 
  • two assignments worth a total of 40% of the final assessment; and, 
  • a final exam worth 40% of the final assessment. 

Assessment Policy

To pass this unit you must:

  • obtain at least 50% of the total possible marks overall; and
  • 40% of the possible marks for the two assignments combined; and
  • 40% of the possible marks for the unit test and exam combined.

Assessment for the assignment work is by interview with your tutor. This will be conducted after the assignment submission. It is your responsibility to make an interview appointment with your tutor.

Your score for the unit will be calculated by:

adding your marks from the four assessment components.

Assessment Requirements

Assessment Due Date Weighting
Assignment 1 Thursday 31 August 10%
Unit Test Thursday 14 September 20 %
Assignment 2 Thursday 19 October 30 %
Examination Exam period (S2/06) starts on 23/10/06 40 %

Assignment specifications will be made available on the CSE9000 website at: http://www.csse.monash.edu.au/courseware/cse9000/.

Assignment Submission

Assignments 1 and 2 are due to be submitted in the lecture theatre before the start of the lecture in weeks 7 and 13 respectively. Your assignment must be submitted with the appropriate an Assignment Cover Sheet correctly filled out and attached. These are available from the Caulfield School of Information Technology office on level 6 of building H. Further instructions will be provided with the assignment specifications.

Extensions and late submissions

Late submission of assignments

Assignments received after the due date will be subject to a penalty of 10% per day of the possible marks.

This policy is strict because comments or guidance will be given on assignments as they are returned, and sample solutions may also be published and distributed, after assignment marking or with the returned assignment. 


It is your responsibility to structure your study program around assignment deadlines, family, work and other commitments. Factors such as normal work pressures, vacations, etc. are seldom regarded as appropriate reasons for granting extensions. 

Requests for extensions must be made by email to the unit lecturer at least two days before the due date. You will be asked to forward original medical certificates in cases of illness, and may be asked to provide other forms of documentation where necessary. A copy of the email or other written communication of an extension must be attached to the assignment submission.

Grading of assessment

Assignments, and the unit, will be marked and allocated a grade according to the following scale:

Grade Percentage/description
HD High Distinction - very high levels of achievement, demonstrated knowledge and understanding, skills in application and high standards of work encompassing all aspects of the tasks.
In the 80+% range of marks for the assignment.
D Distinction - high levels of achievement, but not of the same standards. May have a weakness in one particular aspect, or overall standards may not be quite as high.
In the 70-79% range.
C Credit - sound pass displaying good knowledge or application skills, but some weaknesses in the quality, range or demonstration of understanding.
In the 60-69% range.
P Pass acceptable standard, showing an adequate basic knowledge, understanding or skills, but with definite limitations on the extent of such understanding or application. Some parts may be incomplete.
In the 50-59% range.
N Not satisfactory failure to meet the basic requirements of the assessment.
Below 50%.

Assignment return

We will aim to have assignment results made available to you within two weeks after assignment receipt.


Feedback to you

You will receive feedback on your work and progress in this unit. This feedback may be provided through your participation in tutorials and class discussions, as well as through your assignment submissions. It may come in the form of individual advice, marks and comments, or it may be provided as comment or reflection targeted at the group. It may be provided through personal interactions, such as interviews and on-line forums, or through other mechanisms such as on-line self-tests and publication of grade distributions.

Feedback from you

You will be asked to provide feedback to the Faculty through a Unit Evaluation survey at the end of the semester. You may also be asked to complete surveys to help teaching staff improve the unit and unit delivery. Your input to such surveys is very important to the faculty and the teaching staff in maintaining relevant and high quality learning experiences for our students.

And if you are having problems

It is essential that you take action immediately if you realise that you have a problem with your study. The semester is short, so we can help you best if you let us know as soon as problems arise. Regardless of whether the problem is related directly to your progress in the unit, if it is likely to interfere with your progress you should discuss it with your lecturer or a Community Service counsellor as soon as possible.

Plagiarism and cheating

Plagiarism and cheating are regarded as very serious offences. In cases where cheating  has been confirmed, students have been severely penalised, from losing all marks for an assignment, to facing disciplinary action at the Faculty level. While we would wish that all our students adhere to sound ethical conduct and honesty, I will ask you to acquaint yourself with Student Rights and Responsibilities and the Faculty regulations that apply to students detected cheating as these will be applied in all detected cases.

In this University, cheating means seeking to obtain an unfair advantage in any examination or any other written or practical work to be submitted or completed by a student for assessment. It includes the use, or attempted use, of any means to gain an unfair advantage for any assessable work in the unit, where the means is contrary to the instructions for such work. 

When you submit an individual assessment item, such as a program, a report, an essay, assignment or other piece of work, under your name you are understood to be stating that this is your own work. If a submission is identical with, or similar to, someone else's work, an assumption of cheating may arise. If you are planning on working with another student, it is acceptable to undertake research together, and discuss problems, but it is not acceptable to jointly develop or share solutions unless this is specified by your lecturer. 

Intentionally providing students with your solutions to assignments is classified as "assisting to cheat" and students who do this may be subject to disciplinary action. You should take reasonable care that your solution is not accidentally or deliberately obtained by other students. For example, do not leave copies of your work in progress on the hard drives of shared computers, and do not show your work to other students. If you believe this may have happened, please be sure to contact your lecturer as soon as possible.

Cheating also includes taking into an examination any material contrary to the regulations, including any bilingual dictionary, whether or not with the intention of using it to obtain an advantage.

Plagiarism involves the false representation of another person's ideas, or findings, as your own by either copying material or paraphrasing without citing sources. It is both professional and ethical to reference clearly the ideas and information that you have used from another writer. If the source is not identified, then you have plagiarised work of the other author. Plagiarism is a form of dishonesty that is insulting to the reader and grossly unfair to your student colleagues.


Communication methods

The preferred method of communication with the lecturer is via email or during consultation times.


Notices related to the unit during the semester will be placed on the home page of the CSE9000 website. Check this regularly. Failure to read these notices is not regarded as grounds for special consideration.

Consultation Times

These will be advised during the lecture and advertised on the CSE9000 website.

If direct communication with your unit adviser/lecturer or tutor outside of consultation periods is needed you may contact the lecturer and/or tutors at:

Ms Judithe Sheard
Senior Lecturer
Phone +61 3 990 32701
Fax +61 3 990 31077

All email communication to you from your lecturer will occur through your Monash student email address. Please ensure that you read it regularly, or forward your email to your main address. Also check that your contact information registered with the University is up to date in My.Monash.

Last updated: Jul 20, 2006