Skip to the content | Change text size
PDF unit guide

FIT3042 System tools and programming languages - Semester 1, 2014

This unit provides students with an introduction to UNIX tools for managing processes; searching, editing and modifying files and data streams; and command interpreters and shell scripts. In addition, students will learn about a typical system call interface and its use for systems programming in a language like C.

Mode of Delivery

  • Clayton (Day)
  • Malaysia (Day)

Workload Requirements

Minimum total expected workload equals 12 hours per week comprising:

(a.) Contact hours for on-campus students:

  • Two hours of lectures
  • One 2-hour laboratory

(b.) Additional requirements (all students):

  • A minimum of 2-3 hours of personal study per one hour of contact time in order to satisfy the reading and assignment expectations.

Unit Relationships


CSE2391, CSE3391


One of FIT1008, FIT1015, CSE1303

Chief Examiner

Campus Lecturer


Peter Tischer

Consultation hours: Mondays 1.00pm - 2.00pm, appointments can also be arranged via email


Dr Sylvester Olubolu Orimaye

Consultation hours: Mondays 10.00am - 1.00pm



Dr Sylvester Olubolu Orimaye

Consultation hours: Mondays 10.00am - 1.00pm

Your feedback to Us

Monash is committed to excellence in education and regularly seeks feedback from students, employers and staff. One of the key formal ways students have to provide feedback is through the Student Evaluation of Teaching and Units (SETU) survey. The University’s student evaluation policy requires that every unit is evaluated each year. Students are strongly encouraged to complete the surveys. The feedback is anonymous and provides the Faculty with evidence of aspects that students are satisfied and areas for improvement.

For more information on Monash’s educational strategy, see: and on student evaluations, see:

Previous Student Evaluations of this Unit

The exam format will more closely reflect the language-oriented content of the unit.

Material relating to Makefiles has been expanded.  Lab sheets have been restructured.

If you wish to view how previous students rated this unit, please go to

Academic Overview

Learning Outcomes

At the completion of this unit students will have:
  • knowledge of the Unix philosophy at shell and system call levels;
  • comprehension of Unix shells and the POSIX standard;
  • knowledge of the variety of tools available and understanding of a core selection of them;
  • knowledge of the Unix system call interface and associated systems programming;
  • programming skills at the Unix shell level using pipelines and shell scripts applying a number of tools;
  • programming skills at the system call level for systems programming.

Unit Schedule

Week Activities Assessment
0   No formal assessment or activities are undertaken in week 0
1 Unit Introduction Laboratory Exercises are assessed at the end of each lab session
2 Introduction to C, Make  
3 C programming: Pointers & Data structures  
4 Unix C Programming  
5 Inter-process communication, third-party libraries Assignment 1 handed out
6 Introduction to shell programming  
7 Shell filters  
8 Shell programming Assignment 1 due Monday 28 April 2014
9 Regular expressions  
10 Perl 1: scalars & arrays Assignment 2 handed out
11 Perl 2: Perl regexes  
12 Perl 3: Perl modules, Perl 6. Assignment 2 due Friday 30 May 2014
  SWOT VAC No formal assessment is undertaken in SWOT VAC
  Examination period LINK to Assessment Policy:

*Unit Schedule details will be maintained and communicated to you via your learning system.

Teaching Approach

Lecture and tutorials or problem classes
The teaching and learning approach provides facilitated learning, practical exploration and peer learning, equipping you with the ability to apply skills upon completion.

Assessment Summary

Examination (3 hours): 50%; In-semester assessment: 50%

Assessment Task Value Due Date
Assignment 1 20% Monday 28 April 2014
Assignment 2 20% Friday 30 May 2014
Laboratory Exercises 10% At the end of each lab session
Examination 1 50% To be advised

Assessment Requirements

Assessment Policy

Assessment Tasks


