Computer Science
Software Tools and Techniques: COMPSCI 732 Semester 1, City Campus
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.
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
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.
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. |
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).
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.
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 policy on cheating 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.
-
Related Programmes