CSSE2003 - Sem 2 2009 - St Lucia - Internal

Authenticated View
Printed: 28 July 2009, 07:47AM
This printed course profile is valid at the date and time specified above. The course profile may be subject to change during the semester – the online version is the authoritative version.

1. General Course Information

1.1 Course Details

Course Code: CSSE2003 Course Title: Software Engineering Studio
Coordinating Unit: School of Information Technology and Electrical Engineering
Semester: Semester 2, 2009    Mode: Internal
Level: Undergraduate
Location: St Lucia
Number of Units: 2    Contact Hours Per Week: 2L2T
Pre-Requisites: CSSE2002
Incompatible: COMP2501 or COMP2801 or CSSE7036
Course Description: Programming studio projects in small teams; project & team management; software maintenance; software & project documentation; software design & patterns; software testing; configuration management; refactoring; CASE tools; advanced programming.
Assumed Background: Students are expected to have:

1.2 Course Introduction

Software design is the stage of software development that transforms a specification (formal or informal) into a structure suitable for implementation. The design process starts with an abstract description of the required software and creates a plan for a potential implementation that meets the initial requirements.

As we increase the size and complexity of the problems we attempt, so the importance of the design process increases. There are many software design methods, just as there are many programming languages. One goal of this course is for you to appreciate the role of a design method in the design process and to develop the skills necessary to learn new design methods in the future. This course will introduce you to the concepts of software architecture and design patterns.

Testing has a vital role in developing software. It is a practical means of detecting errors that can be highly effective if performed rigorously. Despite the major limitation of testing: “Program testing can be used to show the presence of bugs, but never to show their absence!’’ [E. Dijkstra, Structured Programming, page 6, 1972], it is an essential verification and validation technique. In this course, you should learn some basic techniques for software testing and have some experience applying them.

1.3 Course Staff

Course Coordinator: Dr David Carrington
Phone: 3365 3310     Email: davec@itee.uq.edu.au
Campus: St Lucia Building: General Purpose South (Map)   Room: 323
Consultation: See web page and newsgroup announcements.

Lecturer: Mr Jorn Guy Suess
Phone: 3365 2883     Email: jgsuess@itee.uq.edu.au
Campus: St Lucia Building: General Purpose South (Map)   Room: 328
Consultation: See web page and newsgroup announcements.


1.4 Timetable

Timetables are available on mySI-net.

Additional Timetable Information
Students must sign up for one two-hour tutorial session using mySI-Net before the end of week 1. Students will form teams of 3 or 4 (preferred) in the tutorial in week 2.

2. Aims, Objectives & Graduate Attributes

2.1 Course Aims

This course aims to:

2.2 Learning Objectives

After successfully completing this course you should be able to:

1  Represent the design of a software product using UML notation to document the design decisions underlying a software design, describing software structures in terms of simple architectures and design patterns. You will also be able to extract an abstract design representation from source code, and apply refactoring strategies to improve the quality of existing designs and code.
2  Develop sets of test cases from the specification of a software system (or some component) and choose appropriate test strategies for test case design.
3  Manage an evolving software product using configuration management and software build tools.
4  Participate effectively as a member of a small software development team.

2.3. Graduate Attributes

Successfully completing this course will contribute to the recognition of your attainment of the following UQ (Undergrad Pass) graduate attributes:

GRADUATE ATTRIBUTELEARNING OBJECTIVES
A. IN-DEPTH KNOWLEDGE OF THE FIELD OF STUDY
A1. A comprehensive and well-founded knowledge in the field of study.1, 2, 3, 4
A4. An understanding of how other disciplines relate to the field of study. 
A5. An international perspective on the field of study.1, 2, 3
B. EFFECTIVE COMMUNICATION
B1. The ability to collect, analyse and organise information and ideas and to convey those ideas clearly and fluently, in both written and spoken forms.1, 2, 3, 4
B2. The ability to interact effectively with others in order to work towards a common outcome.1, 2, 3, 4
B3. The ability to select and use the appropriate level, style and means of communication.1, 3, 4
B4. The ability to engage effectively and appropriately with information and communication technologies.1, 2, 3, 4
C. INDEPENDENCE AND CREATIVITY
C1. The ability to work and learn independently.2, 3
C3. The ability to generate ideas and adapt innovatively to changing environments.2, 3, 4
C4. The ability to identify problems, create solutions, innovate and improve current practices.2, 4
D. CRITICAL JUDGEMENT
D1. The ability to define and analyse problems.2, 4
D2. The ability to apply critical reasoning to issues through independent thought and informed judgement.2, 4
D3. The ability to evaluate opinions, make decisions and to reflect critically on the justifications for decisions.2, 4
E. ETHICAL AND SOCIAL UNDERSTANDING
E1. An understanding of social and civic responsibility.4
E2. An appreciation of the philosophical and social contexts of a discipline. 
E4. A knowledge and respect of ethics and ethical standards in relation to a major area of study.4
E5. A knowledge of other cultures and times and an appreciation of cultural diversity. 