Students are expected to attend at least 8 of the 11 labs.

  • Assessment task 1
    Assignment 1
    C/Unix programming assignment
    Criteria for assessment:
    • Correctness
    • Efficiency
    • Quality of solution
    • Documentation
    Due date:
    Monday 28 April 2014
  • Assessment task 2
    Assignment 2
    Shell/Perl programming assignment
    Criteria for assessment:
    • Correctness
    • Efficiency
    • Quality of solution
    • Documentation
    Due date:
    Friday 30 May 2014
  • Assessment task 3
    Laboratory Exercises
    Exercises held during laboratory sessions.
    Criteria for assessment:
    Lab exercises are assessed during the scheduled laboratory session. Marks are awarded for successful completion of the laboratory exercises.
    Due date:
    At the end of each lab session


  • Examination 1
    3 hours
    Type (open/closed book):
    Open book
    Electronic devices allowed in the exam:

Learning resources

Monash Library Unit Reading List (if applicable to the unit)

Faculty of Information Technology Style Guide

Feedback to you

Examination/other end-of-semester assessment feedback may take the form of feedback classes, provision of sample answers or other group feedback after official results have been published. Please check with your lecturer on the feedback provided and take advantage of this prior to requesting individual consultations with staff. If your unit has an examination, you may request to view your examination script booklet, see

Types of feedback you can expect to receive in this unit are:

  • Informal feedback on progress in labs/tutes
  • Graded assignments with comments
  • Test results and feedback

Extensions and penalties

Returning assignments

Resubmission of assignments

Multiple assignment submission may be enabled in Moodle.  However, only the last version will be assessed.   Resubmission after the due date will only be permitted after special consideration is granted through the regular faculty processes, or, occasionally, in other exceptional circumstances with lecturer permission.  Penalties may apply in such circumstances.

Referencing requirements

Any written work must use appropriate referencing methods, according to the Library Guides for citing and referencing

Generally, code submitted in your assignments should be your own original work.   However, where code uses ideas from specific sources, they should be cited in comments. 

Specific assignments may provide additional direction on referencing and reuse of third-party code.

Assignment submission

It is a University requirement ( for students to submit an assignment coversheet for each assessment item. Faculty Assignment coversheets can be found at Please check with your Lecturer on the submission method for your assignment coversheet (e.g. attach a file to the online assignment submission, hand-in a hard copy, or use an online quiz). Please note that it is your responsibility to retain copies of your assessments.

Online submission

Most assignments will be submitted via the Moodle electronic learning system, which is accessed through the subject web page.  The assignment coversheets will also be made availble through Moodle.

Required Resources

Please check with your lecturer before purchasing any Required Resources. Limited copies of prescribed texts are available for you to borrow in the library, and prescribed software is available in student labs.

Students will be provided with a Linux-based virtual machine environment.  The virtual machine will be made available in labs and can also be installed, using free software, on any PC.

As a virtual machine, it will run under the VMWare Player software (freely downloadable) as any other application under Windows, Mac, or another version of Linux).  

Students may choose to use another Linux distribution if they wish, however no support will be provided for this.

Recommended text(s)

Mark G. Sobell. (2009). A Practical Guide to Linux Commands, Editors, and Shell Programming. (2nd Edition) Prentice Hall (ISBN: 978-0131367364).

Brian W. Kernighan and Dennis M. Ritchie. (1988). The C Programming Language. (2nd Edition) Prentice Hall (ISBN: 978-0131103627).

Michael Kerrisk. (2010). The Linux Programming Interface. (1st Edition) No Starch Press (ISBN: 978-159372-200-3).

Larry Wall, Tom Christiansen, Jon Orwant. (2000). Programming Perl. (3rd Edition) O'Reilly Media (ISBN: 978-0-596-00027-1).

K. N. King. (2008). C Programming: A Modern Approach. (2nd Edition) W. W. Norton & Company (ISBN: 978-0-393-97950-3).

Field trips

No field trips.

Additional subject costs

No additional costs.

Examination material or equipment

Exam details, including permitted equipment, will be announced on the unit website during the semester.

Other Information


Monash has educational policies, procedures and guidelines, which are designed to ensure that staff and students are aware of the University’s academic standards, and to provide advice on how they might uphold them. You can find Monash’s Education Policies at:

Key educational policies include:

Faculty resources and policies

Important student resources including Faculty policies are located at

Graduate Attributes Policy

Student Charter

Student services

Monash University Library

Disability Liaison Unit

Students who have a disability or medical condition are welcome to contact the Disability Liaison Unit to discuss academic support services. Disability Liaison Officers (DLOs) visit all Victorian campuses on a regular basis.