This unit introduces students to core problem-solving, analytical skills, and methodologies useful for developing flexible, robust, and maintainable software. In doing this it covers a range of conceptual levels, from high level algorithms and data-structures, down to abstract machine models and simple assembly language programming. Topics include data structures; algorithms; object-oriented design and programming; and abstract machines.
3 hrs lectures/wk, 3 hrs laboratories/wk, 1 hr tutorial/wk
Students will be expected to spend a total of 12 hours per week during semester on this unit as follows:
CSE1303, CSC1030, FIT1007, FIT1015
Loke Kar Seng
Contact hours: TBA
At the completion of this unit, students will have
Developed the ability to:
Examination (3 hours): 70%; In-semester assessment: 30%
|Assessment Task||Value||Due Date|
|Mid Semester Test (1 hour)||10%||Tuesday 6th September 2011|
|Pracs (1 and 1/2 hours each)||20%||Weekly except in Week 7 when the Mid-Semester Test is held|
|Examination 1||70%||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:
If you wish to view how previous students rated this unit, please go to
Eclipse Platform. One of the two recomended platforms. It can be downloaded from http://www.eclipse.org/downloads/
NetBeans IDE. The other recommended platform. It can be downloaded fro http://netbeans.org/downloads/
Java Development Kit, Version j2sdk-1_5_0_06 or later, Sun Microsystems, Inc. You should download the freeware version. You have no need for the fuller facilities provided in JCreatorPro, and would have to pay for it as well.
The MIPS R2000 simulator SPIM S20 (with its new interface QtSpim).
This, and all the other above, are included as part of the Standard Operating Environment used in Faculty computer Labs.
|0||Register for tutorials, pracs and lectures||No formal assessment or activities are undertaken in week 0|
|1||Lectures on Revision of BigO and List (arrays). Tute & Prac.||Prac 1|
|2||Lectures on List Sorting & Stacks and Queues (arrays). Tute & Prac.||Prac 2|
|3||Lectures on Lists, Stacks and Queues (linked nodes). Tute & Prac||Prac 3|
|4||Lectures on Object Oriented Basics. Tute & Prac.||Prac 4|
|5||Lectures on Advanced Object Oriented. Tute & Prac.||Prac 5|
|6||Lectures on Recursion and Recursive Sorts. Tute & Prac.||Prac 6|
|7||Lectures on Binary Trees. Tute & Mid Semester Test. No Prac.||Mid Semester Test, Tuesday, 6 September 2011|
|8||Lectures on Priority Queues and Heaps. Tute & Prac.||Prac 7|
|9||Lectures on Hash Tables & Number representation. Tute & Prac.||Prac 8|
|10||Lectures on Computer Systems & MIPS. Tute & Prac||Prac 9|
|11||Lectures on MIPS execution of selection and iteration. Tute & Prac.||Prac 10|
|12||Lectures on MIPS function call/return. Tute & Prac||Prac 11|
|SWOT VAC||No formal assessment is undertaken SWOT VAC|
|Examination period||LINK to Assessment Policy: http://policy.monash.edu.au/policy-bank/
*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 must actively participate in at least 7 out of the 12 tutorials. Active participation includes contributing opinions to a discussion, providing an answer to some question/exercise, or posing a unit-related question.
See previous paragraph (Description).
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).
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.
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:
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
(1) Data Structures and Algorithms in Java. Robert Lafore, SAMS. This book provides a very simple approach to understanding data structures and algorithms. While the book uses Java to illustrate the implementation, its focus is on the actual data structures and algorithms, rather than on Java, which is very useful for first year students. Very basic and simple.
(2) Data Structures and Algorithms in Java. Adam Drozdek, Brooks/Cole. More advanced but still appropriate for average and high-end students.
(3) Algorithms in Java. Robert Sedgewick. Parts 1-4. This book is a more in-depth book. It is recommended for advanced students who want to learn more about the complexity of the algorithms and data structures used.
(4) The Java Programming Language. Fourth Edition. Ken Arnold, James Gosling and David Holmes. Prentice Hall. This book is useful for students who have questions about the Java language. The reason for using the fourth edition is because it is the earliest edition that includes parametric polymorphism (called Generics in Java).