Successfully completing this course will contribute to the recognition of your attainment of the following Engineers Australia graduate attributes:

GRADUATE ATTRIBUTELEARNING OBJECTIVES
1. Ability to apply knowledge of basic science and engineering fundamentals1, 2, 3
2. Ability to communicate effectively, not only with engineers, but also with the community at large1, 2, 3, 4
3. In-depth technical competence in at least one engineering discipline1, 2, 3
4. Ability to undertake problem identification, formulation and solution1, 2, 4
5. Ability to utilise a systems approach to design and operational performance1, 2, 4
6. Ability to function effectively as an individual and in multi-disciplinary and multi-cultural teams, with the capacity to be a team leader or manager as well as an effective team member2, 3, 4
7. Understanding of the social, cultural, global and environmental responsibilities of the professional engineer, and for the need for sustainable development2, 4
8. Understanding of the principles of sustainable design and development2, 4
9. Understanding of and commitment to professional and ethical responsibilities2, 3, 4
10. Expectation and capacity to undertake life-long learning4

3. Learning Resources

3.1 Required Resources

Craig Larman. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development, 3rd Edition, Prentice Hall, 2004.

Earlier editions of this text are acceptable although students should realise that references will be to the latest edition, which uses UML2.

This text is also a text for CSSE3002 (The Software Process).
 
 

3.3 University Learning Resources

