[an error occurred while processing this directive]
[an error occurred while processing this directive]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 the machine models and simple assembly language programming. Topics include data types; data structures; algorithms; algorithmic complexity; recursion; and translation to assembly language.
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
The One 3-hour laboratory will be a Computer Lab Prac that includes 1.5 hours per week (requiring advance preparation) followed by an extra 1.5 hours for marking.
CSE1303, CSC1030, FIT1015, FIT2085
(FIT1040 or ECE2071 or FIT1002) and FIT1029
Students beginning FIT1008 are assumed to be able to: Identify the main components of an algorithm (variables, operators, expressions, etc), and write the algorithm associated to the specification of a simple problem. Be able to translate a simple algorithm into a program containing variable declarations, selection, repetition, and lists and/or arrays.
Dr David Albrecht
Dr Julian Garcia
Dr Jojo Wong
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
Pracs will be released earlier, to give students more time to work on them and collaborate with their prac partner.
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 | Register for tutorials, pracs and lectures | No formal assessment or activities are undertaken in week 0. Peer Instruction Participation recorded in every lecture in the semester |
1 | Lectures on Overview of the unit, Python Basics, Sorting Revision and Big O. Tute & Prac. | Prac 1: Introduction to MIPS |
2 | Lectures on Analysis of sorting, Assembly and MIPS Architecture. Tute & Prac. | Prac 2: Lists in Python |
3 | Lectures on Assembly Programming. Tute & Prac. | Prac 3: Time Complexity |
4 | Lectures on Function Calling/Returning in Assembly. Tute & Prac. | Prac 4: Introduction to MIPS |
5 | Lectures on Data Structures, Classes & Objects, and Exception Handling. Tute & Prac. | Prac 5: Lists in MIPS |
6 | Lectures on Lists, Stacks and Queues. Tute & Prac. | Prac 6: Classes and Objects |
7 | Test, Basic Searching algorithms & Linked Structures. Tutes & No Prac. | Mid-Semester Test. No prac this week due to test |
8 | Lectures on Linked Stacks, Linked Queues and Linked Lists. Tute & Prac. | Prac 7: Reverse Polish Calculator |
9 | Lectures on Hash Tables. Tute & Prac. | Prac 8: Hash Tables |
10 | Lectures on Iterators and Recursion. Tute & Prac. | Prac 9: Line editor |
11 | Lectures on Recursive Sorts and Binary Trees. Tute & Prac. | Prac 10: Codes and Trees |
12 | Lectures on Lectures on Binary Search Trees, Priority Queues and Heaps. Tute & Prac. | Prac 11: Game |
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): 70%; In-semester assessment: 30%
Assessment Task | Value | Due Date |
---|---|---|
Mid-semester Test (1 hour) | 5% | Week 7 in a lecture |
Pracs (1.5 hours each) | 20% | Weekly except in Week 7 |
Student participation | 5% | Every week |
Examination 1 | 70% | 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/
Peer Instruction Participation occurs in every lecture.
This test will evaluate your understanding of the material provided during the first few weeks of semester, your capability to code simple algorithms given a clear specification, and to analyse the behaviour and complexity of simple fragments of code.
A grade will be based on a student's quizzes via Moodle.
For algorithms and data structures:
For MIPS
For learning Python 3:
For more Python 3 (for more experienced programmers):
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
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.
Please submit your work via Moodle at the time in which you are marked (and, thus, before you leave the lab). You can access Moodle via links in the my.monash portal.
Please check with your lecturer before purchasing any Required Resources. Limited copies of prescribed texts are available for you to borrow in the library, and prescribed software is available in student labs.
Python 3: This will be our programming language. Please make sure you get version 3.3
PyCharm: A good Python IDE. (http://www.jetbrains.com/pycharm/)
MARS (MIPS Assembler and Runtime Simulator): An IDE for MIPS Assembly Language Programming. (http://courses.missouristate.edu/kenvollmar/mars/)
All the above are included as part of the Standard Operating Environment used in Faculty Computer Labs.
Students are required to purchase a Turning Point clicker from the Campus Bookstore or directly from the Australian Distributor. More information about clickers can be found on this webpage: http://intranet.monash.edu.au/infotech/resources/students/enrolment/clickers.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: 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/.
This unit is a core unit in the Bachelor of Software Engineering accredited by Engineers Australia. Engineers Australia Accreditation Policy of Professional Engineering Programs requires that programs demonstrate how engineering graduates are prepared for entry to the profession and achieve Stage 1 competencies. The following information describes how this unit contributes to the development of these competencies for the Bachelor of Software Engineering. (Note: not all competencies may be emphasised in this unit).
Stage 1 competency | How the compency is developed in this unit |
1. Knowledge and Skills base | |
1.1. Comprehension, theory based understanding of the underpinning natural and physical sciences and the engineering fundamentals applicable to the engineering discipline. | This covered in lecture notes, practical exercises and assignments. |
1.2. Conceptual understanding of the mathematics, numerical analysis, statistics, and computer and information sciences, which underpin the engineering discipline. | This is covered in all assessment components. |
1.3. In-depth understanding of specialist bodies of knowledge within the engineering discipline. | Not covered in this unit. |
1.4. Discernment of knowledge development and research directions within th engineering discipline. | Not covered in this unit. |
1.5. Knowledge of engineering design practice and contextual factors impacting the engineering discipline. |
Not covered in this unit. |
1.6. Understanding of the scope, principles, norms, accountabilities and bounds of sustainable engineering practice in the specific discipline. | Not covered in this unit. |
2. Engineering application ability | |
2.1. Application of established engineering methods to complex engineering problem solving. | Not covered in this unit. |
2.2 Fluent application of engineering techniques, tools and resources. | Not covered in this unit. |
2.3. Application of systematic engineering synthesis and design processes. | Not covered in this unit. |
2.4. Application of systematic approaches to the conduct and management of engineering projects. | Not covered in this unit. |
3. Professional and personal attributes | |
3.1. Ethical conduct and professional accountability. | Not covered in this unit. |
3.2. Effective oral and written communication in professional and lay domains. | Students have to express themselves clearly and effectively for their assessment components of the unit. |
3.3. Creative, innovative and proactive demeanour. | Some creativity is encouraged top develop solutions for the assessment components. |
3.4. Professional use and management of information. | Not covered in this unit. |
3.5. Orderly management of self, and professional conduct. | This is covered in the unit through the delivery of solutions to exercises and assignments. |
3.6. Effective team membership and team leadership. | The assignment is a group assignment – teams of two. |
No. | CO 1 | CO 2 | CO 3 | CO 4 | CO 5 | CO 6 | CO 7 | C0 8 | CO 9 | CO 10 | CO 11 | CO 12 | CO 13 |
1 | X | X | X | ||||||||||
2 | X | X | X | X | X | X | X | ||||||
3 | X | X | X | X | X | X | X | ||||||
4 | X | X | X | X | X | X | X | ||||||
5 | X | X | X | X | |||||||||
No. | Assignments | Tests | Practical Exercises | Exam |
1 | X | X | X | |
2 | X | X | X | |
3 | X | X | X | |
4 | X | X | X | |
5 | X | X | X | |