Computer Science


Software Tools and Techniques: COMPSCI 732 Semester 1, City Campus

Aims of the Course

This paper is concerned with advanced topics in tools that assist in the production of software, with a strong emphasis on practical aspects. The main topics are as follows: meta tools for integrated software development environments, tools for data storage, tools for collaboration, compiler generators and static analysis.

Course Outline

Some of the lecture times may involve in-class work, rather than formal lectures. Java will be used as the main programming language.

Topics covered include:

  • integrated software development environments: examples and components of such environments,
  • methods of construction,
  • visual notations and languages,
  • meta models and meta modelling,
  • meta tools (including our own Marama tool),
  • consistency management in muti-view multi-notation environments
  • collaboration and knowledge management tools: knowledge management, group awareness, and social networking tools relevant to software engineering
  • software engineering processes
  • data access layers
  • version control
  • compiler generators
  • static analysis and type systems

Top
Course Assessment

There are two assignments and the final exam. The mark breakdown is

Two assignments

50%

Final Exam

50%

You must gain a pass in each of the assignment component and examination component to pass the course as a whole.

Top
Assignment Schedule

1. Integrated Software Engineering Environments

This assignment will involve the construction of a small environment (or part of an environment) using our Marama meta tool which is Java based or Microsoft DSL Tools.

2. Tool Project

This assignment will involve the development of a small software engineering tool.

Top
Text

There is no officially prescribed text for the course, but the following are recommended reading:

  • A good Java book, such as Core Java, Cornell & Horstmann, Prentice-Hall.
  • XML: A Primer, St Laurent, MIS Press, 1997 (Call #005.72.S77).

Top
Assistance and missed lectures

For further assistance please contact your lecturer, or the course supervisor (Christof Lutteroth). Office hours are published on the People page. For missed lectures you will find all lecture notes online in the Lectures page and lecturers can be contacted for further information during their office hours.

Top
Plagiarism

In any assignment, unacknowledged copying or plagiarism is not acceptable and is treated as an examination offence. In The University of Auckland guidelines on cheating in coursework (2001) plagiarism is defined as follows:

Plagiarism is the use of other people's work in an assignment and presenting it as your own without explicitly acknowledging - or referencing where it came from. Plagiarism can also mean not acknowledging the full extent of indebtedness to a source. Work can be plagiarised from many sources - including books, articles, the world wide web, and other students' work. Plagiarism can easily occur unconsciously or inadvertently. Direct copying is also plagiarism. Paraphrasing of other work without attribution is also plagiarism. Submitting someone else's unattributed or less than fully attributed work or ideas is not evidence of your own grasp of the material and cannot earn you marks. Note: Plagiarism applies to all levels of work, including theses and dissertations.

The department of Computer Science has a Academic honesty which expands on this

Plagiarism at any level is treated very seriously. If you are unsure about what constitutes plagiarism, particularly with regard to your assignments you should seek advice from your lecturer.

Top


Apply now!


Handbook

Postgraduate study options

Computer Science Blog



Please give us your feedback or ask us a question

This message is...


My feedback or question is...


My email address is...

(Only if you need a reply)

A to Z Directory | Site map | Accessibility | Copyright | Privacy | Disclaimer | Feedback on this page