[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 using an Agile software development methodology. It builds upon the basic programming techniques introduced in introductory programming unit 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, graphical games. Such systems may be implemented in the context of non-traditional computing environments such as smartphone "apps". The unit may 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, depending on the scope of the project chosen in a particular semester.
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).
Minimum total expected workload equals 12 hours per week comprising:
(a.) Contact hours for on-campus students:
(b.) Additional requirements (all students):
See also Unit timetable information
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.
Dr. Sylvester Olubolu Orimaye
Consultation hours: TBA
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 the Student Evaluation of Teaching and Units (SETU) survey. 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, see:
www.monash.edu.au/about/monash-directions/ and on student evaluations, see: www.policy.monash.edu/policy-bank/academic/education/quality/student-evaluation-policy.html
The unit received reasonably high SETU ratings last time it was run, and there were no major issues identified.
The major change to the unit this semester is due to changes in the prerequisite units, as students no longer learn Java in FIT1008. This has meant that we have switched to Python and Kivy as our tools this semester. The previous native Android toolchain was not popular with students, as it was difficult to use, slow, and buggy. While this will obviously change the specifics of the programming techniques learned this semester, the design and management aspects of the unit have not changed significantly.
If you wish to view how previous students rated this unit, please go to
https://emuapps.monash.edu.au/unitevaluations/index.jsp
Week | Activities | Assessment |
---|---|---|
0 | No formal assessment or activities are undertaken in week 0 | |
1 | The problem domain | |
2 | Introduction to Agile development | Identify project partner for group work |
3 | Requirements gathering in Agile development | Assignment 1 due Monday 10 August 2015 |
4 | Agile Scrum and Spiking | Assignment 2 due Monday 17 August 2015 |
5 | Software Design and Modelling | |
6 | Software Design Quality | Assignment 3 due Monday 31 August 2015 |
7 | Software Performance Analysis | |
8 | Scrum Practices | Assignment 4 due Monday 14 September 2015 |
9 | Software testing and Test-Driven Development | Assignment 5 (initial submission) due Monday 28th September |
10 | Software Debugging, Logging & Refactoring | |
11 | Back of the Envelope Calculations | |
12 | User Interfaces | Assignment 5 (final submission) due Monday 19 October |
SWOT VAC | No formal assessment is undertaken during 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 learning system.
Examination (3 hours): 50%; In-semester assessment: 50%
Assessment Task | Value | Due Date |
---|---|---|
Assignment 1 - Introductory programming assignment (individual) | 5% | Monday 10 August 2015 |
Assignment 2 - Vision statement and risk analysis (pairs) | 5% | Monday 17 August 2015 |
Assignment 3 - Spiking (pairs) | 10% | Monday 31 August 2015 |
Assignment 4 - Design and benchmarking (pairs) | 5% | Monday 14 September 2015 |
Assignment 5 - Iterations (pairs) | 25 % | Initial submission due Monday 28 September 2015, final submission due Monday 19 October |
Examination 1 | 50% | To be advised |
Faculty Policy - Unit Assessment Hurdles (http://intranet.monash.edu.au/infotech/resources/staff/edgov/policies/assessment-examinations/assessment-hurdles.html)
Academic Integrity - Please see resources and tutorials at http://www.monash.edu/library/skills/resources/tutorials/academic-integrity/
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 for Assignments 2 through 5, who is enrolled in the same lab class, by the end of week 2. Students will work with their partner for subsequent in-semester assessment unless there are exceptional circumstances.
Assignments 2 through 5 will be submitted with the project partner. 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.
Reporting, including:
Monash Library Unit Reading List (if applicable to the unit)
http://readinglists.lib.monash.edu/index.html
Types of feedback you can expect to receive in this unit are:
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.monash.edu.au/exams/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. Some assignments will explicitly prohibit the use of this - if so, you must not use them.
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://guides.lib.monash.edu/content.php?pid=88267&sid=656564
It is a University requirement (http://www.policy.monash.edu/policy-bank/academic/education/conduct/student-academic-integrity-managing-plagiarism-collusion-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 electronic submission). Please note that it is your responsibility to retain copies of your assessments.
If Electronic Submission has been approved for your unit, please submit your work via the learning system for this unit, which you can access via links in the my.monash portal.
Students will develop for Android using the Google SDK integrated with Eclipse. Eclipse will be provided in laboratory work, but students may choose to use any Android development setup that they prefer..
Students may choose to use their own laptops if they wish; however, they will be responsible for all technical support and ensuring that their code runs on the specified platform.
Kent Beck, Cynthia Andres, Erich Gamma. (). Extreme Programming explained. (2nd Edition) Addison-Wesley Professional (ISBN: 978-0321278654).
Students should refer to the unit website for details about the exam.
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: www.policy.monash.edu.au/policy-bank/academic/education/index.html
Important student resources including Faculty policies are located at http://intranet.monash.edu.au/infotech/resources/students/
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 http://www.monash.edu.au/students. For Malaysia see http://www.monash.edu.my/Student-services, and for South Africa see http://www.monash.ac.za/current/.
The Monash University Library provides a range of services, resources and programs that enable you to save time and be more effective in your learning and research. Go to www.lib.monash.edu.au or the library tab in my.monash portal for more information. At Malaysia, visit the Library and Learning Commons at http://www.lib.monash.edu.my/. At South Africa visit http://www.lib.monash.ac.za/.