[an error occurred while processing this directive]
[an error occurred while processing this directive] Algorithms are recipes for solving a problem. They are fundamental to computer science and software engineering. Algorithms are the formal foundation of computer programming but also exist independently of computers as systematic problem-solving procedures. This unit introduces algorithmics, the study of algorithms. It is not about programming and coding but rather about understanding and analysing algorithms and about algorithmic problem-solving, i.e. the design of systematic problem-solving procedures. The unit will not require any knowledge of a programming language and is very hands-on. Students will develop algorithms to solve a wide variety of different problems, working individually as well as together in groups and as a class.
Topics include: what is a computational problem and what is an algorithm; basic control structures; basic data structures; modular algorithm structure; recursion; problem-solving strategies for algorithm development; arguing correctness of an algorithm; arguing termination of an algorithm; understanding the efficiency of an algorithm; and limitations of algorithms.
2 hrs lectures/wk, 2 hrs tutorials/wk
Students will be expected to spend 12 hours per week on various activities including:
You will need to allocate up to 2 hours per week in some weeks, for use of a computer, including time for newsgroups/discussion groups.
Dr. Peter Tischer
Dr. Simon Egerton
Week | Activities | Assessment |
---|---|---|
0 | No formal assessment or activities are undertaken in week 0 | |
1 | Introduction to the unit and the type of problems | |
2 | Understanding and modelling the problem | |
3 | Invariants in problems and data | |
4 | Decomposition of problems and applying Brute Force to solve problems | Assignment 1 due |
5 | Using abstraction, symmetry, heuristics and divide and conquer to simplify problems | |
6 | Recursion | Test during lecture |
7 | Backtracking | |
8 | Dynamic Programming | |
9 | Fundamentals | |
10 | Abstract Data Types and Correctness | Assignment 2 due |
11 | Complexity | |
12 | Limitations of algorithms | |
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): 60%; In-semester assessment: 40%
Assessment Task | Value | Due Date |
---|---|---|
Assignment 1 | 10% | Week 4 |
Test | 15% | Week 6 |
Assignment 2 | 15% | Week 10 |
Examination 1 | 60% | 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/
Detailed assessment criteria will be issued along with the assignment.
Detailed assessment criteria will be issued along with the assignment.
Detailed assessment criteria will be issued along with the assignment.
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.
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.
Levitin, A. (2006). Introduction to the Design and Analysis of Algorithms. (2nd Edition) Addison-Wesley.
Harel, D. with Feldman, Y. (2004). Algorithmics: The Spirit of Computing. (3rd Edition) Pearson Education Limited.
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
This unit was first offered in 2010 and in Semester 1, 2012, some of those students were taking third year units. Evidence gathered over the years indicates that the introduction of FIT1029 has helped to improve the students' programming skills and improved the pass rates in core BCS and BSE units.
Feedback from students who have taken FIT1029 and have gone on to later year studies in the BCS and the BSE indicates that students feel that FIT1029 has helped them gain a better appreciation of algorithms, and to regard thinking about algorithms as an activity that should be kept separated from coding algorithms into a particular computer programming language.
If you wish to view how previous students rated this unit, please go to
https://emuapps.monash.edu.au/unitevaluations/index.jsp