CITS4407 is an on-campus unit presented through in-class sessions at which
new information is presented, examples and exercises can be attempted on
the computers in the laboratory, and students are strongly encouraged to
ask questions during the class sessions. While the unit is supported by
materials and links on the unit's webpage, CITS4407 is not an online unit.
No material for CITS4407 is published in UWA LMS (other than the lecture recordings).
All material for CITS4407 is published our the unit webpage:
In particular, the links in the left margin, for the unit's Schedule,
our online discussion forum help4407, Frequent commands, and Information
resources, are the pages that you should visit the most.
The unit is assessed through 2 assignments, contributing 20% and 30%,
and a final examination, contributing 50%. Each assignment should be
submitted using our internal web-based cssubmit program:
also which has a link in the unit's webpage left margin.
Each of the assignments will have about 4-6 self-contained questions,
that ask you to find, develop, and/or explain a command or shellscript (a
sequence of commands contained within a single text file). The (physical)
length of each command or shellscript may vary from just a single line
(actually 3-4 lines as you should provide comments in a shellscript), or
as many as 100 lines for more complicated questions and their solutions.
There is no standard physical length, nor a standard amount of time for
students to solve them - some students make take only a few minutes per
question, depending on their background and knowledge, whereas other
students may easily spend 2 hours per question while the material and
ideas are new.
The marking of the assignments is based on results, the approaches
taken, and the simplicity/clarity of the solutions. The assignments
are not marked based on their efficiency (unless a very poor approach
is taken), nor on the amount of effort taken to arrive at a solution
or partial solution.
We will be a looking at a number of open-source software tools in
CITS4407; we start with the most important of these - the bash shell
(standing for Bourne Again SHell) - which is the character-based
command-interpreter into which we type commands to be executed. Some
commands are executed by bash, itself, but most are external commands
that are simply 'started' by bash, which then waits for them to complete.
bash run almost identically on the Linux operating system, Apple's macOS,
and on Microsoft's Windows 10. In our class-sessions we focus on the
standard/generic execution of the commands, but will focus on Linux if
there is a difference between commands on different operating systems.
Assignment solutions will be tested and marked on Linux, so you should
ensure that your solutions work on Linux.
There are a number of online books and tutorials linked via the CIST4407
'Information Resources' webpage. These online resources provide all
of the necessary information to complete the assignments although, of
course, the Internet may provide different examples and resources that
you find easier to understand.
I hope that you enjoy the unit; good luck.