|
Welcome to CITS2002 Systems Programming
All teaching materials and resources for the unit,
with the exception of lecture and workshop recordings,
will be published here.
You'll need to navigate through UWA's LMS to reach the recordings.
Project 1
Understanding the relationship between a programming language and the
contemporary operating systems on which it executes is central to
developing many skills in Computer Science. This unit introduces the
standard C programming language, on which many other programming languages
are based and with which significant systems are built,
through a study of core operating system services including
process execution, input and output, memory management, and file systems.
The C language is introduced through discussions on topics like
data types, variables, expressions, control structures, scoping rules,
functions and parameter passing. More advanced topics -
C's run-time environment, system calls,
dynamic memory allocation, and pointers -
are presented in the context of operating system services.
The importance of process scheduling, memory management, and interprocess
communication in modern operating systems is discussed in the context of
operating system support for multiprogramming.
Laboratory and workshop exercises place a strong focus on the practical
application of fundamental programming concepts, with examples designed to
compare and contrast many key features of contemporary operating systems.
Unit coordinator: Chris McDonald, Rm 2.20 of the CSSE building
Chris will be available for Consultation (Office Hours)
during the Catch-Up session each week,
Wednesdays 3-5pm in CSSE Room 1.24.
If needing to discuss your enrolment
or personal circumstances affecting your progress in CITS2002,
email [email protected]
for an appointment.
Who's helping you in CITS2002?
Dr Chris McDonald
|
Dr Anwarul Patwary
|
Lauren Gee
|
Jamir Khan
|
Joshua Noble
|
Nicodemus Ong
|
Jasper Paterson
|
Weekly teaching sessions - No CAS allocation required
-
From Week-1 -
Two 45-minute lectures will be presented each week,
in the Social Science Lecture Theatre.
Lecture sessions are face-to-face, and recorded
and their recordings will be available via LMS.
You are strongly encouraged to keep up with the lecture material
(by attending, reviewing the recordings, and reading the prepared notes),
and to never get more than a week behind.
-
From Week-1 -
Each Friday we'll hold a 45-minute workshop session,
in the Social Science Lecture Theatre.
Workshop sessions are face-to-face, and recorded
and their recordings will be available via LMS.
Each week's workshop will focus on, and extend material,
from the previous and current week's lecture material.
Each workshop will have an exercise sheet,
available about a week before the workshop,
providing a single programming task.
The workshop tasks will not be too difficult,
maybe requiring an hour of your time to
plan, develop, and test your ideas.
Some students view them as review tasks.
During the workshop session,
we'll complete the task 'from scratch' in the time available,
and you're encouraged to discuss why the design decisions have been chosen.
-
From Week-2 -
Weekly laboratory sessions are a very important component of this unit,
that reinforce lecture material,
and prepare you for the assessed programming projects.
All face-to-face laboratory sessions will be held in CSSE Lab 2.03.
Laboratory sessions are not recorded.
The laboratory sessions are run as "drop-in-sessions" - times when
there's guaranteed to be someone there to help - rather than
"everyone gets a seat at their nominated lab session".
Students should attend at least one laboratory session per week,
and are welcome to attend more if requiring extra assistance.
Most students will need to undertake 4-6 hours of practical/laboratory work each week.
-
From Week-2 -
Weekly catch-up sessions are in response to requests from
students in recent years wishing to discuss
sections of the unit other than the practical lab and project work
(though NOT for debugging practical work).
Bring along your questions about operating systems and
systems' software in general, or about any aspects of the unit you're unsure about.
- Participation is not compulsory in any weekly CITS2002 activity
(even attendance at the final exam is optional!).
Our weekly timetable
- Note that we do not have a lab-session from 8-10am Tuesdays
time |
Mon |
Tue |
Wed |
Thu |
Fri |
9am |
Lecture SSLTh
|
|
Lecture SSLTh
|
|
Workshop SSLTh
|
10am |
Lab 2.05
|
Lab 2.05
|
|
Lab 2.05
|
|
11am |
|
|
12noon |
Lab 2.01
|
|
Lab 2.05
|
Lab 2.05
|
Lab 2.05
|
1pm |
|
2pm |
|
Lab 2.05
|
Lab 2.05
|
|
|
3pm |
|
|
|
4pm |
Lab 2.05
|
Lab 2.01
|
|
|
|
5pm |
|
|
|
Learning Outcomes
By undertaking this unit, students will be able to:
- identify and appreciate the fundamentals of the imperative
programming paradigm, using the standard C programming language as an
example.
- decide when to choose the C programming language and
its standard library for their systems programming requirements.
- apply the most appropriate techniques to successfully develop
robust systems programs in the C language.
- understand the role of an operating system in
the wider computing context.
- understand the relationship and interactions between an
operating system's critical components and their affect on performance.
- develop an understanding of the relationship between
contemporary operating systems, programming languages and
systems-level application programming interfaces
Assessment
The summative assessment for CITS2002 comprises
a mid-semester test,
two practical programming projects,
and a final written examination.
Project work is submitted using
cssubmit,
and
your marks and feedback will appear in
csmarks.
Assessment
| % of final mark
| Assessment dates
| Outcomes assessed
|
mid-semester test
20 multichoice questions
| 20% |
9-10am Friday 23rd August (week 5) |
All |
1st programming project
either individual work or in pairs
|
20% |
due 11:59pm Friday 13th Sept (week 7) |
1,2,3,5 |
2nd programming project,
either individual work or in pairs
|
20% |
due 11:59pm Thursday 17th Oct (week 12) |
1,2,3,5 |
Final written exam |
40% |
2 hours in October |
All |
University policies
Before undertaking this unit,
students are strongly encouraged to read the relevant university policies:
- UWA's
University Charter of Student Rights and Responsibilities,
- UWA's
Policy on Assessment - particularly §5.3
Principles of submission and penalty for late submission,
- UWA's
Policy on Academic Conduct,
including:
In accordance with the University Policy on Academic Integrity, the use of Artificial
Intelligence (AI) is permitted as an educational/study tool. It may only be used in any
assessment within a unit where approval has been granted by the unit coordinator. Improper
use of AI-generated material, as set out in the Academic Integrity policy, in assessments
may lead to the occurrence of academic misconduct.
- CSSE's
assessment deadlines.
|