eScience Home | ANU Home | Search FEIT | Search ANU
The Australian National University
Faculty of Engineering and Information Technology (FEIT)
Dept. of Computer Science (DCS)

Masters IT (eScience)

COMP6703 eScience Project

(Software Development - 12 units)

Semester 2 2007

Important : A normal prerequisite is 40 units of courses from the MInfTech program as well as COMP6704.

Semester 2 co-ordinator: Dr Eric McCreath

Context

COMP6703 is a 12 unit project course which runs in semester 1 and semester 2 of each year.
Normally it is expected that students will have completed at least 42 units from groups A, B, C and D of the MInfTech  program before taking a project. This means that the project course would normally be taken during the last semester that a student is enrolled in the Masters program.

This course will comprise a project (possibly a small-team project) with an industrial or scientific objective. Assessment will be based on the design and implementation of a software system, written documentation, and verbal presentation.

Background and Structure

The minimum entry requirements for the Masters are to have some second year computing (2 courses at minimum). After one full year of Masters study, a student would be expected to be at least as skilled as a good 3rd year BIT student (a "good" student, because Masters students are meant to have had a Distinction average score in their last year of a degree). So the Masters eScience project can be thought of as being equivalent in standard to either a Honours CS project or a 4th year software engineering project. (but, because its  weighting is only 12 units, it will not be able to be as ambitious as either of them). It should take roughly 300-350 hours

Format

The project will deal with the construction of a piece of software - usually from the broad area of interest of eScience. The development effort will involve some significant challenges and will probably necessitate the learning of some new technologies. Students will need to demonstrate a systematic, and thorough approach to project planning and execution. Some software development projects will more suited to small groups (of, say, 2 people) but, within these groups each person must undertake all roles of the software process for a portion of the software.
Assessment will be on the basis of the report, the program, the code, a presentation and, possibly, an individual interview with each student.

Marking scheme

The project's scope and assessment conditions will be specified in an 'Independent Study Contract' negotiated and signed by the student, their supervisor and the project co-ordinator at the early stages of the semester. Unless otherwise specified in the Contract, the following scheme will be used.

Evaluated aspect

Deliverable

Weighting

Manager Side

Timetable, Initial Presentation, Notebook
Final presentation, Meeting participation

10.00%

Developer Side

Evidence of good project management
Software description and modelling
Presentation of written thesis
Technical competence
General feeling
Code

50.00%

User Side

Software
Documentation/Users Guide/Help
Feedback from the client

40.00%

Example of things that we look at

  • The report lacks consistency in writing style and has an irregular flow of ideas in places. If this is a result plagiarism or insufficient attribution of other sources, the report may be marked marked down severely or even rejected.
  • The report is not very well written and it is possible that this could be partly due to language difficulties. However, an examination of the code shows it to be exceptionally logical and well structured.
  • An examination of the code shows it to actually be a "dog's breakfast" in spite of the students having written a wonderful report.
  • The report is not very well written and it is possible that this could be partly due to language difficulties. However, an individual interview shows that the student really does have a very deep knowledge of the subject.
  • An individual interview shows that the student actually doesn't know very much at all. Suspicion will be that this student did not actually do the work described in the report.

The timetable is the one you will present both during your initial presentation (planning) at the beginning of the semester and in your report (explaining how you did and did not meet your own deadline).

Your Notebook should contain your personal notes, reflections, trick that you find during the development of your project

The Report

It is suggested that your report include a Title page (including your name/number, project title, supervisor/client names, subject name, and date) an Abstract followed by sections which parallel the various phases in the project

  1. Introduction (A brief description of the project and its context)

  2. Requirements (Detailed requirements; Note that tables of requirements can be put into an Appendix)

  3. Timetable (You could put your proposed timetable here and also list the actual, final timetable which you followed. Save your discussion of this until later.)

  4. Modelling

  5. Implementation and testing

  6. Discussion, Conclusions and Future Work

  7. Bibliography

Together with your final report, you are required to submit an informal notebook that you maintain throughout your project. This will not be marked but is a requirement of the project simply because we want to encourage you to keep a notebook.

 

Suggested Organisation of the work

  1. Requirements Specification and Background research
    3-4 weeks
    At the very beginning of semester, it will pay you enormously if you work very hard to master the technology that you will need for your project. In particular, if you will be using Java3D and TIWI on the Wedge, you should make sure that you understand as much as you can about these APIs (this will help you in your Computer Graphics subject as well). You may also need to do some work to refine your requirements to a stage that you can comfortably proceed with modelling. Do this in close collaboration with your supervisor.
    At the end of this period, you will have established a Requirement Specification in any form you choose (use Case, Activity Diagrams ...), as long as both you and your supervisor agree on a common document which become indeed your "Contract".
  2. Modelling
    3 weeks

    Part of your final report will be some detailed modelling. This could be considered to be a logical design for your software. This can take many forms but it should include, at a minimum

    1. A description of the classes which will participate in your application (together with their most important attributes and associations).
    2. A description of the most important methods together with their relevant algorithms.
    3. A description of any relevant state machines.
    4. A description of some important scenarios which you will be able to use later on to test your software.

    You should undertake your modelling in close collaboration with your supervisor. It would be good to adopt some of the ideas of Executable UML for this phase, but this is not compulsory.

  3. Implementation, testing/debugging/second phase and documentation
    3 + 3 + 1 weeks

    You are pretty much on your own for this phase of your project. Five weeks is not very long, so it will help you if you have already experimented by writing some small prototypes of parts of your system. One good use for your supervisors at this stage is to ask them to comment on the coding quality of some classes that you are constructing (your final grade will include an assessment of the quality of your actual coding).

  4. Write up, demonstration and submission
    2 weeks

    You are very much on your own for the last part of your project. It is a frequent problem with projects that students give a draft report to their supervisors without sufficient time for them to read and return it. If you are unconfident of your English expression then you should start writing parts of your report early on in the semester and hand them to your supervisor for comment.

Project topics

Topics will be drawn from interdisciplinary areas which might be called "eScience". Some of these topics will be close to "research" in nature, others will be very applied. Some will have a visualisation component. The idea is that the student will contribute to building real, living software that others will use in the future.

If you are enrolled in this course, you should contact the projexct coordinator, to discuss your topic and to be allocated a supervisor. A preliminary topic will possibly have been assigned to you before the commencement of semester, but it is possible to modify its specifications, or to choose a different topic completely, providing you negotiate this early enough. Look at the project topics listed on the eScience pages to get some ideas.

Supervision

You will meet regularly with your supervisor - about 30 minutes to one hour every week. These meetings are important early in the semester to make sure that you understand the project requirements; that you have access to the material that you need to study to learn the technology required to complete the project; and that you have developed a good project plan. As the semester gets underway, the regular meetings are important to make sure that you are on track and to get some help on technical topics (or some references so that you can solve the problem yourself). Later on in the semester, you should give your supervisor drafts of some of your report so that you can get feedback which will help you improve the final document.

Timetable

  1. Week 2 - 27/7/2007 - Supervisor, Project Topic, Breif Description finalized. (Details emailed to co-ordinator)
  2. Week 7 - 31/8/2007 - Mid-project result (prototype, report draft, first implementation ...) due and exposed to your supervisor during that week also the draft report must be emailed to both your supervisor and to the co-ordicator.
  3. Final presentation Monday 29/10/2007 (Presentations will be 15 mins plus 3 mins change over.)
  4. Final report due Friday 4:00pm 2/11/2007 departmental office or under Eric McCreath's door n227.