CSE9000 Foundations of programming - Semester 1 , 2007 unit guide

Semester 1, 2007

Chief Examiner

Judy Sheard

Lecturers

Caulfield : Judy Sheard

Outline

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 a 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 Java.

Objectives

At the completion of this unit, you should :

  • be competent in designing, constructing, testing and documenting small computer programs using Java;
  • be able to demonstrate the software engineering principles of maintainability, readability, and modularisation; and,
  • understand the concepts of the "object-oriented" style of programming.

Prerequisites

There are no prerequisites for this unit.

Unit relationships

For further details about CSE9000/CPE9001 refer to the Monash Handbook entry for this unit at: http://www.monash.edu.au/pubs/2006handbooks/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)

Objects First with Java (2005) by Barnes, D.J. & Kölling, M., Pearson Education Limited, 3rd edition. 

This is the textbook for the unit. The course will follow this text. The text contains the weekly pre-reading and many exercises that will be specified for you to work on in the tutorial classes and outside class.

Textbook availability

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

Software requirements

In this unit we will use Java 5.0 and the BlueJ development environment. This software is available on CD with the text book. 

Also:

The Java software is available to download from Sun website at:(http://java.sun.com/javase/downloads/index_jdk5.jsp).

BlueJ is available to download from the BlueJ site at: http://www.bluej.org/. You will be given instructions on how to use this in your first tutorial. You are expected to work in the BlueJ development environment. Tutors will only assess the assignments under this 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):

Big Java (2nd edition) by Cay Horstman ( John Wiley & Sons), 2006 

Java Programming - from Problem Analysis to Program Design (2nd edition) 
by D. S Malik (Thomson )

Thinking in Java (4th edition) by Eckell (Prentice Hall), 2006

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://muso.monash.edu.au/ This site 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

http://muso.monash.edu.au/

Structure and organisation

Week Topics
1 Introduction to programming, basic OO concepts, objects, classes, methods
2 More OO concepts, class definition, fields, constructors, methods, parameter passing, expressions, statements, input and output
3 Conditions, variables, arithmetic & relational operators, precendence
4 Abstraction, class & object diagrams, object creation, method calling
5 Library classes, collections, iteration
6 Testing, unit testing, regression testing, test strategy, JUnit test framework
Non teaching week
7 Java library, more on strings, more on collections
8 Information hiding, class variables, constants, class documentation
9 Coupling, cohesion, refactoring
10 Inheritance, superclass, subclass, subtypes, substitution, wrapper classes, collection hierarchy
11 Static & dynamic types, overriding, method polymorphism
12 Abstract methods, classes & subclasses, multiple inheritance, interfaces
13 Revision, exam discussion

Timetable

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

Assessment

Assessment weighting

Assessment will consist of four components:

  • two class tests worth a total of 10% of the final assessment; 
  • two assignments worth a total of 40% of the final assessment; and, 
  • a final exam worth 50% 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 class tests 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 each assessment component.

Assessment Requirements

Assessment Due Date Weighting
Class Test Week 5 5%
Assignment 1 Monday 16 April 10 %
Class Test Week 9 5 %
Assignment 2 Monday 28 May 30 %
Examination Exam period (S1/07) starts on 07/06/07 40 %

Assignment specifications will be made available on the CSE9000/CPE9001 MUSO website.

Assignment Submission

Assignments 1 and 2 are due to be submitted at the start of the lecture on the days specified. Your assignment must be submitted with the appropriate  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. 

Extensions

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

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

Communication methods

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

Notices

Notices related to the unit during the semester will be placed on the CSE9000/CPE9001 MUSO 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/CPE9001 MUSO 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:

Dr 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: Feb 26, 2007