Students

COMP6010 – Fundamentals of Computer Science

2021 – Session 1, Special circumstances

Notice

As part of Phase 3 of our return to campus plan, most units will now run tutorials, seminars and other small group activities on campus, and most will keep an online version available to those students unable to return or those who choose to continue their studies online.

To check the availability of face-to-face and online activities for your unit, please go to timetable viewer. To check detailed information on unit assessments visit your unit's iLearn space or consult your unit convenor.

General Information

Download as PDF
Unit convenor and teaching staff Unit convenor and teaching staff Convenor, Lecturer
Gaurav Gupta
Contact via Contact via Dialogue Utility on iLearn
To be advised via iLearn
Lecturer
Naila Mukhtar
Contact via Contact via Dialogue Utility on iLearn
To be advised via iLearn
Tutor
Rana Salal Ali
Credit points Credit points
10
Prerequisites Prerequisites
Corequisites Corequisites
Co-badged status Co-badged status
Unit description Unit description

This unit has an online offering for S2 which is synchronous, meaning there will be set times to attend online lectures and tutorials.

This unit provides a study of algorithms, data structures and programming techniques. The topics covered include: trees; graphs and heaps; advanced sorting techniques; elements of storage management; and complexity. The presentation emphasises the role of data abstraction and correctness proofs.

Important Academic Dates

Information about important academic dates including deadlines for withdrawing from units are available at https://www.mq.edu.au/study/calendar-of-dates

Learning Outcomes

On successful completion of this unit, you will be able to:

  • ULO1: Apply enhanced problem solving skills to develop algorithms
  • ULO2: Implement programs from algorithms, showing an understanding of the underlying architecture of the computer
  • ULO3: Adhere to standard software engineering practices
  • ULO4: Compare different methods available for the same problem in terms of efficiency and other criteria

General Assessment Information

Late Submission

No extensions will be granted without an approved application for Special Consideration. There will be a deduction of 20% of the total available marks made from the total awarded mark for each 24 hour period or part thereof that the submission is late. For example, 25 hours late in submission for an assignment worth 10 marks – 40% penalty or 4 marks deducted from the total.  No submission will be accepted after solutions have been posted.

 

Assessment Tasks

Name Weighting Hurdle Due
Assignment 1 5% No Week 4
Assignment 2 15% No Week 6
Assignment 3 10% No Week 9
Assignment 4 10% No Week 13
Online Quiz 1 10% No Week 5
Online quiz 2 10% No Week 7
Online quiz 3 10% No Week 12
Online quiz 4 10% No Week 13
zoom viva 20% No Week 14

Assignment 1

Assessment Type 1: Programming Task
Indicative Time on Task 2: 5 hours
Due: Week 4
Weighting: 5%

 

Programming assignment that requires students to solve a real-life problem based on the contents covered in the first half of the semester

 


On successful completion you will be able to:
  • Apply enhanced problem solving skills to develop algorithms
  • Implement programs from algorithms, showing an understanding of the underlying architecture of the computer
  • Adhere to standard software engineering practices
  • Compare different methods available for the same problem in terms of efficiency and other criteria

Assignment 2

Assessment Type 1: Programming Task
Indicative Time on Task 2: 15 hours
Due: Week 6
Weighting: 15%

 

Programming assignment that requires students to solve a real-life problem based on the contents covered during the semester

 


On successful completion you will be able to:
  • Apply enhanced problem solving skills to develop algorithms
  • Implement programs from algorithms, showing an understanding of the underlying architecture of the computer
  • Adhere to standard software engineering practices
  • Compare different methods available for the same problem in terms of efficiency and other criteria

Assignment 3

Assessment Type 1: Programming Task
Indicative Time on Task 2: 10 hours
Due: Week 9
Weighting: 10%

 

Programming assignment that requires students to solve a real-life problem based on the contents covered during the semester

 


On successful completion you will be able to:
  • Apply enhanced problem solving skills to develop algorithms
  • Implement programs from algorithms, showing an understanding of the underlying architecture of the computer
  • Adhere to standard software engineering practices
  • Compare different methods available for the same problem in terms of efficiency and other criteria

Assignment 4

Assessment Type 1: Programming Task
Indicative Time on Task 2: 10 hours
Due: Week 13
Weighting: 10%

 

Programming assignment that requires students to solve a real-life problem based on the contents covered during the semester

 


On successful completion you will be able to:
  • Apply enhanced problem solving skills to develop algorithms
  • Implement programs from algorithms, showing an understanding of the underlying architecture of the computer
  • Adhere to standard software engineering practices
  • Compare different methods available for the same problem in terms of efficiency and other criteria

Online Quiz 1

Assessment Type 1: Quiz/Test
Indicative Time on Task 2: 5 hours
Due: Week 5
Weighting: 10%

 

An online quiz that requires students to complete a number of questions via iLearn within a given time window.

 

 


