Skip to the content | Change text size
PDF unit guide

FIT3014 Analysis and design of algorithms - Semester 1, 2009

Unit leader :

David Dowe

Lecturer(s) :

Clayton

  • David Dowe

Malaysia

  • Mohammed Belkhatir

Tutors(s) :

Clayton

  • Minh Le Viet
  • David Dowe

Introduction

Hi, and welcome to FIT3014 Analysis and design of algorithms.  This  6-point unit is core to many degrees.  It is similar to its predecessor, CSE3305 (Formal Methods II) - and students are not permitted to do both CSE3305 and FIT3014, and students cannot count both subjects towards any degree.  Students should make sure that they have obtained the relevant pre-requisite(s) before doing FIT3014.  [An alternative name for the subject coule be 'Formal Methods II'.]  In 2009, FIT3014 is offered in 1st semester and is scheduled to be offered again in 2nd semester.  Turning up to all lectures and all tutes/pracs is both encouraged and strongly recommended.

Unit synopsis

FIT3014 provides students with advanced techniques for designing and analysing complex algorithms. In particular, it teaches advanced search strategies, advantages and disadvantages of certain search stategies for a given problem, (advanced) techniques for analysis of algorithmic complexity, dynamic programming, basic statistics to estimate program behaviour, elementary notions of information theory, (Huffman) coding, entropy and channel capacity, Monte Carlo simulation techniques including elementary theory of random number generation, an introduction to the notion of artificial life (ALife) and basic notions in computability such as NP completeness.  It also makes students aware of the fact that some functions are not computable, and presents some associated apparent paradoxes.

Learning outcomes

Knowledge and Understanding

K1. Advanced deterministic search strategies, including A*.

K2. Advanced stochastic search and optimization techniques, including simulated annealing, genetic algorithms (evolutionary computing) and possibly Markov Chain Monte Carlo (MCMC).

K3. Monte Carlo simulation methods (using random numbers) for estimation and problem solving.

K4. Probability theory and basic information theory.

K5. Methods for analysing algorithmic complexity, including asymptotic notation and at least one of average case complexity and worst case complexity.

K6. Dynamic programming concepts and methods.

K7. Basic computational complexity theory, including nondeterministic Turing machines, P-reduction, NP-Completeness - and non-computability.

Attitudes, Values and Beliefs

A1. Be sensitive to the implications algorithm design has for computational complexity.

A2. Be aware of the appropriateness of different search methods for different problems.

Practical Skills

P1. Select one or more search strategies appropriate to a given problem.

P2. Analyse the computational complexity of search algorithms.

P3. Employ Monte Carlo simulation techniques.

P4. Determine when dynamic programming methods will assist in dealing with resource limits.

P5. Use basic statistics to estimate program behaviour.

P6. Develop asymptotic approximations to computationally complex problems.

Workload

For on campus students, workload commitments are:

  • two x one hour lectures and
  • two-hour tutorial/ laboratory
  • a minimum of 2-3 hours of personal study in order to satisfy the reading and assignment expectations.
  • You will need to allocate up to 5 hours per week in some weeks, for use of a computer.

Unit relationships

Prerequisites

Before attempting this unit you must have satisfactorily completed

FIT2004 or CSE2304, or equivalent.  You should have knowledge of at least some mathematics and be able to program.

Students beginning FIT3014 (Analysis and Design of Algorithms) are assumed to know:

Basic data structures (lists, trees, graphs), basic search algorithms, elementary analysis of algorithms, automata theory, discrete mathematics, the material from FIT2004 and/or any other pre-requisites and a proficiency in the English language. 

Relationships

FIT3014 is a (level 3) core unit in the Bachelor of Computer Science (BCS), BA/BCS, BSc/BCS and in the computer science major in the BSc and an elective in BSE (Bachelor of Software Engineering).

Before attempting this unit you must have satisfactorily completed FIT2004 or CSE2304, or equivalent.