Access to required and recommended resources, plus past central exam papers, is available at the UQ Library website (http://library.uq.edu.au/search/r?SEARCH=CSSE2003).

The University offers a range of resources and services to support student learning. Details are available on the myServices website (https://student.my.uq.edu.au/).

3.4 School of Information Technology and Electrical Engineering Learning Resources

Students enrolled at St Lucia who wish to retain a hard copy of this profile can use the free print quota provided each semester to students enrolled in courses in the School of Information Technology & Electrical Engineering. For information on how to use this print quota, see the School Policy on Student Photocopying and Printing (St Lucia) (http://www.itee.uq.edu.au/about_ITEE/policies/copy-print.html).

ITEE course websites can be found at http://www.itee.uq.edu.au/~COURSECODE. Many ITEE courses also have Usenet newsgroups, named uq.itee.COURSECODE. Instructions for accessing newsgroups are available at http://studenthelp.itee.uq.edu.au/faq/1stYearFAQ.html#accessnews.

3.5 Other Learning Resources & Information

Tutorials

Tutorials in this course will be held in the Boeing Laboratory (Room 78-208) in G.P. South. Students will undertake a mixture of practical and theoretical tasks to develop their knowledge and skills, working in teams of 3 to 4. The same teams will undertake the three group assignments and where presentations of assignment work are required, these will happen during the tutorial class. Participation during tutorials forms part of the course assessment.

Handouts


Copies of lecture slides and all other course materials will be available on the web via the CSSE2003 home page.

Facilities


Laboratory time for CSSE2003 (other than tutorials) is unscheduled and at the discretion of the student. The ITEE laboratories are located in level 1 and 2 of the G.P. South Building. Access to the School's workstations is controlled by password. Information about passwords is available in the laboratories and from the school office, which can also supply a handout entitled "A Brief Guide to Student Facilities in GP South". External access is provided via ITS's dial-in facilities; a secure shell (ssh) client is required - see the "Remote Access Guide" via the link on http://studenthelp.itee.uq.edu.au/ .

Consultation


Consultation times will be posted on the course web page. Individual or team appointments for consultation can also be arranged with teaching staff.

Distribution of Notices


Announcements will be made in lectures, via the CSSE2003 newsgroup and placed on the CSSE2003 home page for later reference.

Web


The course web site is available at http://www.itee.uq.edu.au/~csse2003.

Newsgroup


The course newsgroup is uq.itee.csse2003. This group is available on both the University and School news servers (news.uq.edu.au and news.itee.uq.edu.au).

The newsgroup is a forum for information and discussion about topics relevant to this course. Student responses to questions are encouraged. We read and respond to newsgroup postings and we will encourage the other teaching staff to do likewise. It is preferred that course-related questions are asked via the newsgroup rather than via e-mail since then all students benefit from the answers. E-mail should be used for personal issues.

Students are expected to read news regularly, at least once per week and more frequently close to assessment deadlines.

Students are not expected to purchase the following books, but may find them useful. Copies of most of these books are available in the library. Books marked with a "*" are slightly preferred.

Design
D. Budgen. Software Design, 2nd edition, Addison-Wesley, 2003.
P. Coad and M. Mayfield. Java Design, 2nd edition, Yourdon Press, 1999.
X. Jia. Object-Oriented Software Development in Java: Principles, Patterns and Frameworks, Addison-Wesley, 1999.
K. Knoernschild. Java Design: Objects, UML and Process, Addison-Wesley, 2002.
R.C. Lee and W.M. Tepfenhart. Practical Object-Oriented Development with UML and Java, Prentice Hall, 2002.
T.C. Lethbridge and R. Laganière. Object-Oriented Software Engineering: Practical Development using UML and Java, McGraw Hill, 2002.
B. Meyer. Object-oriented Software Construction, 2nd edition, Prentice Hall, 1997.
M. Page-Jones. Fundamentals of Object-Oriented Design in UML, Addison-Wesley, 2000.
P.R. Reed, Jr. Developing Applications with Java and UML, Addison-Wesley, 2002..
R. Wirfs-Brock and A. McKean. Object Design: Roles, Responsibilities and Collaborations, Addison-Wesley, 2003.
Patterns
J.W. Cooper. Java Design Patterns: A Tutorial, Addison-Wesley, 2000.
P. Evitts. A UML Pattern Language, MacMillan, 2000.
* E. Gamma et al. Design Patterns: Elements of Reusable Object-oriented Software, Addison-Wesley, 1995. This is a classic that should be on every software engineer's bookshelf, but is not as introductory as other books.
M. Grand. Patterns in Java : a catalog of reusable design patterns illustrated with UML, Wiley, 2002.
* S.J. Metsker. Design Patterns Java Workbook, Addison-Wesley, 2002. A more introductory exposition of patterns.
* A. Shalloway and J.R. Trott. Design Patterns Explained: A New Perspective on Object-Oriented Design, Addison-Wesley, 2001.
UML
* M. Fowler and K. Scott. UML Distilled: A Brief Guide to the Standard Object Modeling Language, 3rd edition, Addison-Wesley, 2003.
S.Si Alhir. Learning UML, O'Reilly, 2003
Testing
I. Bashir and A.L. Goel. Testing Object-Oriented Software, Springer, 1999.
* R.V. Binder. Testing Object-oriented Systems: models, patterns and tools, Addison-Wesley, 2000.
W.E. Perry. Effective Methods for software Testing, 3rd edition, Wiley, 2006.
M. Pezze and M. Young. Software Testing and Analysis, Wiley, 2008.
Architecture
F. Buschmann et al. Pattern-oriented Software Architecture: A System of Patterns, John Wiley & Sons, 1996.
* M. Shaw and D. Garlan. Software Architecture: Perspectives on an Emerging Discipline, Prentice Hall, 1996.
Refactoring
* M. Fowler et al. Refactoring: Improving the Design of Existing Code, Addison-Wesley, 1999. The classic book on refactoring.
Joshua Kerievsky. Refactoring to Patterns, Addison-Wesley, 2005.
Documentation
J. Lions. Lion’s Commentary on Unix 6th Edition with Source Code, Peer to Peer Communications, 1996
Coding
S. McConnell. Code complete: a practical handbook of software construction, second edition, Microsoft Press, 2004.

4. Teaching & Learning Activities

4.1 Learning Activities

DateLectureTutorial
27 Jul - 2 Aug
Wed
1: Introduction & Time Monitoring
Learning Objectives: 4
Readings/Ref: Larman (Chapter 1);

Wed
2: Working in Teams
Learning Objectives: 4
3 Aug - 9 Aug
Wed
3: Version Control of Code
Learning Objectives: 3

Wed
4: Using JUnit
Learning Objectives: 2
Mon - Fri
Team formation & Using Eclipse for Java
Learning Objectives: 4
10 Aug - 16 Aug
Wed
No lecture - Ekka holiday
Mon - Fri
Version Control with SVN
Learning Objectives: 3
17 Aug - 23 Aug
Wed
5: Introduction to Software Testing
Learning Objectives: 2
Readings/Ref: Larman (Chapter 21);

Wed
6: UML Class Diagrams
Learning Objectives: 1
Readings/Ref: Larman (Chapter 14, 16);
Mon - Fri
Testing with JUnit
Learning Objectives: 2, 3
24 Aug - 30 Aug
Wed
7: Introduction to Ant
Learning Objectives: 3

Wed
8: Javadoc and yDoc
Learning Objectives: 1
Mon - Fri
Assignment 1 presentations
Learning Objectives: 3, 4
31 Aug - 6 Sep
Wed
9: UML Sequence Diagrams
Learning Objectives: 1
Readings/Ref: Larman (Chapters 10,15);

Wed
10: Analysis Tools
Learning Objectives: 1
Mon - Fri
Ant build tool, Javadoc and yDoc
Learning Objectives: 1, 3
7 Sep - 13 Sep
Wed
11: Software Design Principles
Learning Objectives: 1
Readings/Ref: Larman (Chapters 8, 9, 12, 13, 19, 35);

Wed
12: Software Design Patterns -1
Learning Objectives: 1
Readings/Ref: Larman (Chapters 17, 18, 23, 25, 26, 35, 36);
Mon - Fri
Analysis Tools
Learning Objectives: 1
14 Sep - 20 Sep
Wed
13: Refactoring Example
Learning Objectives: 1
Readings/Ref: Larman (Chapter 21);

Wed
14: Refactoring Principles
Learning Objectives: 1
Readings/Ref: Larman (Chapter 21);
Mon - Fri
Assignment 2 preparation
Learning Objectives: 1, 2, 3, 4
21 Sep - 27 Sep
Wed
15: Software Design Patterns -2
Learning Objectives: 1, 2
Readings/Ref: Larman (Chapters 17, 18, 23, 25, 26, 35, 36);

Wed
16: JUnit Design Example
Learning Objectives: 1, 2
Mon - Fri
Refactoring
Learning Objectives: 1
5 Oct - 11 Oct
Wed
17: OO Testing
Learning Objectives: 2
Readings/Ref: Larman (Chapter 21);

Wed
18: Testing Example
Learning Objectives: 2
Mon - Fri
UML Design Tool
Learning Objectives: 1
12 Oct - 18 Oct
Wed
19: Mapping Designs to Code
Learning Objectives: 1
Readings/Ref: Larman (Chapter 20);

Wed
20: Software Architecture
Learning Objectives: 1
Readings/Ref: Larman (Chapters 13, 33, 34, 39);
Mon - Fri
Exam preparation
Learning Objectives: 1, 2
19 Oct - 25 Oct
Wed
No lectures scheduled at this stage
Mon - Fri
Assignment 3 preparation
Learning Objectives: 1, 2, 3, 4
26 Oct - 1 Nov
Wed
21: Course Review & Exam Preview
Learning Objectives: 1, 2
Mon - Fri
Assignment 3 presentations
Learning Objectives: 1, 2, 4

4.2 Other Teaching and Learning Activities Information

Teaching and learning philosophy: (This section is intended to help you understand the assumptions that underpin this course)

Education is often presented as a transmission model with the teacher generating information and students absorbing it. We regard this model as seriously flawed since it suggests that learning can be a passive process.

We cannot make you learn (any more than we can make you happy or angry). We can do things but how you react is under your control (see Stephen Covey's book: The seven habits of highly effective people which we strongly recommend). We can provide conditions that we believe are conducive to learning, and we can be part of a dialogue to resolve issues and problems that affect your learning.

We believe that no single learning strategy suits everyone and hence variety is important to encompass individual differences. A large class such as this creates special challenges for handling individual differences but we are willing to discuss alternatives.

We think we all need to be conscious of the learning strategies we use, and that we need to understand how to monitor and assess their effectiveness. We understand that some people may not be used to thinking about how they learn and that consideration of the learning process may seem to conflict with course content demands. However, to produce reflective and life-long learners, we need to go beyond Nike's “Just do it” by using reflection to “Do it better”.

We are strong supporters of active learning that sees learning as a process of change, not just of preparation. Cooperative learning is a particular form of active learning that uses small groups to provide a supportive learning environment.

Some people may find the change in emphasis from individual to group work unsettling, confusing or arbitrary. Being able to work in groups is important; many surveys of employers both in Australia and overseas identify this as one of the most important skills expected of good employees. This course represents one of several courses where you have an opportunity to develop skills for working cooperatively.

5. Assessment

5.1 Assessment Summary

This is a summary of the assessment in the course. For detailed information on each assessment, see 5.5 Assessment Detail below.

Group Assignments  
Assessment Task
Due Date
Weighting
Learning Objectives
Presentation
Tutorial Presentation
24 Aug 09 - 28 Aug 09
in Week 5 tutorials
5%
3, 4
Report
Software Design
25 Sep 09 17:00
Friday Week 9
15%
1, 2, 3, 4
Report
Software enhancement report and presentation
23 Oct 09 - 30 Oct 09
Presentations: in Week 13 tutorials, Report: 23 Oct 17:00 Friday Week 12
20%
1, 2, 3, 4

Individual Semester Work  
Assessment Task
Due Date
Weighting
Learning Objectives
Log
Time Monitoring
27 Jul 09 - 30 Oct 09
time report due each week (14 weeks)
3%
4
Tutorial Participation
Tutorial Participation
3 Aug 09 - 30 Oct 09
8%
1, 2, 3, 4
Practical
Programming and Testing
11 Sep 09 17:00
Friday Week 7
10%
2
Reflection
Time monitoring review
16 Oct 09 17:00
Friday Week 11
4%
4

Final Exam  
Assessment Task
Due Date
Weighting
Learning Objectives
Exam - during Exam Period (Central)
Final Exam
Examination Period
35%
1, 2

5.2 Course Grading


Grade 1, Fail: Fails to demonstrate most or all of the basic requirements of the course: (Total <= 19%)

Grade 2, Fail: Demonstrates clear deficiencies in understanding and applying fundamental concepts; communicates information or ideas in ways that are frequently incomplete or confusing and give little attention to the conventions of the discipline: (Total >= 20%)

Grade 3, Fail: Demonstrates superficial or partial or faulty understanding of the fundamental concepts of the field of study and limited ability to apply these concepts; presents undeveloped or inappropriate or unsupported arguments; communicates information or ideas with lack of clarity and inconsistent adherence to the conventions of the discipline: (Total >= 45% and Exam >= 40%)

Grade 4, Pass: Demonstrates adequate understanding and application of the fundamental concepts of the field of study; develops routine arguments or decisions and provides acceptable justification; communicates information and ideas adequately in terms of the conventions of the discipline: (Total >= 50% and Exam >= 45% )

Grade 5, Credit: Demonstrates substantial understanding of fundamental concepts of the field of study and ability to apply these concepts in a variety of contexts; develops or adapts convincing arguments and provides coherent justification; communicates information and ideas clearly and fluently in terms of the conventions of the discipline: (Total >= 65% and Exam >= 60%)

Grade 6, Distinction: As for 5, with frequent evidence of originality in defining and analysing issues or problems and in creating solutions; uses a level, style and means of communication appropriate to the discipline and the audience: (Total >= 75% and Exam >= 70%)

Grade 7, High Distinction: As for 6, with consistent evidence of substantial originality and insight in identifying, generating and communicating competing arguments, perspectives or problem solving approaches; critically evaluates problems, their solutions and implications: (Total >= 85% and Exam >= 80%)

Other Requirements & Comments : The constraints on the exam marks are to ensure that the final grade reflects corresponding achievement in both group and individual aspects of the course.

5.3 Late Submission

A penalty of 10% of the maximum mark for the assignment will be deducted for each day late unless an acceptable explanation is provided to the course co-ordinator. Assignments more than one week late will not be accepted unless an acceptable explanation is provided to the course co-ordinator.

Late time monitoring submissions are not accepted, except in exceptional personal circumstances (documented medical reason or family emergency). Personal hardware or computer failures are not grounds for extension.

5.4 Other Assessment Information

Group Assignment Grading

Groups of three or four students will be established in the first tutorial class (week 2). The mark for each group assignment will be divided between group members according to percentages agreed to collectively by the group. These percentages are normally constrained to lie in the following ranges (min, mid, max) and must sum to 100 (but variations outside these ranges can be discussed with the course coordinator).
3 member groups: 26 – 33 – 40
4 member groups: 20 – 25 – 30

Each group assignment will be given an overall mark, which will then be allocated to group members as follows:
  1. On each assignment coversheet, the group will agree on the percentage contribution of each group member.
  2. The individual mark for each group member is the overall mark multiplied by the number of group members multiplied by the percentage contribution agreed to for that group member.
  3. The maximum mark for any group member is capped at the maximum mark for the assignment (after taking into account any late penalty).
Return of Assignments

Assignments will be returned through tutorials. Any items not claimed in the corresponding tutorial may be collected from the course coordinator.

5.5 Assessment Detail


Tutorial Presentation
Type: Presentation
Learning Objectives Assessed: 3, 4
Due Date:
         24 Aug 09 - 28 Aug 09     in Week 5 tutorials
Weight: 5%
Task Description: Prepare and deliver tutorial presentation about a chosen open-source software system. A copy of the presentation is to be submitted electronically via the school’s assignment submission web page: http://submit.itee.uq.edu.au. In addition for group assignments, an assignment-specific paper cover sheet signed by all assignment authors must be submitted in the assignment box for CSSE2003 on level 1 of G. P. South.
Criteria & Marking: To be supplied with assignment details

Software Design
Type: Report
Learning Objectives Assessed: 1, 2, 3, 4
Due Date:
         25 Sep 09 17:00    Friday Week 9
Weight: 15%
Task Description: Create a report on the design of a chosen open-source software system.
Criteria & Marking: To be supplied with assignment details.
Submission: Deliverables for assignments are to be submitted electronically via the school’s assignment submission web page: http://submit.itee.uq.edu.au. In addition for group assignments, an assignment-specific paper cover sheet signed by all assignment authors must be submitted in the assignment box for CSSE2003 on level 1 of G. P. South.

Software enhancement report and presentation
Type: Report
Learning Objectives Assessed: 1, 2, 3, 4
Due Date:
         23 Oct 09 - 30 Oct 09     Presentations: in Week 13 tutorials, Report: 23 Oct 17:00 Friday Week 12
Weight: 20%
Task Description: Enhance a chosen open-source software system, present results in a tutorial presentation, and create a report describing the enhancement.
Criteria & Marking: To be supplied with assignment details.
Submission: Deliverables for assignments are to be submitted electronically via the school’s assignment submission web page: http://submit.itee.uq.edu.au. In addition for group assignments, an assignment-specific paper cover sheet signed by all assignment authors must be submitted in the assignment box for CSSE2003 on level 1 of G. P. South.

Time Monitoring
Type: Log
Learning Objectives Assessed: 4
Due Date:
         27 Jul 09 - 30 Oct 09     time report due each week (14 weeks)
Weight: 3%
Task Description: The activity associated with this assessment item is intended to help students monitor their use of time so they can improve their time management. See the separate handout for details of the weekly time submissions and the time monitoring review.
Criteria & Marking: To be supplied in the Week 1 lecture and then made available on the course web.
Submission: via the CSSE2003 web.

Tutorial Participation
Type: Tutorial Participation
Learning Objectives Assessed: 1, 2, 3, 4
Due Date:
         3 Aug 09 - 30 Oct 09
Weight: 8%
Task Description: Participation in tutorial classes.
Criteria & Marking: This task requires active participation in your assigned tutorial class with other team members on tutorial activities, and will be assessed by the tutor. Each tutorial will be assessed on a 0-0.5-1 scale and will contribute up to 0.8%. The tutorial participation mark will be the sum of the 10 best marks for individual tutorials (Weeks 2-13).

Programming and Testing
Type: Practical
Learning Objectives Assessed: 2
Due Date:
         11 Sep 09 17:00    Friday Week 7
Weight: 10%
Task Description: An individual programming task including software test design and execution.
Criteria & Marking: To be supplied with assignment details.
Submission: Deliverables for assignments are to be submitted electronically via the school’s assignment submission web page: http://submit.itee.uq.edu.au.

Time monitoring review
Type: Reflection
Learning Objectives Assessed: 4
Due Date:
         16 Oct 09 17:00    Friday Week 11
Weight: 4%
Task Description: Write a reflection on the data and the process of monitoring the time spent on academic activities.
Criteria & Marking: To be supplied with assignment details.
Submission: Deliverables for assignments are to be submitted electronically via the school’s assignment submission web page: http://submit.itee.uq.edu.au.

Final Exam
Type: Exam - during Exam Period (Central)
Learning Objectives Assessed: 1, 2
Due Date:
         Examination Period
Weight: 35%
Perusal: 10 minutes
Duration: 120 minutes
Format: Short essay, Problem solving
Task Description: Open-book exam, details to be supplied in the final lecture and on the course web site. Students are permitted to use an EAIT-approved calculator in this examination.
Criteria & Marking: Answers will be assessed for correctness, appropriateness and relevance.

6. Policies & Guidelines

 
This section contains the details of and links to the most relevant policies and course guidelines. For further details on University Policies please visit myAdvisor and the University Handbook of Policies and Procedures.

6.1 Assessment Related Policies and Guidelines

University Policies & Guidelines

An overview of the University’s assessment-related policies can be found on myAdvisor (http://www.uq.edu.au/myadvisor/index.html?page=2910).

Academic Integrity
It is the University's task to encourage ethical scholarship and to inform students and staff about the institutional standards of academic behaviour expected of them in learning, teaching and research. Students have a responsibility to maintain the highest standards of academic integrity in their work. Students must not cheat in examinations or other forms of assessment and must ensure they do not plagiarise.

Plagiarism
The University has adopted the following definition of plagiarism:

Plagiarism is the act of misrepresenting as one's own original work the ideas, interpretations, words or creative works of another. These include published and unpublished documents, designs, music, sounds, images, photographs, computer codes and ideas gained through working in a group. These ideas, interpretations, words or works may be found in print and/or electronic media.

Students are encouraged to read the UQ Academic Integrity and Plagiarism policy (http://www.uq.edu.au/hupp/index.html?page=25128) which makes a comprehensive statement about the University's approach to plagiarism, including the approved use of plagiarism detection software, the consequences of plagiarism and the principles associated with preventing plagiarism.

Feedback on Assessment
Feedback is essential to effective learning and students can expect to receive appropriate and timely feedback on all assessment. For a detailed explanation of the feedback you are entitled to, you should consult the policy on Student Access to Feedback on Assessment. (http://www.uq.edu.au/hupp/index.html?page=25109)

As a student you have a responsibility to incorporate feedback into your learning; make use of the assessment criteria that you are given; be aware of the rules, policies and other documents related to assessment; and provide teachers with feedback on their assessment practices.

There are certain steps you can take if you feel your result does not reflect your performance. Please refer to the myAdvisor web site. (http://www.uq.edu.au/myadvisor/index.html?page=2953)

Feedback in this Course

For feedback on any aspect of the assessment in this course please see your tutor in the first instance, and then if that does not provide sufficient information, please contact the course coordinator.

School of Information Technology and Electrical Engineering Assessment Guidelines

Misconduct

Further to the statement on academic integrity and plagiarism above, students are required to read and understand the ITEE policy on Student Misconduct (http://www.itee.uq.edu.au/about_ITEE/policies/student-misconduct.html).

Late Arrival or Non-attendance at Examinations

The policy and procedure for late arrival or non-attendance at centrally controlled and school-based examinations is set out in the University's Assessment policy (HUPP 3.30.1), section 4.8 at http://www.uq.edu.au/hupp/index.html?page=25109.

In the case that a student requests a special exam for a School-controlled exam, the request will be considered and, if allowed, the timing shall be determined by the course coordinator, in consultation with the School's Chief Examiner where necessary, and in accordance with HUPP 3.30.1. Unless otherwise indicated in the Course Profile, applications must be made in writing to the Head of School no later than 5 days after the exam. Late applications will not be accepted.
 
Examination Feedback
 
In addition to the advice above, students wishing to view examination answer scripts and/or question papers should consult with the School office (Room 217, General Purpose South Building [78], St Lucia) regarding arrangements. The ITEE policy on exam script viewing is available at http://study.itee.uq.edu.au/current_students/exam_script_viewing.html.

Supplementary Assessment

If you fail this course you may be eligible for supplementary assessment - see the general award rules and/or your program rules for details. You should note that even though you may be eligible for supplementary assessment under these rules, in some circumstances there may be no practical assessment that can be offered to allow you to meet the minimum passing requirements. These circumstances may include failure based on:
  • group or team based assessment;
  • attendance or class participation requirements;
  • laboratory-based assessment, where laboratories can't practically be made available after classes have finished;
  • project or thesis-based assessment, where a significant period of time would be required to undertake supplementary assessment;
  • progressive assessment, where subsequent assessment items build on earlier assessment items; or
  • multiple assessment items, where it is impractical to offer multiple supplementary assessment items.
If the course coordinator determines that there is no practical supplementary assessment that can be offered to allow you to improve your grade, then you will not be offered supplementary assessment and your grade will remain unchanged.


Calculators in Examinations

Some examinations in the School of Information Technology and Electrical Engineering restrict the type of calculator that can be used. If this course profile does not specify any calculator restrictions, you should check with the course coordinator as to whether any restrictions apply. In some examinations, you may only be permitted to use an EPSA/EAIT approved and labelled non-programmable calculator. It is your responsibility to ensure you have a suitable approved and labelled calculator if required.

6.2 Other Policies and Guidelines

University Policies and Guidelines

Placement Courses
Students on a placement course – also known as a work placement, internship, industry study, industry experience, clinical practice, clinical placement, practical work, practicum, fieldwork, teaching practice – should refer to the University policy, Placement Courses (http://www.uq.edu.au/hupp/index.html?page=25120) for detailed information.
 
Working with Children
Students whose studies include a professional/work placement, internship, clinical practice, teaching practice or other similar activity which involves them in regular contact with children should refer to the University policy, Working with Children Check - "blue card" (http://www.uq.edu.au/hupp/index.html?page=25004) to find out how to apply for a ‘blue card’.
 
Students with a Disability
Any student with a disability who may require alternative academic arrangements, including assessment, in the course/program is encouraged to seek advice at the commencement of the semester from a Disability Adviser at Student Support Services. Refer to the University policy, Students with a Disability (Disability Action Plan) (http://www.uq.edu.au/hupp/index.html?page=25122) and to the policy on Special Arrangements for Examinations for Students with a Disability (http://www.uq.edu.au/hupp/index.html?page=25111

Where an adjustment is made to an accredited program, it is the responsibility of the relevant Faculty to liaise with professional and registration bodies regarding the acceptability of the change/s.  

Occupational Health and Safety
Undergraduate Students (http://www.uq.edu.au/hupp/index.html?page=25055) and Postgraduate Students (http://www.uq.edu.au/hupp/index.html?page=25057) should be familiar with the University policies on occupational health and safety in the laboratory.

Other School of Information Technology and Electrical Engineering Guidelines

Ethical Clearance
If your course involves assignment or project work involving human subjects or human-related materials, you must investigate the need for ethical clearance and obtain it when required. Information on ethical clearance can be found at http://www.uq.edu.au/research/orps/index.html?page=5064&pid=5256.

Learning Summary

 

Below is a table showing the relationship between the learning objectives for this course and the broader graduate attributes developed, the learning activities used to develop each objective and the assessment task used to assess each objective.

Learning Objectives

After successfully completing this course you should be able to:

1  Represent the design of a software product using UML notation to document the design decisions underlying a software design, describing software structures in terms of simple architectures and design patterns. You will also be able to extract an abstract design representation from source code, and apply refactoring strategies to improve the quality of existing designs and code.
2  Develop sets of test cases from the specification of a software system (or some component) and choose appropriate test strategies for test case design.
3  Manage an evolving software product using configuration management and software build tools.
4  Participate effectively as a member of a small software development team.


Assessment & Learning Activities

  Learning Objectives
  1 2 3 4
Learning Activities
1: Introduction & Time Monitoring (Lecture)      
selected
2: Working in Teams (Lecture)      
selected
Team formation & Using Eclipse for Java (Tutorial)      
selected
3: Version Control of Code (Lecture)    
selected
 
4: Using JUnit (Lecture)  
selected
   
Version Control with SVN (Tutorial)    
selected
 
No lecture - Ekka holiday (Lecture)        
Testing with JUnit (Tutorial)  
selected
selected
 
5: Introduction to Software Testing (Lecture)  
selected
   
6: UML Class Diagrams (Lecture)
selected
     
Assignment 1 presentations (Tutorial)    
selected
selected
7: Introduction to Ant (Lecture)    
selected
 
8: Javadoc and yDoc (Lecture)
selected
     
Ant build tool, Javadoc and yDoc (Tutorial)
selected
 
selected
 
9: UML Sequence Diagrams (Lecture)
selected
     
10: Analysis Tools (Lecture)
selected
     
Analysis Tools (Tutorial)
selected
     
11: Software Design Principles (Lecture)
selected
     
12: Software Design Patterns -1 (Lecture)
selected
     
Assignment 2 preparation (Tutorial)
selected
selected
selected
selected
13: Refactoring Example (Lecture)
selected
     
14: Refactoring Principles (Lecture)
selected
     
Refactoring (Tutorial)
selected
     
15: Software Design Patterns -2 (Lecture)
selected
selected
   
16: JUnit Design Example (Lecture)
selected
selected
   
UML Design Tool (Tutorial)
selected
     
17: OO Testing (Lecture)  
selected
   
18: Testing Example (Lecture)  
selected
   
Exam preparation (Tutorial)
selected
selected
   
19: Mapping Designs to Code (Lecture)
selected
     
20: Software Architecture (Lecture)
selected
     
Assignment 3 preparation (Tutorial)
selected
selected
selected
selected
No lectures scheduled at this stage (Lecture)        
Assignment 3 presentations (Tutorial)
selected
selected
 
selected
21: Course Review & Exam Preview (Lecture)
selected
selected
   
Assessment Tasks
Tutorial Presentation    
selected
selected
Software Design
selected
selected
selected
selected
Software enhancement report and presentation
selected
selected
selected
selected
Time Monitoring      
selected
Tutorial Participation
selected
selected
selected
selected
Programming and Testing  
selected
   
Time monitoring review      
selected
Final Exam
selected
selected
   

Graduate Attributes

Successfully completing this course will contribute to the recognition of your attainment of the following UQ (Undergrad Pass) graduate attributes:

  Learning Objectives
  1 2 3 4
Graduate Attributes
A IN-DEPTH KNOWLEDGE OF THE FIELD OF STUDY
A1. A comprehensive and well-founded knowledge in the field of study.
selected
selected
selected
selected
A4. An understanding of how other disciplines relate to the field of study.        
A5. An international perspective on the field of study.
selected
selected
selected
 
B EFFECTIVE COMMUNICATION
B1. The ability to collect, analyse and organise information and ideas and to convey those ideas clearly and fluently, in both written and spoken forms.
selected
selected
selected
selected
B2. The ability to interact effectively with others in order to work towards a common outcome.
selected
selected
selected
selected
B3. The ability to select and use the appropriate level, style and means of communication.
selected
 
selected
selected
B4. The ability to engage effectively and appropriately with information and communication technologies.
selected
selected
selected
selected
C INDEPENDENCE AND CREATIVITY
C1. The ability to work and learn independently.  
selected
selected
 
C3. The ability to generate ideas and adapt innovatively to changing environments.  
selected
selected
selected
C4. The ability to identify problems, create solutions, innovate and improve current practices.  
selected
 
selected
D CRITICAL JUDGEMENT
D1. The ability to define and analyse problems.  
selected
 
selected
D2. The ability to apply critical reasoning to issues through independent thought and informed judgement.  
selected
 
selected
D3. The ability to evaluate opinions, make decisions and to reflect critically on the justifications for decisions.  
selected
 
selected
E ETHICAL AND SOCIAL UNDERSTANDING
E1. An understanding of social and civic responsibility.      
selected
E2. An appreciation of the philosophical and social contexts of a discipline.        
E4. A knowledge and respect of ethics and ethical standards in relation to a major area of study.      
selected
E5. A knowledge of other cultures and times and an appreciation of cultural diversity.        

Successfully completing this course will contribute to the recognition of your attainment of the following Engineers Australia graduate attributes:

  Learning Objectives
  1 2 3 4
Graduate Attributes
1. Ability to apply knowledge of basic science and engineering fundamentals
selected
selected
selected
 
2. Ability to communicate effectively, not only with engineers, but also with the community at large
selected
selected
selected
selected
3. In-depth technical competence in at least one engineering discipline
selected
selected
selected
 
4. Ability to undertake problem identification, formulation and solution
selected
selected
 
selected
5. Ability to utilise a systems approach to design and operational performance
selected
selected
 
selected
6. Ability to function effectively as an individual and in multi-disciplinary and multi-cultural teams, with the capacity to be a team leader or manager as well as an effective team member  
selected
selected
selected
7. Understanding of the social, cultural, global and environmental responsibilities of the professional engineer, and for the need for sustainable development  
selected
 
selected
8. Understanding of the principles of sustainable design and development  
selected
 
selected
9. Understanding of and commitment to professional and ethical responsibilities  
selected
selected
selected
10. Expectation and capacity to undertake life-long learning      
selected