Unit convenor and teaching staff |
Unit convenor and teaching staff
Convenor, Lecturer
Richard Han
Contact via contact via email
4RPD Room 265
by appointment as needed
Lecturer
Young Lee
Contact via contact via email
4RPD
by appointment as needed
|
---|---|
Credit points |
Credit points
10
|
Prerequisites |
Prerequisites
COMP1010 or COMP125
|
Corequisites |
Corequisites
|
Co-badged status |
Co-badged status
COMP6100
|
Unit description |
Unit description
This unit studies the boundary between software and the systems on which software executes. It considers the impact of constraints imposed by operating systems and hardware systems on the design and performance of computer software. Students will learn how to operate within these constraints to build effective systems software. The unit studies these issues by looking below the abstractions provided by high-level programming languages.
The unit is an introduction to systems programming and related issues. It provides an entry point into more advanced study of computer systems in the following areas: hardware implementation, operating systems, network design and programming, and programming language design and implementation.
|
Information about important academic dates including deadlines for withdrawing from units are available at https://www.mq.edu.au/study/calendar-of-dates
On successful completion of this unit, you will be able to:
The assessment has three components: the programming tasks, exam components (including midterm and the final examination), and workshop quizzes. The final mark for the unit will be calculated by combining the marks for all assessment tasks according to the percentage weightings shown in the assessment summary.
Requirements to Pass this Unit
To pass this unit you must:
Name | Weighting | Hurdle | Due |
---|---|---|---|
Final Examination | 25% | No | Exam period |
Binary Bomb Lab | 25% | Yes | Week 13 |
Data File Lab | 20% | Yes | Week 7 |
Midterm Examination | 20% | No | Week 7 |
Weekly online quiz | 10% | No | Every week |
The two programming tasks together constitute a hurdle assessment task (see assessment policy for more information on hurdle assessment tasks)
Throughout the semester you will engage in two programming tasks that are assessed individual work. These tasks develop your skills and assess your progress. These programming tasks are to be done in your own time, but you may also use workshop time to work on them and to seek assistance from the teaching staff. They are due as specified on iLearn for each task.
The programming tasks are designed to be completed over several weeks. Do not leave them until the last week. To encourage you to work throughout the period when the tasks are available, there are progress marks associated with each task. You gain the progress marks by achieving milestones specified for the task by their due dates. Each milestone consists of a specified achievement level in a specified stage of the programming task. If you do not achieve the milestone for a particular progress mark by the due time, then you lose the corresponding progress mark and your total progress mark score is reduced. If you subsequently achieve the missed milestone by the due time of a later progress milestone, then you will be awarded that later progress mark. You can only be awarded each progress mark once. You can earn the progress marks in advance by achieving the milestones early, but you cannot recover lost progress marks by completing the work later.
Hurdle Assessments
The two programming tasks are a hurdle in this unit. You must achieve at least 10 marks out of 25 in one of the two of the programming tasks in order to pass the unit. Most students should easily be able to pass the hurdle. But, in practice, you are unlikely to pass the unit unless you achieve at least pass marks (12.5 out of 25) in both of the programming tasks. You are given a second chance to pass the hurdle by completing the second programming task with at least 10 marks out of 25.
The programming tasks are set as individual work and each one is personalised for a particular student. The University's academic honesty policy will be enforced. You may assist your fellow students with general concepts, pointers to resources and useful tools or commands that are publicly available. You may not become involved in any way in helping a fellow student to find the solution to their particular task, nor may you share with them any aspect of the solution of your particular task. If you decide to develop or modify a tool (including software tools, procedures or methods) to assist you in solving your programming task, you may not provide that tool to your fellow students, nor may you publish it. Each practical task will include additional specific instructions to help you understand what is acceptable and what is not.
Each programming task must be the sole work of the student turning it in. Any cheating will be handled under the University's Academic Honesty Policy.
The following are guidelines on what collaboration is allowed for programming tasks and what is not [adapted from CS:APP website]
Be sure to store your work in protected directories, and log off when you leave any lab computer, to prevent others from copying your work without your explicit assistance.
Submission instructions for programming tasks will be provided on iLearn. The two tasks contain differing forms of automatic assessment and feedback tools that will assist you during the task. The automated feedback will help you identify your mistakes, but does not replace your own analysis of the problem, debugging and testing. The automated assessment contributes strongly to our understanding of your performance in the task.
Each programming task will specify a particular due date. The due time will be 5:00pm on the due date unless otherwise specified.
Submissions in Data File Lab are made through the lab command; submissions in Binary Bomb Lab are made automatically as you progress through the task of analysing and executing the "binary bomb" program. The lab command automatically enforces submission deadlines. However, there is provision for extensions in appropriate circumstances.
Throughout the unit, you can claim up to a total of three free extension days for due dates in the programming tasks. Free extension days can be used for any purpose, ranging from a single sick day to a sudden realisation of how to improve your solution. A free extension does not require any formal documentation, and you can use one or more of your free days instantly through the lab command - see the lab command documentation in the Lab Notes section on iLearn.
Free extensions are valuable and you are encouraged to meet the deadlines of the programming tasks whenever possible and conserve your free extension days in case you need them later in the semester. If you have free extension days remaining at the end of the semester, you may apply them to the closing date of the last programming task.
Free extensions can be applied to any due date - task closing dates or progress mark due dates. In the opinion of the convenor, using a free extension for a progress mark due date is probably a waste of the free extension because the remaining progress marks and the final due date for the task will not be changed by the extension of a single progress mark deadline. However, if you believe that extending the progress mark deadline is in your best interests, then please see the lab command documentation for details on how to do this.
If you experience serious and unavoidable difficulties that affect your ability to meet the due dates for progress or the closing date of a programming task, you may apply for special consideration as explained at https://students.mq.edu.au/study/my-study-program/special-consideration. If the request is accepted, the action may be to grant an extension of the relevant due date(s), or it may be to require you to submit an alternative assessment item. Extensions, if granted, are managed through the automated assessment system that you access via the lab command.
If you apply for special consideration, please note:
You can claim a free extension on top of a formal special consideration extension - the two extensions will be added together. If that is not what you want, you should email as discussed above so that if special consideration is granted, your free extension can be converted to an authorised extension.
Short online quizzes will be provided in iLearn relevant to the content of each of weeks 1-12. The quizzes are intended to help you assess your progress in learning and highlight areas that you need to study further. Each quiz will be available for two weeks. You may attempt a quiz multiple times.
The quizzes contribute up to 10% of your final mark, based on a maximum value of 1% for each quiz. You can achieve full marks for the quizzes by earning a total of at least 10 marks in the quizzes.
Weekly quizzes will follow the late policy of applying via special consideration for an extension.
From 1 July 2022, Students enrolled in Session based units with written assessments will have the following late penalty applied. Please see https://students.mq.edu.au/study/assessment-exams/assessments for more information.
Unless a Special Consideration request has been submitted and approved, a 5% penalty (of the total possible mark) will be applied each day a written assessment is not submitted, up until the 7th day (including weekends). After the 7th day, a grade of '0' will be awarded even if the assessment is submitted. Submission time for all written assessments is set at 11:55 pm. A 1-hour grace period is provided to students who experience a technical concern.
For any late submission of time-sensitive tasks, such as scheduled tests/exams, performance assessments/presentations, and/or scheduled practical assessments/labs, students need to submit an application for Special Consideration.
We will not be following the above policy, and it is included only for completeness. Instead our Late policy is summarized below.
Assessments where Late Submissions will be accepted
In this unit, late submissions will be accepted as follows:
Assessment Type 1: Examination Indicative Time on Task 2: 2 hours Due: Exam period Weighting: 25%
Final examination.
On successful completion you will be able to:
Assessment Type 1: Programming Task Indicative Time on Task 2: 35 hours Due: Week 13 Weighting: 25% This is a hurdle assessment task (see assessment policy for more information on hurdle assessment tasks)
Use debugging tools to understand the behaviour of a precompiled program. Find input strings that will be acceptable to the program (i.e. defuse the binary bomb). Marks are awarded for defusing each of several phase puzzles, and a limited number are marks are deducted for exploding the bomb. Students receive immediate feedback on their attempts, and can monitor their final mark for this assignment in real time. Each student has an individualised task.
On successful completion you will be able to:
Assessment Type 1: Programming Task Indicative Time on Task 2: 35 hours Due: Week 7 Weighting: 20% This is a hurdle assessment task (see assessment policy for more information on hurdle assessment tasks)
Develop C programs to manipulate data files. Submissions are automatically marked with immediate feedback to assist learning. Multiple submissions are permitted. Most marking is automatic and immediate; however, a portion of marks (up to 5 marks out of 20) is awarded after the assignment submissions are closed, based on instructor assessment of program writing style compared to published guidelines. Each student has an individualised task.
On successful completion you will be able to:
Assessment Type 1: Examination Indicative Time on Task 2: 2 hours Due: Week 7 Weighting: 20%
Midterm examination.
On successful completion you will be able to:
Assessment Type 1: Quiz/Test Indicative Time on Task 2: 3 hours Due: Every week Weighting: 10%
Students will complete a short quiz online each week. Multiple attempts are permitted.
On successful completion you will be able to:
1 If you need help with your assignment, please contact:
2 Indicative time-on-task is an estimate of the time required for completion of the assessment task and is subject to individual variation
Name | Weighting | Hurdle | Due |
---|---|---|---|
Weekly online quizzes | 10% | No | weekly |
Midterm exam | 20% | No | Week 7 |
Binary Bomb Lab | 25% | Yes | Week 13 |
Final Examination | 25% | No | Exam period |
Data File Lab | 20% | Yes | Week 7 |
Assessment Type 1: Quiz/Test
Indicative Time on Task 2: 6 hours
Due: weekly
Weighting: 10%
Weekly online quizzes for timely engagement with the class material.
Assessment Type 1: Examination
Indicative Time on Task 2: 2 hours
Due: Week 7
Weighting: 20%
Written midterm exam.
Assessment Type 1: Programming Task
Indicative Time on Task 2: 35 hours
Due: Week 13
Weighting: 25%
This is a hurdle assessment task (see assessment policy for more information on hurdle assessment tasks)
Use debugging tools to understand the behaviour of a precompiled program. Find input strings that will be acceptable to the program (i.e. defuse the binary bomb).
Assessment Type 1: Examination
Indicative Time on Task 2: 2 hours
Due: Exam period
Weighting: 25%
Written examination
Assessment Type 1: Programming Task
Indicative Time on Task 2: 30 hours
Due: Week 7
Weighting: 20%
This is a hurdle assessment task (see assessment policy for more information on hurdle assessment tasks)
Develop C programs to manipulate data files.
1 If you need help with your assignment, please contact:
2 Indicative time-on-task is an estimate of the time required for completion of the assessment task and is subject to individual variation
"Computer Systems: A Programmer's Perspective" 3rd edition, R.E. Bryant and D.R. O'Hallaron, Pearson 2015.
You are required to read set sections of the text book each week. The text book is available in electronic form in the library, or you can purchase a printed copy from a book seller of your choice.
"The C Programming Language" 2nd edition, Brian W Kernighan and Dennis M Ritchie, Prentice-Hall 1988.
This small book is the classic reference on C programming.
All learning materials will be published on iLearn including lecture slides, programming tasks and practical questions.
You are required to check the iLearn website at least once a week to ensure that you are aware of the latest materials available there.
Lectures are a core learning experience where we will discuss the theoretical underpinnings and concepts that are essential to this unit. Key ideas for the programming tasks will be discussed from time to time in lectures.
Lectures will be provided in person. Participation in lectures is not required but is highly recommended. Lecture recordings will be provided on echo360.
Each week you should prepare your solutions to the set of practical questions and attend your enrolled workshop. Workshops may be on campus or online. Workshops provide an opportunity to discuss specific questions related to any aspect of the unit: the lecture content, the programming tasks and the set practical questions.
Workshops provide an opportunity for you to develop your skills in systems programming and your understanding of the key concepts of the unit. Workshops combine discussion with practical programming experience. Your workshop teaching staff will provide you with individual assistance and may also from time to time address the entire class to provide useful information to assist with programming tasks.
A forum for unit discussions is provided on iLearn. Students are free to post questions, comments or hints in relation to any aspect of the unit, except that you should avoid posting any questions, hints, comments or solutions that could be interpreted as cheating (see above).
Don't post your code, or anyone else's code, on the forums!
If you see a post from another student that appears to be cheating, please notify the "senior workshop teaching staff" as soon as possible and we will remove the offending post.
An experienced teaching staff member will be given the role of senior workshop teaching staff (see the staff list at the start of this document). This person is your primary contact for email enquiries related to unit content, and is the most likely person to respond to posts on the forum. For enquiries about the administration of the unit, please contact the unit convenor.
The detailed unit schedule will be available on iLearn. The unit is organised into two 6-week periods, with topics approximately as follows.
Week 1-6: C programming, Command line interface, Data representations (integer and float), some system API.
Weeks 7-12: Assembly code and how C programs appear in the machine, Operating System features and implementation.
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.
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 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
At Macquarie, we believe academic integrity – honesty, respect, trust, responsibility, fairness and courage – is at the core of learning, teaching and research. We recognise that meeting the expectations required to complete your assessments can be challenging. So, we offer you a range of resources and services to help you reach your potential, including free online writing and maths support, academic skills development and wellbeing consultations.
Macquarie University provides a range of support services for students. For details, visit http://students.mq.edu.au/support/
The Writing Centre provides resources to develop your English language proficiency, academic writing, and communication skills.
The Library provides online and face to face support to help you find and use relevant information resources.
Macquarie University offers a range of Student Support Services including:
Got a question? Ask us via AskMQ, or contact Service Connect.
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.
We changed the late policy for weekly quizzes so that students apply for special consideration for extensions instead of the prior complicated late policy.
Date | Description |
---|---|
03/10/2023 | Replaced "tutor" and "tutorial" with "teaching staff" and "practical" |
Unit information based on version 2023.03 of the Handbook