On successful completion you will be able to:
  • Apply enhanced problem solving skills to develop algorithms
  • Implement programs from algorithms, showing an understanding of the underlying architecture of the computer
  • Adhere to standard software engineering practices
  • Compare different methods available for the same problem in terms of efficiency and other criteria

Online quiz 2

Assessment Type 1: Quiz/Test
Indicative Time on Task 2: 5 hours
Due: Week 7
Weighting: 10%

 

An online quiz that requires students to complete a number of questions via iLearn within a given time window.

 


On successful completion you will be able to:
  • Apply enhanced problem solving skills to develop algorithms
  • Implement programs from algorithms, showing an understanding of the underlying architecture of the computer
  • Adhere to standard software engineering practices
  • Compare different methods available for the same problem in terms of efficiency and other criteria

Online quiz 3

Assessment Type 1: Quiz/Test
Indicative Time on Task 2: 5 hours
Due: Week 12
Weighting: 10%

 

An online quiz that requires students to complete a number of questions via iLearn within a given time window.

 


On successful completion you will be able to:
  • Apply enhanced problem solving skills to develop algorithms
  • Implement programs from algorithms, showing an understanding of the underlying architecture of the computer
  • Adhere to standard software engineering practices
  • Compare different methods available for the same problem in terms of efficiency and other criteria

Online quiz 4

Assessment Type 1: Quiz/Test
Indicative Time on Task 2: 5 hours
Due: Week 13
Weighting: 10%

 

An online quiz that requires students to complete a number of questions via iLearn within a given time window.

 


On successful completion you will be able to:
  • Apply enhanced problem solving skills to develop algorithms
  • Implement programs from algorithms, showing an understanding of the underlying architecture of the computer
  • Adhere to standard software engineering practices
  • Compare different methods available for the same problem in terms of efficiency and other criteria

zoom viva

Assessment Type 1: Viva/oral examination
Indicative Time on Task 2: 12 hours
Due: Week 14
Weighting: 20%

 

Students need to answer a number of programming questions, and complete a few programming tasks within a given time window.

 


On successful completion you will be able to:
  • Apply enhanced problem solving skills to develop algorithms
  • Implement programs from algorithms, showing an understanding of the underlying architecture of the computer
  • Adhere to standard software engineering practices
  • Compare different methods available for the same problem in terms of efficiency and other criteria

1 If you need help with your assignment, please contact:

  • the academic teaching staff in your unit for guidance in understanding or completing this type of assessment
  • the Writing Centre for academic skills support.

2 Indicative time-on-task is an estimate of the time required for completion of the assessment task and is subject to individual variation

Delivery and Resources

The unit will be delivered online. Each week you should attend

  • two hours of online lectures, and,
  • two hours of online workshops, and,
  • two hour online practical classes

For details of days, times and rooms consult the timetables webpage.

Note that Lectures, Workshops and Practical Classes commence in week 1.

You should have selected a practical class during enrolment. You should attend the practical class you are enrolled in. If you do not have a class, or if you wish to change one, you should see the enrolment operators in the E7B courtyard during the first two weeks of the semester. Thereafter you should go to the Science and Engineering Student Services Centre.

Please note that you are required to submit work and take online quiz regularly. You will get the help that you need by attending your workshop. Failure to submit work may result in you failing the unit (see the precise requirements in the "Grading Standards" section) or being excluded from the final examination.

 

REQUIRED AND RECOMMENDED TEXTS AND/OR MATERIALS

Textbook

The first book in the following list, namely Starting out with Java, is the recommended text book. The other books listed are helpful references.

TECHNOLOGY USED AND REQUIRED

Online Delivery

All online lectures, workshops and practical classes will be delivered via zoom. Meanwhile, all zoom sessions will be recorded as audio lecture. 

Audio Lecture

Digital recordings of lectures are available from within iLearn via Active Learning Platform.

Technology

Discussion Boards

The unit makes use of forums hosted within iLearn. Please post questions there, they are monitored by the unit staff.

 

 

Unit Schedule

Note that three important themes will pervade the entire unit:

  1. Problem-solving. A crucial skill for all of the weekly topics will be to write appropriate code to meet a given problem specification. This theme relates to the first two learning outcomes for this unit.
  2. Software development. The use of JUnit testing framework is an important development practice that will be taught from the beginning and used throughout the unit. This theme relates to the third learning outcome of this unit.
  3. Comparing different solution methods. Very often different algorithms are available for the same problem. Another important skill to develop throughout this unit is the ability to compare different algorithms in terms of efficiency and other criteria. This theme relates to the fourth learning outcome of this unit.

Policies and Procedures

