[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 emphasize 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
Week | Activities | Assessment |
---|---|---|
0 | Register for lab classes | No formal assessment or activities are undertaken in week 0 |
1 | The problem domain - an introduction to cryptography | |
2 | Introduction to Agile development | Introductory programming assignment due Friday 15 March 2013 |
3 | Requirements gathering - an Agile approach | |
4 | The problem domain - welcome to Android | Vision statement (pairs) due Friday 29 March 2013 |
5 | Design and modeling | Spiking exercises (pairs) due Friday 12 April 2013 |
6 | Software Project Lifecycles | |
7 | Computer science in the real world - performance analysis and testing | Design and benchmarking (pairs) due Friday 26 April 2013 |
8 | Software engineering tools | |
9 | Design and modeling II - user interfaces | Iteration 1 (pairs) due Friday 10 May 2013 |
10 | Distributed applications | |
11 | Into the wild - releasing your software | Iteration 2 (pairs) due Friday 24 May 2013 |
12 | Summary and guest lecture | Final Report (individual) due Friday 31 May 2013 |
SWOT VAC | No formal assessment is undertaken in 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 |
---|---|---|
Introductory programming assignment | 5% | Friday 15 March 2013 |
Vision statement (pairs) | 5% | Friday 29 March 2013 |
Spiking exercises (pairs) | 10% | Friday 12 April 2013 |
Design and benchmarking assignment (pairs) | 5% | Friday 26 April 2013 |
Iteration 1 (pairs) | 10% | Friday 10 May 2013 |
Iteration 2 (pairs) | 10% | Friday 24 May 2013 |
Final report (individual) | 5% | Friday 31 May 2013 |
Examination 1 | 50% | To be advised |
Faculty Policy - Unit Assessment Hurdles (http://www.infotech.monash.edu.au/resources/staff/edgov/policies/assessment-examinations/unit-assessment-hurdles.html)
Academic Integrity - Please see the Demystifying Citing and Referencing tutorial at http://lib.monash.edu/tutorials/citing/
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.
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.
Monash Library Unit Reading List
http://readinglists.lib.monash.edu/index.html
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. 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/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).
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 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.
Burnette, Ed. (2008). Hello, Android (3rd edition): Introducing Google's Mobile Development Platform. (3rd Edition) No Starch Press (ISBN: 978-1-93435-656-2).
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
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 http://www.monash.edu.au/students. For Sunway 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 Sunway, visit the Library and Learning Commons at http://www.lib.monash.edu.my/. At South Africa visit http://www.lib.monash.ac.za/.
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
Project has been changed to provide more of a computer science emphasis.
Environment has been switched back to using a virtual machine to avoid the many hassles that were happening with the Windows native environment.
If you wish to view how previous students rated this unit, please go to
https://emuapps.monash.edu.au/unitevaluations/index.jsp