CAB403 Systems Programming
To view more information for this unit, select Unit Outline from the list below. Please note the teaching period for which the Unit Outline is relevant.
Unit code: | CAB403 |
---|---|
Prerequisite(s): | (CAB201 or MZB126 or EGB103 or EGD103 or ITD121) and CAB202 |
Antirequisite(s): | INN365 |
Equivalent(s): | INB365, ITB706, ITB745 |
Credit points: | 12 |
Timetable | Details in HiQ, if available |
Availabilities |
|
CSP student contribution | $1,118 |
Domestic tuition unit fee | $4,104 |
International unit fee | $4,788 |
Unit Outline: Semester 2 2024, Gardens Point, Internal
Unit code: | CAB403 |
---|---|
Credit points: | 12 |
Pre-requisite: | (CAB201 or MZB126 or EGB103 or EGD103 or ITD121) and CAB202 |
Equivalent: | INB365, ITB706, ITB745 |
Anti-requisite: | INN365 |
Coordinator: | Timothy Chappell | timothy.chappell@qut.edu.au |
Overview
Most of our other Computer Science units focus on high-level applications programming. Applications programmers are insulated from the low- level intricacies of the underlying hardware by making use of services provided by the operating system such as threads, virtual memory, file systems and device drivers. This unit focuses on Systems Programming, where the programmer can’t necessarily rely on high level services provided by the operating system and must interact directly with the underlying hardware. Systems software is either part of the operating system or software that operates at a similar level. This unit aims to give you practical programming skills for developing systems level applications and services.
Learning Outcomes
On successful completion of this unit you will be able to:
- Break down the architecture and components of modern operating systems.
- Articulate industry standards and critically apply best practice for developing safety-critical systems.
- Determine the potential societal and safety impact of systems programming failures in given scenarios.
- Construct low-level systems programs to carry out authentic systems programming tasks.
Content
In this unit you will learn:
- Operating System Concepts and Architecture
- Practical systems level programming using C
Learning Approaches
This unit includes theory reinforced by practical, artefact-driven projects. Weekly contact is via a lecture and a practical session. The Canvas site contains slides for lectures. However, although the slides contain the content of the unit they are insufficient on their own. You are expected to attend lectures or watch the recorded sessions and take notes on anything the lecturer says which is not included in the slides. More detail can be found in the textbook and online materials. In lectures, where appropriate, examples will be worked out and code explained. The practicals contain exercises relevant to the lectures. You should study the lecture material, work through the exercises and check the answers against the solutions, to verify your understanding of the material. To clarify anything, check with any demonstrator or lecturer associated with this unit either by email or during their normal consulting times. This learning process requires your weekly commitment. The theory portion of the unit is assessed through the final exam and addresses learning outcomes 1, 2 and 3. The assignments involve programming tasks, which address learning outcomes 2 and 4. The practical sessions reinforce the code and theory presented in the lecture. Lab classes for these programming tasks are conducted by demonstrators who will facilitate this vital practical experience. You may use the practical class to ask questions about your assignments.
Feedback on Learning and Assessment
You will receive feedback on completed and marked assignments via individual comments on assignment scripts.
Demonstrators and the unit coordinator and lecturers will be available via email or in person (by appointment) to answer questions.
For the Final Exam you are referred to the Faculty's formal Rules, Policy and Procedures.
Assessment
Overview
This unit comprises theory and practice, and assessment is via problem solving tasks and an exam. Assessment criteria will be made available to students at the introduction of the problem solving tasks.
Unit Grading Scheme
7- point scale
Assessment Tasks
Assessment: Problem Solving Task
Problem solving task related to systems programming.
This is an assignment for the purposes of an extension.
Assessment: Project (applied)
Use the C programming language to complete an authentic systems programming task. Examples will be sourced from Industry partners such as Boeing and Red Hat.
This is an assignment for the purposes of an extension.
Assessment: Examination (written)
Final examination (theory), based on all lectures and practicals. Written theory paper evaluating students' understanding of operating systems architecture, systems programming concepts and safety-critical software development. Students will be assessed on both theoretical and practical topics.
Academic Integrity
Students are expected to engage in learning and assessment at QUT with honesty, transparency and fairness. Maintaining academic integrity means upholding these principles and demonstrating valuable professional capabilities based on ethical foundations.
Failure to maintain academic integrity can take many forms. It includes cheating in examinations, plagiarism, self-plagiarism, collusion, and submitting an assessment item completed by another person (e.g. contract cheating). It can also include providing your assessment to another entity, such as to a person or website.
You are encouraged to make use of QUT’s learning support services, resources and tools to assure the academic integrity of your assessment. This includes the use of text matching software that may be available to assist with self-assessing your academic integrity as part of the assessment submission process.
Further details of QUT’s approach to academic integrity are outlined in the Academic integrity policy and the Student Code of Conduct. Breaching QUT’s Academic integrity policy is regarded as student misconduct and can lead to the imposition of penalties ranging from a grade reduction to exclusion from QUT.
Resources
A variety of online and textbook materials will be helpful for this unit.
Other resources will be advised via Canvas as appropriate.
Resource Materials
Recommended text(s)
Silberschatz, Abraham; Baer Galvin, Peter; and Gagne, Greg, (2018). Operating System Concepts, 10th Edition. Hoboken, N.J Wiley.
Risk Assessment Statement
There are no out of the ordinary risks associated with this unit.
Standards/Competencies
This unit is designed to support your development of the following standards\competencies.
Australian Computer Society Core Body of Knowledge
1: ICT Professional Knowledge
3: Technology Resources
4: Technology Building
- Programming
Relates to: ULO4
Engineers Australia Stage 1 Competency Standard for Professional Engineer
1: Knowledge and Skill Base
Relates to: Examination (written)
Relates to: Examination (written)
Relates to: Problem Solving Task, Project (applied)
Relates to: Project (applied)
2: Engineering Application Ability
Relates to: Problem Solving Task, Project (applied)
Relates to: Problem Solving Task
Relates to: Project (applied), Examination (written)
Course Learning Outcomes
This unit is designed to support your development of the following course/study area learning outcomes.EN01 Bachelor of Engineering (Honours)
- Make decisions ethically within the social, cultural, and organisational contexts of professional engineering practice.
Relates to: ULO3, Examination (written) - Deploy appropriate approaches to engineering design and quality.
Relates to: ULO4, Problem Solving Task, Project (applied) - Engage with and apply regulatory requirements relating to safety, risk management, and sustainability in professional engineering practice.
Relates to: ULO2, Project (applied), Examination (written) - Demonstrate a thorough understanding of one engineering discipline, its research directions, and its application in contemporary professional engineering practice.
Relates to: ULO1, Examination (written)
EV01 Bachelor of Engineering (Honours)
- Make decisions ethically within the social, cultural, and organisational contexts of professional engineering practice.
Relates to: Examination (written) - Deploy appropriate approaches to engineering design and quality.
Relates to: Problem Solving Task, Project (applied) - Engage with and apply regulatory requirements relating to safety, risk management, and sustainability in professional engineering practice.
Relates to: Project (applied), Examination (written) - Demonstrate a thorough understanding of one engineering discipline, its research directions, and its application in contemporary professional engineering practice.
Relates to: Examination (written)
IN01 Bachelor of Information Technology
Unit Outline: Semester 2 2024, Online
Unit code: | CAB403 |
---|---|
Credit points: | 12 |
Pre-requisite: | (CAB201 or MZB126 or EGB103 or EGD103 or ITD121) and CAB202 |
Equivalent: | INB365, ITB706, ITB745 |
Anti-requisite: | INN365 |
Overview
Most of our other Computer Science units focus on high-level applications programming. Applications programmers are insulated from the low- level intricacies of the underlying hardware by making use of services provided by the operating system such as threads, virtual memory, file systems and device drivers. This unit focuses on Systems Programming, where the programmer can’t necessarily rely on high level services provided by the operating system and must interact directly with the underlying hardware. Systems software is either part of the operating system or software that operates at a similar level. This unit aims to give you practical programming skills for developing systems level applications and services.
Learning Outcomes
On successful completion of this unit you will be able to:
- Break down the architecture and components of modern operating systems.
- Articulate industry standards and critically apply best practice for developing safety-critical systems.
- Determine the potential societal and safety impact of systems programming failures in given scenarios.
- Construct low-level systems programs to carry out authentic systems programming tasks.
Content
In this unit you will learn:
- Operating System Concepts and Architecture
- Practical systems level programming using C
Learning Approaches
This unit includes theory reinforced by practical, artefact-driven projects. Weekly contact is via a lecture and a practical session. The Canvas site contains slides for lectures. However, although the slides contain the content of the unit they are insufficient on their own. You are expected to attend lectures or watch the recorded sessions and take notes on anything the lecturer says which is not included in the slides. More detail can be found in the textbook and online materials. In lectures, where appropriate, examples will be worked out and code explained. The practicals contain exercises relevant to the lectures. You should study the lecture material, work through the exercises and check the answers against the solutions, to verify your understanding of the material. To clarify anything, check with any demonstrator or lecturer associated with this unit either by email or during their normal consulting times. This learning process requires your weekly commitment. The theory portion of the unit is assessed through the final exam and addresses learning outcomes 1, 2 and 3. The assignments involve programming tasks, which address learning outcomes 2 and 4. The practical sessions reinforce the code and theory presented in the lecture. Lab classes for these programming tasks are conducted by demonstrators who will facilitate this vital practical experience. You may use the practical class to ask questions about your assignments.
Feedback on Learning and Assessment
You will receive feedback on completed and marked assignments via individual comments on assignment scripts.
Demonstrators and the unit coordinator and lecturers will be available via email or in person (by appointment) to answer questions.
For the Final Exam you are referred to the Faculty's formal Rules, Policy and Procedures.
Assessment
Overview
This unit comprises theory and practice, and assessment is via problem solving tasks and an exam. Assessment criteria will be made available to students at the introduction of the problem solving tasks.
Unit Grading Scheme
7- point scale
Assessment Tasks
Assessment: Problem Solving Task
Problem solving task related to systems programming.
This is an assignment for the purposes of an extension.
Assessment: Project (applied)
Use the C programming language to complete an authentic systems programming task. Examples will be sourced from Industry partners such as Boeing and Red Hat.
This is an assignment for the purposes of an extension.
Assessment: Examination (written)
Final examination (theory), based on all lectures and practicals. Written theory paper evaluating students' understanding of operating systems architecture, systems programming concepts and safety-critical software development. Students will be assessed on both theoretical and practical topics.
Academic Integrity
Students are expected to engage in learning and assessment at QUT with honesty, transparency and fairness. Maintaining academic integrity means upholding these principles and demonstrating valuable professional capabilities based on ethical foundations.
Failure to maintain academic integrity can take many forms. It includes cheating in examinations, plagiarism, self-plagiarism, collusion, and submitting an assessment item completed by another person (e.g. contract cheating). It can also include providing your assessment to another entity, such as to a person or website.
You are encouraged to make use of QUT’s learning support services, resources and tools to assure the academic integrity of your assessment. This includes the use of text matching software that may be available to assist with self-assessing your academic integrity as part of the assessment submission process.
Further details of QUT’s approach to academic integrity are outlined in the Academic integrity policy and the Student Code of Conduct. Breaching QUT’s Academic integrity policy is regarded as student misconduct and can lead to the imposition of penalties ranging from a grade reduction to exclusion from QUT.
Resources
A variety of online and textbook materials will be helpful for this unit.
Other resources will be advised via Canvas as appropriate.
Resource Materials
Recommended text(s)
Silberschatz, Abraham; Baer Galvin, Peter; and Gagne, Greg, (2018). Operating System Concepts, 10th Edition. Hoboken, N.J Wiley.
Risk Assessment Statement
There are no out of the ordinary risks associated with this unit.
Standards/Competencies
This unit is designed to support your development of the following standards\competencies.
Australian Computer Society Core Body of Knowledge
1: ICT Professional Knowledge
3: Technology Resources
4: Technology Building
- Programming
Relates to: ULO4
Engineers Australia Stage 1 Competency Standard for Professional Engineer
1: Knowledge and Skill Base
Relates to: Examination (written)
Relates to: Examination (written)
Relates to: Problem Solving Task, Project (applied)
Relates to: Project (applied)
2: Engineering Application Ability
Relates to: Problem Solving Task, Project (applied)
Relates to: Problem Solving Task
Relates to: Project (applied), Examination (written)
Course Learning Outcomes
This unit is designed to support your development of the following course/study area learning outcomes.EN01 Bachelor of Engineering (Honours)
- Make decisions ethically within the social, cultural, and organisational contexts of professional engineering practice.
Relates to: ULO3, Examination (written) - Deploy appropriate approaches to engineering design and quality.
Relates to: ULO4, Problem Solving Task, Project (applied) - Engage with and apply regulatory requirements relating to safety, risk management, and sustainability in professional engineering practice.
Relates to: ULO2, Project (applied), Examination (written) - Demonstrate a thorough understanding of one engineering discipline, its research directions, and its application in contemporary professional engineering practice.
Relates to: ULO1, Examination (written)
EV01 Bachelor of Engineering (Honours)
- Make decisions ethically within the social, cultural, and organisational contexts of professional engineering practice.
Relates to: Examination (written) - Deploy appropriate approaches to engineering design and quality.
Relates to: Problem Solving Task, Project (applied) - Engage with and apply regulatory requirements relating to safety, risk management, and sustainability in professional engineering practice.
Relates to: Project (applied), Examination (written) - Demonstrate a thorough understanding of one engineering discipline, its research directions, and its application in contemporary professional engineering practice.
Relates to: Examination (written)