Macquarie University policies and procedures are accessible from Policy Central (https://policies.mq.edu.au). Students should be aware of the following policies in particular with regard to Learning and Teaching:

Students seeking more policy resources can visit Student Policies (https://students.mq.edu.au/support/study/policies). It is your one-stop-shop for the key policies you need to know about throughout your undergraduate student journey.

To find other policies relating to Teaching and Learning, visit Policy Central (https://policies.mq.edu.au) and use the search tool.

Student Code of Conduct

Macquarie University students have a responsibility to be familiar with the Student Code of Conduct: https://students.mq.edu.au/admin/other-resources/student-conduct

Results

Results published on platform other than eStudent, (eg. iLearn, Coursera etc.) or released directly by your Unit Convenor, are not confirmed as they are subject to final approval by the University. Once approved, final results will be sent to your student email address and will be made available in eStudent. For more information visit ask.mq.edu.au or if you are a Global MBA student contact globalmba.support@mq.edu.au

Student Support

Macquarie University provides a range of support services for students. For details, visit http://students.mq.edu.au/support/

Learning Skills

Learning Skills (mq.edu.au/learningskills) provides academic writing resources and study strategies to help you improve your marks and take control of your study.

The Library provides online and face to face support to help you find and use relevant information resources. 

Student Services and Support

Students with a disability are encouraged to contact the Disability Service who can provide appropriate help with any issues that arise during their studies.

Student Enquiries

For all student enquiries, visit Student Connect at ask.mq.edu.au

If you are a Global MBA student contact globalmba.support@mq.edu.au

IT Help

For help with University computer systems and technology, visit http://www.mq.edu.au/about_us/offices_and_units/information_technology/help/

When using the University's IT, you must adhere to the Acceptable Use of IT Resources Policy. The policy applies to all who connect to the MQ network including students.

Grading Standards

Three standards, namely Developing, Functional, and Proficient, summarize as many different levels of achievement. Each standard is precisely defined to help students know what kind of performance is expected to deserve a certain mark. The standards corresponding to the learning outcomes of this unit are given below:

  Developing Functional Proficient
L.O. #1 Limited ability to solve problems. Limited knowledge of basic data structures. Ability to write simple algorithms and solve simple problems using OOD. Know basic data structures (queues, stacks, linked lists) and how to manipulate them. Ability to write complex algorithms and solve complex problems using OOD and recursion. Ability to select the most appropriate data structures to solve a problem.
L.O. #2 Show poor programming skills. Limited ability to write code that compiles or excutes properly. Show basic programming skills. Understand notions of compiler and virtual machine. Know types, how to implement simple conditions, simple loops, simple data structures, simple objects. Show advanced programming skills. Understand notions of compiler and virtual machine. Know types, how to implement conditions, loops, data structures, objects. Understand inheritance and polymorphism.
L.O. #3 Unability to follow specifications. Poor coding style. Poor documentation. Submission of incorrect programs showing no sign of testing/debugging skills. Follow simple specifications. Document code (e.g. pre-post conditions). Test and debug a simple program. Understand the notion of modularity/object file. Understand the importance of specifications. Neat code/consistent programming style. Clear and insightful comments. Design test cases and debug programs.

At the end of the semester, you will receive a grade that reflects your achievement in the unit.

  • Fail (F): does not provide evidence of attainment of all learning outcomes. There is missing or partial or superficial or faulty understanding and application of the fundamental concepts in the field of study; and incomplete, confusing or lacking communication of ideas in ways that give little attention to the conventions of the discipline.
  • Pass (P): provides sufficient evidence of the achievement of learning outcomes. There is demonstration of understanding and application of fundamental concepts of the field of study; and communication of information and ideas adequately in terms of the conventions of the discipline. The learning attainment is considered satisfactory or adequate or competent or capable in relation to the specified outcomes.
  • Credit (Cr): provides evidence of learning that goes beyond replication of content knowledge or skills relevant to the learning outcomes. There is demonstration of substantial understanding of fundamental concepts in the field of study and the ability to apply these concepts in a variety of contexts; plus communication of ideas fluently and clearly in terms of the conventions of the discipline.
  • Distinction (D): provides evidence of integration and evaluation of critical ideas, principles and theories, distinctive insight and ability in applying relevant skills and concepts in relation to learning outcomes. There is demonstration of frequent originality in defining and analysing issues or problems and providing solutions; and the use of means of communication appropriate to the discipline and the audience.
  • High Distinction (HD): provides consistent evidence of deep and critical understanding in relation to the learning outcomes. There is substantial originality and insight in identifying, generating and communicating competing arguments, perspectives or problem solving approaches; critical evaluation of problems, their solutions and their implications; creativity in application.

In this unit, your final grade depends on your performance for each component of the assessment. Indeed, for each task, you receive a mark that captures your standard of performance regarding each learning outcome assessed by this task. Then the different component marks are added up to determine your total mark out of 100. Your grade then depends on this total mark and your overall standard of performance.

Concretely, you will pass the unit, if

  • your total mark is at least 50 out of 100

In order to obtain a higher grade than a Pass, you must fulfil the conditions for a Pass and satisfy the following requirements,

  • at least 85% overall for High Distinction
  • at least 75% overall for Distinction;
  • at least 65% overall or Credit.

Unit information based on version 2021.03 of the Handbook