[an error occurred while processing this directive]
[an error occurred while processing this directive] This unit develops the students' ability to design, implement and maintain moderately complex, realistically-sized programs. It builds upon the basic programming techniques introduced in FIT1002, FIT1008 and offers the first introduction to the implementation of more complex real-world programs. Examples of such systems include compilers and interpreters, simulations, visualisation tools, drawing packages, database systems, and graphical games. The unit can offer students the opportunity to get acquainted with a second programming language within the procedural-object oriented paradigm, such as C++, Python or one of their cousins.
The unit bridges between core programming knowledge and the large-scale software engineering context. It will emphasise the implementation and use of intermediate to advanced data structures (such as search trees, hash structures, graphs and graph algorithms etc.) and the embedding into an actual computing system (i.e. interacting with the O/S, networking components etc).
2 hrs lectures/week, 3 hr laboratory/week
You are expected to spend 12 hours per week during semester on this unit.
This includes 2 hours per week of lectures, 3 hours per week of labs, and an average of 7 hours per week of project work, private study, and exam revision.
Substantial parts of the project work must be completed in pairs. Students will need to schedule time to meet with their project partners outside scheduled classes.
Robert Merkel
Upon successful completion of the unit, students will have a solid working knowledge of advanced object oriented concepts, including multiple inheritance and polymorphism, and the ability to apply this knowledge to the construction of non-trivial programs.
They will have an understanding of:
Examination (3 hours): 50%; In-semester assessment: 50%
Assessment Task | Value | Due Date |
---|---|---|
Java programming (individual) | 5% | Friday 5 August 2011 |
Vision statement (pairs) | 5% | Friday 19 August 2011 |
Spiking exercises (pairs) | 5% | Demonstration in Week 6 Lab, report due 2 September 2011 |
Design document (pairs) | 10% | Friday 16 September 2011 |
Iteration 1 (pairs) | 10% | Demonstration in Week 10 Lab, code and documentation due Friday 7 October 2011 |
Iteration 2 (pairs) | 10% | Demonstration in Week 12 Lab, code and documentation due Friday 21 October 2011 |
Final report (individual) | 5% | Friday 21 October 2011 |
Examination 1 | 50% | To be advised |
Monash is committed to excellence in education and regularly seeks feedback from students, employers and staff. One of the key formal ways students have to provide feedback is through SETU, Student Evaluation of Teacher and Unit. The University's student evaluation policy requires that every unit is evaluated each year. Students are strongly encouraged to complete the surveys. The feedback is anonymous and provides the Faculty with evidence of aspects that students are satisfied and areas for improvement.
For more information on Monash's educational strategy, and on student evaluations, see:
http://www.monash.edu.au/about/monash-directions/directions.html
http://www.policy.monash.edu/policy-bank/academic/education/quality/student-evaluation-policy.html
If you wish to view how previous students rated this unit, please go to
https://emuapps.monash.edu.au/unitevaluations/index.jsp
Students will be provided with a VMWare virtual machine image, which contains a full development environment for the lab and project work they will be expected to complete through the semester. Students can download VMWare Player for Linux, Mac OS X and Windows at no charge.
If they wish can also install a Java development environment, the Eclipse Java IDE, and the Android SDK at no cost on their own computer directly, but no support will be provided for this.
Students with Android smartphones may, if they wish, use these to test and debug the software developed throughout the unit. This, however, is not necessary, as sufficient smartphones have been purchased for the purpose, and a limited number will be available for students to borrow overnight.
Students should refer to the unit website for details about the exam.
Week | Activities | Assessment |
---|---|---|
0 | Register for lab classes | No formal assessment or activities are undertaken in week 0 |
1 | Introduction to agile development | |
2 | Gathering requirements - an Agile approach | Java program (individual) due Friday 5 August 2011 |
3 | GUI Frameworks - with reference to Android | |
4 | Distributed applications | Vision statement (pairs) due Friday 19 August 2011 |
5 | Design and modeling | |
6 | Design and modeling II - user interfaces | Spiking exercises (pairs), demonstration in Week 6 Lab, report due 2 September 2011 |
7 | Software engineering tools | |
8 | Software project lifecycles | Design document (pairs) due Friday 16 September 2011 |
9 | Development practices - test-driven development, pair programming | |
10 | Computer science in the real world - performance issues | Iteration 1 (pairs) demonstration in Week 10 Lab, code and documentation due Friday 7 October 2011 |
11 | Into the wild - releasing your software | |
12 | Summary and guest lecture | Iteration 2 (pairs) demonstration in Week 12 Lab, code and documentation due Friday 21 October 2011; Final report (individual) due Friday 21 October 2011 |
SWOT VAC | No formal assessment is undertaken SWOT VAC | |
Examination period | LINK to Assessment Policy: http://policy.monash.edu.au/policy-bank/ academic/education/assessment/ assessment-in-coursework-policy.html |
*Unit Schedule details will be maintained and communicated to you via your MUSO (Blackboard or Moodle) learning system.
To pass a unit which includes an examination as part of the assessment a student must obtain:
If a student does not achieve 40% or more in the unit examination or the unit non-examination total assessment, and the total mark for the unit is greater than 50% then a mark of no greater than 49-N will be recorded for the unit
Students are expected to attend lectures and lab classes.
While lab exercises will not be marked, many of the labs will be used for project work in pairs, including assessment. As such, students will need to attend these.
Students will identify a project partner to work with by week 3, who is enrolled in the same lab class. Students will work with their partner for subsequent in-semester assessment unless there are exceptional circumstances.
This assignment will be completed in pairs. Pairs are expected to share the workload and will usually receive the same mark. Individual contributions will be documented, and if workloads are not appropriately shared over the semester marks will be adjusted accordingly.
There will be multiple spikes. Some may be conducted by only one member of project pairs, some will be conducted by both members. Spiking reports will be assessed individually.
The assignment will be assessed as a pair. Students will document their individual contributions to the assignment. Generally, students will receive the same mark, unless there are significant discrepancies over the semester in contributions to the pair project work.
The assignment will be assessed as a pair. Students will document their individual contributions to the assignment. Generally, students will receive the same mark, unless there are significant discrepancies over the semester in contributions to the pair project work.
It is a University requirement (http://www.policy.monash.edu/policy-bank/academic/education/conduct/plagiarism-procedures.html) for students to submit an assignment coversheet for each assessment item. Faculty Assignment coversheets can be found at http://www.infotech.monash.edu.au/resources/student/forms/. Please check with your Lecturer on the submission method for your assignment coversheet (e.g. attach a file to the online assignment submission, hand-in a hard copy, or use an online quiz).
Submission must be made by the due date otherwise penalties will be enforced.
You must negotiate any extensions formally with your campus unit leader via the in-semester special consideration process: http://www.infotech.monash.edu.au/resources/student/equity/special-consideration.html.
No resubmission of assignments will be permitted.
Code based on algorithms or information from third-party sources (such as books or websites) must acknowledge these sources in comments, in sufficient detail for markers to find and check these sources.
Where third party material is used in written assignments, they should be cited. Students may use any of the referencing methods described in the Monash University Library's tutorial on referencing to do so:
http://www.lib.monash.edu.au/tutorials/citing/
Monash has educational policies, procedures and guidelines, which are designed to ensure that staff and students are aware of the University's academic standards, and to provide advice on how they might uphold them.
You can find Monash's Education Policies at:
http://policy.monash.edu.au/policy-bank/academic/education/index.html
Key educational policies include:
The University provides many different kinds of support services for you. Contact your tutor if you need advice and see the range of services available at www.monash.edu.au/students The Monash University Library provides a range of services and resources that enable you to save time and be more effective in your learning and research. Go to http://www.lib.monash.edu.au or the library tab in my.monash portal for more information. Students who have a disability or medical condition are welcome to contact the Disability Liaison Unit to discuss academic support services. Disability Liaison Officers (DLOs) visit all Victorian campuses on a regular basis
Recommended texts: