[an error occurred while processing this directive] [an error occurred while processing this directive]
[an error occurred while processing this directive]
[an error occurred while processing this directive]
Monash University

FIT3042 System tools and programming languages - Semester 1, 2012

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)

Contact Hours

2 hrs lectures/wk, 2 hrs laboratories/wk


Students will be expected to spend a total of 12 hours per week on this unit as follows:

For on campus students, workload commitments are:

  • Two hours of lectures per week and
  • two hours of laboratory work per week (requiring advance preparation)
  • a minimum of 2-3 hours of personal study per one hour of contact time in order to satisfy the reading and assignment expectations.

Off-campus students generally do not attend lecture and tutorial sessions, however, you should plan to spend equivalent time working through the relevant resources and participating in discussion groups each week.

Unit Relationships


CSE2391, CSE3391


One of FIT1008, FIT1015, CSE1303

Chief Examiner

Campus Lecturer


Robert Merkel

Academic Overview


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.

Graduate Attributes

Monash prepares its graduates to be:
  1. responsible and effective global citizens who:
    1. engage in an internationalised world
    2. exhibit cross-cultural competence
    3. demonstrate ethical values
  2. critical and creative scholars who:
    1. produce innovative solutions to problems
    2. apply research skills to a range of challenges
    3. communicate perceptively and effectively

Assessment Summary

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

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

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.


Our feedback to You

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

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 SETU, Student Evaluation of Teacher and Unit. 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, and on student evaluations, see:

Previous Student Evaluations of this unit

The exam format will be changed to reduce the requirement to remember as many details of the command-line arguments for utilities - both students and the examiner regarded this as unrealistic and unnecessary.

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

Required Resources

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

You will need access to:

  • UNIX based computer with standard UNIX operating environment (access to programs such as csh, tsh, vi, sed, awk, perl, gcc, gdb, make)
  • A web browser such as Safari or Firefox

The software is available remotely using a (freely-downloadable) ssh utility to log into the ra-clay Monash Linux server. Linux distributions are also downloadable at no cost, but no installation support will be provided for these.

Recommended text(s)

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

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

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

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

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.

Unit Schedule

Week Activities Assessment
0   No formal assessment or activities are undertaken in week 0
1 Unit Introduction, Editing with the Vim Editor 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, the GLib utility library Assignment 1 handed out
6 Introduction to shell programming  
7 Shell filters  
8 Shell programming Assignment 1 due Monday 23 April 2012
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 25 May 2012
  SWOT VAC No formal assessment is undertaken SWOT VAC
  Examination period LINK to Assessment Policy: http://policy.monash.edu.au/policy-bank/

*Unit Schedule details will be maintained and communicated to you via your MUSO (Blackboard or Moodle) learning system.

Assessment Requirements

Assessment Policy

Faculty Policy - Unit Assessment Hurdles (http://www.infotech.monash.edu.au/resources/staff/edgov/policies/assessment-examinations/unit-assessment-hurdles.html)

Assessment Tasks


Participants must 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 23 April 2012
  • Assessment task 2
    Assignment 2
    Shell/Perl programming assignment
    Criteria for assessment:
    Correctness; efficiency; quality of solution; documentation
    Due date:
    Friday 25 May 2012
  • 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):
    Closed book
    Electronic devices allowed in the exam:

Assignment submission

It is a University requirement (http://www.policy.monash.edu/policy-bank/academic/education/conduct/plagiarism-procedures.html) for students to submit an assignment coversheet for each assessment item. Faculty Assignment coversheets can be found at http://www.infotech.monash.edu.au/resources/student/forms/. 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).

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.

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 http://guides.lib.monash.edu/content.php?pid=88267&sid=656564

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.

Other Information


Student services

The University provides many different kinds of support services for you. Contact your tutor if you need advice and see the range of services available at www.monash.edu.au/students. For Sunway see http://www.monash.edu.my/Student-services, and for South Africa see http://www.monash.ac.za/current/

The Monash University Library provides a range of services and resources that enable you to save time and be more effective in your learning and research. Go to http://www.lib.monash.edu.au or the library tab in my.monash portal for more information. At Sunway, visit the Library and Learning Commons at http://www.lib.monash.edu.my/. At South Africa visit http://www.lib.monash.ac.za/.

Academic support services may be available for students who have a disability or medical condition. Registration with the Disability Liaison Unit is required. Further information is available as follows:

  • Website: http://monash.edu/equity-diversity/disability/index.html;
  • Email: dlu@monash.edu
  • Drop In: Equity and Diversity Centre, Level 1 Gallery Building (Building 55), Monash University, Clayton Campus, or Student Community Services Department, Level 2, Building 2, Monash University, Sunway Campus
  • Telephone: 03 9905 5704, or contact the Student Advisor, Student Commuity Services at 03 55146018 at Sunway
[an error occurred while processing this directive]