Students beginning FIT3014 (Analysis and Design of Algorithms) are assumed to know:

  • Basic data structures (lists, trees, graphs)
  • Basic search algorithms
  • Elementary analysis of algorithms
  • Automata theory
  • Discrete mathematics
  • .

    You may not study this unit and CSE3305 in your degree.

    Continuous improvement

    Monash is committed to ‘Excellence in education’ (Monash Directions 2025 - http://www.monash.edu.au/about/monash-directions/directions.html) and strives for the highest possible quality in teaching and learning.

    To monitor how successful we are in providing quality teaching and learning Monash regularly seeks feedback from students, employers and staff. One of the key formal ways students have to provide feedback is through Unit Evaluation Surveys. The University’s Unit Evaluation policy (http://www.policy.monash.edu/policy-bank/academic/education/quality/unit-evaluation-policy.html) requires that every unit offered is evaluated each year. Students are strongly encouraged to complete the surveys as they are an important avenue for students to “have their say”. The feedback is anonymous and provides the Faculty with evidence of aspects that students are satisfied and areas for improvement.

    Faculties have the option of administering the Unit Evaluation survey online through the my.monash portal or in class. Lecturers will inform students of the method being used for this unit towards the end of the semester.

    Student Evaluations

    If you wish to view how previous students rated this unit, please go to http://www.adm.monash.edu.au/cheq/evaluations/unit-evaluations/

    Improvements to this unit

    The students seem happy with the content of the unit.  Some have previously suggested that it include a little bit more on game theory, which would actually push it in a more mathematical direction.  In 2nd sem. 2008, I added a new paradox of my own to the syllabus.  The MonQuest evaluations in 1st and 2nd sem. 2008 were both very favourable.  About the only thing that the students seem to want changed is the name of the unit.

    Unit staff - contact details

    Unit leader

    Associate Professor David Dowe
    Associate Professor
    Phone +61 3 990 55776
    Fax +61 3 990 55157

    Lecturer(s) :

    Associate Professor David Dowe
    Associate Professor
    Phone +61 3 990 55776
    Fax +61 3 990 55157
    Dr Mohammed Belkhatir

    Tutor(s) :

    Associate Professor David Dowe
    Associate Professor
    Phone +61 3 990 55776
    Fax +61 3 990 55157
    Minh Le Viet

    Teaching and learning method

    FIT3014 provides students with lectures, tutorials/pracs to facilitate your learning.

    Timetable information

    http://mutts.monash.edu.au

    Tutorial allocation

    On-campus students should register for tutorials/laboratories using Allocate+.

    Communication, participation and feedback

    Monash aims to provide a learning environment in which students receive a range of ongoing feedback throughout their studies. You will receive feedback on your work and progress in this unit. This may take the form of group feedback, individual feedback, peer feedback, self-comparison, verbal and written feedback, discussions (on line and in class) as well as more formal feedback related to assignment marks and grades. You are encouraged to draw on a variety of feedback to enhance your learning.

    It is essential that you take action immediately if you realise that you have a problem that is affecting your study. Semesters are short, so we can help you best if you let us know as soon as problems arise. Regardless of whether the problem is related directly to your progress in the unit, if it is likely to interfere with your progress you should discuss it with your lecturer or a Community Service counsellor as soon as possible.

    Unit Schedule

    Week Topic Study guide Key dates
    1 Introduction - analysing algorithms and their complexity    
    2 Introduction to search There is a Workbook ``study guide'' to accompany most of this subject  
    3 Local search and intro' to (faster) brute force search    
    4 More on faster brute force search; intro' to probability and information    
    5 Probability and information    
    6 Randomness, complexity and coding theory overview    
    Mid semester break
    7 Random number generation and transforming distributions    
    8 Monte Carlo simulation, simulated annealing and evolutionary algorithms    
    9 Evolutionary Artificial Life (ALife) simulation, the Church-Turing thesis    
    10 P, NP and NP-Completeness    
    11 Catch-up, revision    
    12 Catch-up, revision    
    13 Revision    

    Unit Resources

    Prescribed text(s) and readings

    Recommended text(s) and readings

    Jon Kleinberg and Eva Tardos (2006).  Algorithm design.  Addison Wesley Pearson.

    Zbigniew Michalewicz, David B. Fogel (2004). How to Solve It: Modern Heuristics. Springer.

    Supplementary Reading

    Sheldon Ross (2002). Simulation, 3rd edition. Academic Press.

    Vijay V. Vazirani (2001). Approximation Algorithms. Springer.

    Thomas M. Cover, Joy A. Thomas (1991). Elements of Information Theory. Wiley-Interscience.

    Sara Baase, Allen Van Gelder (1999). Computer Algorithms: Introduction to Design and Analysis, 3rd Edition. Addison Wesley.

     There is a Workbook ``study guide'' to accompany most of this subject

    Required software and/or hardware

    You will need access to:

    • Linux software
    • C under Linux, C++ under Linux
    • Java
    On-campus students may use this software which is installed in the computing labs. Information about computer use for students is available from the ITS Student Resource Guide in the Monash University Handbook.

    Equipment and consumables required or provided

    Students studying off-campus are required to have the minimum system configuration specified by the Faculty as a condition of accepting admission, and regular Internet access.On-campus students, and those studying at supported study locations may use the facilities available in the computing labs.Information about computer use for students is available from the ITS Student Resource Guide in the Monash University Handbook. You will need to allocate up to approximately 8 or so hours per week for use of a computer, including time for newsgroups/discussion groups.

    Study resources

    Study resources we will provide for your study are:

    • Weekly (detailed) lecture notes outlining the learning objectives, discussion of the content, required readings and exercises;
    • (A workbook of) weekly (or perhaps occasionally fortnightly) tutorial or laboratory tasks and exercises - with sample solutions to be provided one to two weeks later;
    • Assignment specifications;
    • This Unit Guide outlining the administrative information for the unit;
    • The unit web site on Blackboard (or MUSO), where resources outlined above will be made available.
    • Solutions to assignments and (time permitting) a sample exam will be discussed in class, so please be prepared and attentive with your questions.  But, printed worked solutions will most probably not be circulated.

    Library access

    The Monash University Library site contains details about borrowing rights and catalogue searching.  To learn more about the library and the various resources available, please go to http://www.lib.monash.edu.au.

    The Educational Library and Media Resources (LMR) is also a very resourceful place to visit at http://www.education.monash.edu.au/library/

    Monash University Studies Online (MUSO)

    All unit and lecture materials are available through MUSO (Monash University Studies Online). Blackboard is the primary application used to deliver your unit resources. Some units will be piloted in Moodle. If your unit is piloted in Moodle, you will see a link from your Blackboard unit to Moodle (http://moodle.monash.edu.au) and can bookmark this link to access directly. In Moodle, from the Faculty of Information Technology category, click on the link for your unit.

    You can access MUSO and Blackboard via the portal: http://my.monash.edu.au

    Click on the Study and enrolment tab, then Blackboard under the MUSO learning systems.

    In order for your Blackboard unit(s) to function correctly, your computer needs to be correctly configured.

    For example:

    • Blackboard supported browser
    • Supported Java runtime environment

    For more information, please visit: http://www.monash.edu.au/muso/support/students/downloadables-student.html

    You can contact the MUSO Support by phone : (+61 3) 9903 1268

    For further contact information including operational hours, please visit: http://www.monash.edu.au/muso/support/students/contact.html

    Further information can be obtained from the MUSO support site: http://www.monash.edu.au/muso/support/index.html

    Assessment

    Unit assessment policy

    To pass this unit, a student must obtain :

        * 40% or more in the unit's examination and
        * 40% or more in the unit's non-examination assessment
           and
        * an overall unit mark of 50% or more

    If a student does not achieve 40% or more in the unit examination or the unit non-examination assessment then a mark of no greater than 44-N will be recorded for the unit.

    Assignment tasks

    • Assignment Task

      Title : Assignment 1

      Description :

      Weighting : 15%

      Criteria for assessment :

      Due date : To be advised in assignment specification

    • Assignment Task

      Title : Assignment 2

      Description :

      Weighting : 15%

      Criteria for assessment :

      Due date : To be advised in assignment specification

    • Assignment Task

      Title : Assignment 3 - Assessed Practical

      Description :

      Weighting : 10%

      Criteria for assessment :

      At least part of this assessment will be the attendance record kept at tutes and labs.

      Due date : To be advised

    Examinations

    • Examination 1

      Weighting : 60%

      Length : 3 hours

      Type ( open/closed book ) : Closed book


    Assignment submission

    Assignments will be submitted by  both electronic and paper submission to both Blackboard and Damocles (electronic submission) and the General Office (printed hard copy paper submission).   All three versions should be identical and should be submitted before the specified deadline.  On-campus Students Submit the printed hard copy assignment to the General Office by the specified deadline, with the appropriate cover sheet correctly filled out and attached.

    See also ``Assessment policies'', including ``Plagiarism, cheating and collusion''.

    Assignment coversheets

    Students include an assignment coversheet for both printed hard copy submissions and electronic soft copy submissions. Assignment coversheets can be found :

        * via the "Student assignment coversheets" (http://infotech.monash.edu.au/resources/student/assignments/ ) page on the faculty website (for printed hard copy submissions)
          and
        * (for electronic soft copy submissions) coversheets are provided within the Blackboard (MUSO) system(s).  Make sure to submit soft electronic copy to both Blackboard and Damocles.

    University and Faculty policy on assessment

    Due dates and extensions

    The due dates for the submission of assignments are given in the previous section. Please make every effort to submit work by the due dates. It is your responsibility to structure your study program around assignment deadlines, family, work and other commitments. Factors such as normal work pressures, vacations, etc. are seldom regarded as appropriate reasons for granting extensions. Students are advised to NOT assume that granting of an extension is a matter of course.

    Requests for extensions must be made to the unit lecturer at yourcampus at least two days before the due date. You will be asked toforward original medical certificates in cases of illness (you should make sure to keep a copy of these), and may beasked to provide other forms of documentation where necessary.  A copy of the e-mail or other written communication of an extension must be attached to - and mentioned within - the assignment submission.  If in doubt, please discuss this with your lecturer.

    Late assignment

    Assignments received after the due date without adequate medical or other reason will be subject to a penalty of up to 5% per day, including weekends. An assignment is deemed late if any of the submitted versions (recall ``Assessment details'', ``Assignment submission'') is late.  Assignments received later than one week (seven days) after the due date will not normally be accepted. In some cases, this period may be shorter if there is a need to release sample solutions or discuss solutions in class.

    This policy will often be strictly adhered to because comments or guidance will be given on assignments  as they are returned, and sample solutions may also be published and distributed - after assignment marking or with the returned assignment.

    Return dates

    Students can expect assignments to be returned within two weeks of the submission date or after receipt, whichever is later.

    Assessment for the unit as a whole is in accordance with the provisions of the Monash University Education Policy at http://www.policy.monash.edu/policy-bank/academic/education/assessment/

    We will aim to have assignment results made available to you within two weeks after assignment receipt.

    Plagiarism, cheating and collusion

    Plagiarism and cheating are regarded as very serious offences. In cases where cheating  has been confirmed, students have been severely penalised, from losing all marks for an assignment, to facing disciplinary action at the Faculty level. While we would wish that all our students adhere to sound ethical conduct and honesty, I will ask you to acquaint yourself with the University Plagiarism policy and procedure (http://www.policy.monash.edu/policy-bank/academic/education/conduct/plagiarism-procedures.html) which applies to students detected plagiarising.

    In this University, cheating means seeking to obtain an unfair advantage in any examination or any other written or practical work to be submitted or completed by a student for assessment. It includes the use, or attempted use, of any means to gain an unfair advantage for any assessable work in the unit, where the means is contrary to the instructions for such work. 

    When you submit an individual assessment item, such as a program, a report, an essay, assignment or other piece of work, under your name you are understood to be stating that this is your own work. If a submission is identical with, or similar to, someone else's work, an assumption of cheating may arise. If you are planning on working with another student, it is acceptable to undertake research together, and discuss problems, but it is not acceptable to jointly develop or share solutions unless this is specified by your lecturer. 

    Intentionally providing students with your solutions to assignments is classified as "assisting to cheat" and students who do this may be subject to disciplinary action. You should take reasonable care that your solution is not accidentally or deliberately obtained by other students. For example, do not leave copies of your work in progress on the hard drives of shared computers, and do not show your work to other students. If you believe this may have happened, please be sure to contact your lecturer as soon as possible.

    Cheating also includes taking into an examination any material contrary to the regulations, including any bilingual dictionary, whether or not with the intention of using it to obtain an advantage.

    Plagiarism involves the false representation of another person's ideas, or findings, as your own by either copying material or paraphrasing without citing sources. It is both professional and ethical to reference clearly the ideas and information that you have used from another writer. If the source is not identified, then you have plagiarised work of the other author. Plagiarism is a form of dishonesty that is insulting to the reader and grossly unfair to your student colleagues.

    Register of counselling about plagiarism

    The university requires faculties to keep a simple and confidential register to record counselling to students about plagiarism (e.g. warnings). The register is accessible to Associate Deans Teaching (or nominees) and, where requested, students concerned have access to their own details in the register. The register is to serve as a record of counselling about the nature of plagiarism, not as a record of allegations; and no provision of appeals in relation to the register is necessary or applicable.

    Non-discriminatory language

    The Faculty of Information Technology is committed to the use of non-discriminatory language in all forms of communication. Discriminatory language is that which refers in abusive terms to gender, race, age, sexual orientation, citizenship or nationality, ethnic or language background, physical or mental ability, or political or religious views, or which stereotypes groups in an adverse manner. This is not meant to preclude or inhibit legitimate academic debate on any issue; however, the language used in such debate should be non-discriminatory and sensitive to these matters. It is important to avoid the use of discriminatory language in your communications and written work. The most common form of discriminatory language in academic work tends to be in the area of gender inclusiveness. You are, therefore, requested to check for this and to ensure your work and communications are non-discriminatory in all respects.

    Students with disabilities

    Students with disabilities that may disadvantage them in assessment should seek advice from one of the following before completing assessment tasks and examinations:

    Deferred assessment and special consideration

    Deferred assessment (not to be confused with an extension for submission of an assignment) may be granted in cases of extenuating personal circumstances such as serious personal illness or bereavement. Information and forms for Special Consideration and deferred assessment applications are available at http://www.monash.edu.au/exams/special-consideration.html. Contact the Faculty's Student Services staff at your campus for further information and advice.