Home > Undergraduate > CITS4407/CITS2003 Open Source Tools and Scripting   



Why do this unit?

Shell scripting was first developed in the 1970's/1980's to help systems administrators deal with the many repetitve tasks associated with running the computer systems of the day. Since then, there has been the advent of the Open Source software movment, and the creation of numerous Open Souce tools for a range of applications across programming and data science. Scripting provides a ready (quick/cheap) way of combining those tools, for rapid prototyping and first-pass data analyses.

CITS4407 and CITS2003

This unit was originally designed as CITS4407 for the Masters of Information Technology course, but the need was recognised for an undergraduate offering for more advanced students. Thus, the two units will be offered together, so everywhere where you see CITS4407 you should also read CITS2003 unless specifically directed otherwise; there will be differences in the the final exam, and perhaps in the assignments.


  • Understand what is, and what is not, Open Source software, and get an appreciation for the benefits of the Open Souce approach to software development.
  • Be able to confidently write small shell applications based on open source programs, to automate repetitive tasks and for rapid prototyping of data analyses.

Contacting me (unit coordinator)

Unit Co-ordinator:Assoc. Prof. Michael Wise
Email: [email protected]
Consultation Hours: Wednesdays 11am
Rm 1.18, CSSE Bldg
Other times available, just email me first, please, to arrange a mutually convenient time.
Please note that I am employed half-time at UWA, so generally unavailable on Tuesdays or Thursdays

Technology Issues

Computational Technology

This unit takes place in the world of Open Source computing, i.e. Unix/Linux. The only systems that are capable of properly running Linux are laptop computers or desktop computers; due to their operating systems, smart-phones and tablet computers will not be up to the task. That said, there are computing facilities in the Department of Computer Science and Software Engineering that you are welcome to use. If you have your own device, could you please bring it to lectures as there will be interactive compponents to nearly all of the lectures. An early lecture and lab will be about how to set up your Windows or Apple Mac computer for this unit.

Communication Technology

Unfortunately, there is no single communications/content delivery technology available via the University that quite covers all aspects of this unit, particularly given the combined class, so the following is planned.
  • For any important announcements I will use the UWA email access provided via LMS announcements. You can go back over past announcements by logging into the LMS page for this unit (CITS4407 or CITS2003, as appropriate).
  • The two tests will also be done via LMS, with Teams invigilation
  • For the less important announcements, or discussions where you can raise questions or respond to postings, please use help4407. The attraction of LMS announcements and help4407 is that postings end up in your email, which means you don't have to log regularly into LMS, for example, just to check if there have been any postings.
  • The online labs will be conducted via Teams.

Overview of the Assessment

The overall assessment scheme is:
  • In class test, due in Week 6 (20% of the final mark)
  • First assignment, due on the Friday of Week 8 (20% of the final mark).
  • Second assignment, due on the Monday of Week 12 (30% of the final mark)
  • End of semester test, exam period (30% of the final mark)


The arrival of the viral disease Covid19 has caused rapid and profound changes to the ways universities undertake their missions, with the most obvious been a move to online learning and assessment (at least for the time being). Face to face learning, with the ability to ask questions, is valued by many people. As I write this (late January 2022), the situation in Western Australia is that lectures and other meetings are permitted (with masks) and social distancing. Please keep abreast of advice from the Government of Western Australia regarding which activities are permitted and which are restricted. UWA specific advice can be found here. However, as before, lectures will be recorded and will be available for viewing/downloading via Lecture Capture System/Echo360.


It is expected that you will act professionally at all times, both face to face and via electronic media. Please see UWA Code of Conduct, which is founded on the University Code of Ethics.

It is also expected that you act ethically in your studies. You will have completed the Academic Conduct Essentials unit, which emphasises issues around plagiarism. There is also a link one the Resources page to a referencing guide (from MIT) specifically for code. However, in addition to that, please be aware of the issue of Contract Cheating, also known as Commercial Cheating Services, which are illegal in Australia. (If you've not head of them before, this is where you pay someone else to do your work. Please, please don't go there!).

Department of Computer Science & Software Engineering
The University of Western Australia
Last modified: 21 February 2022
Modified By: Michael Wise