CSE2391 Unix tools - Semester 1 , 2007 unit guide

Semester 1, 2007

Chief Examiner

Jon McCormack


Clayton : Jon McCormack
Malaysia : Simon Egerton


The subject introduces UNIX tools for managing processes; searching, editing and modifying files and data streams; and command interpreters and shell scripts.

This unit covers many of the software tools provided with Unix systems. The syllabus covers: Unix processes; advanced vi; regular expressions; simple filters, including tr, grep, sort, uniq, head, tail, join; complicated filters, including sed, awk; and Bourne shell scripts. You are assumed to know basic commands such as: cd, mkdir, cp, mv, more (less), cat, ps, kill, and mail (mailx).


On completion of the subject, students should be able to use the tools of the UNIX operating system for programming and development of appropriate data processing tasks.

On completion of the subject, students should: be able to use the tools of the UNIX operating system for programming and development of appropriate data processing tasks; have knowledge of the Unix philosophy at shell level; have knowledge of the the variety of tools available; have comprehension of Unix shells, tools such as vi, tr, grep, sort, uniq, head, tail, join, sed and awk, and Bourne shell programming; have comprehension of prototyping using Unix tools; and be able to program at the Unix shell level using pipelines and shell scripts.


Before attempting this unit you must have satisfactorily completed:

  • Strong: CSE1303 or equivalent
  • Or weak: exposure to Unix and practical programming experience in a procedural language. 

Unit relationships

CSE2391/3391 is a core unit in the Bachelor of Software Engineering. It is an elective unit in Bachelor of Computer Science and other degrees. Before attempting this unit you must have satisfactorily completed CSE1303 or equivalent.

You may not study both CSE2391 and CSE3391 in your degree.

Texts and software

Required text(s)

Palmer, M. et. al. Guide to UNIX using Linux, 3rd ed., Thompson, 2005

Textbook availability

The textbook may be purchased from the Monash bookshop.

Software requirements

You may like to install linux on your home computer to give you practice in using various Unix tools. Unix Machines Clayton: There are a couple of alternatives: You may boot Faculty of IT machines to Linux and use locally. Or use ITS Unix machines: ra-clay.cc.monash.edu.au has the same environment as the Faculty Linux machines; or sng.its.monash.edu.au machine running Sun Solaris machine. You can use these machines from home. :-) Boot Linux and use ssh to to connect to an ITS Unix machine by ssh ra-clay.cc.monash.edu.au; or Boot Microsoft and use the putty client to ssh to an ITS Unix machine. See http://www.its.monash.edu.au/security/ssh/ for instructions. Malaysia: There are a few alternatives: You may boot machines in CL6 and CL7 to Linux (Fedora) and use locally. Or use the School based server: Boot Linux and use ssh to connect to the server by ssh staging2.infotech.monash.edu.my; or Boot Microsoft and use the putty client to ssh to the server. You may also be able to access yoyo.monash.edu.my via ssh from home if you do not have Linux installed on your PC/laptop. (Note that this service is maintained by students, not staff of Monash. Hence, the environment may not be identical to the school's server.)

Hardware requirements

Students may use the facilities available in the computing labs. Information about computer use for students is available from the ITS Student Resource Guide in the Monash University Handbook.

Recommended reading

Palmer, M. et. al. Guide to UNIX using Linux, 3rd ed., Thompson, 2005


Library access

You may need to access the Monash library either personally to be able to satisfactorily complete the subject.  Be sure to obtain a copy of the Library Guide, and if necessary, the instructions for remote access from the library website.

Study resources

Study resources for CSE2391 are:

See the CSE2391 web site on MUSO for practice sheets, lecture notes, assignments, sample exam questions, and lecture schedule.

Unit website


Structure and organisation

Week Topics
1 Unit introduction. Introduction to processes.
2 Introduction to shells. vi settings.
3 vi settings. Most vi commands. Regular expressions. vi settings. Most vi commands. Regular expressions. vi settings. Most vi commands. Regular expressions.
4 Filters.
5 Filters.
6 Bourne shell programming
Non teaching week
7 Bourne shell programming
8 Bourne shell programming
9 sed
10 sed
11 awk
12 awk
13 revision


The timetable for on-campus classes for this unit can be viewed in Allocate+


Assessment weighting

Practical assignment: 20%

Practical/written exam: 80%

Please note passing the practical assignment is a hurdle requirement: if you fail to pass the practical assignment the highest mark you can achieve is 44N.

Assessment Policy

To pass this unit you must:

Assessment: Assignment: 20%; Examination 80% Hurdle: There will be one assignment for CSE2391/CSE3391 that contributes to 20% of your final mark for this unit. This must run successfully, i.e. without any errors, within the automatic submission process. Failure to pass this hurdle (i.e. achieve at least 10 out of 20) will result in a grade no better than 44N. Practical Examination: The examination for CSE2391/CSE3391 contributes 80% to the final grade. CSE3391 students will have a more difficult examination paper and a higher required standard applied. The examination will include some questions to be answered on the examination paper, and some questions that require shell scripts to be developed for marking on the Unix systems.

Your score for the unit will be calculated by:

total_mark = assignment mark + exam mark;

final_mark = (assignment mark < 10) ? min(44, total_mark) : total_mark;

Assessment Requirements

Assessment Due Date Weighting
Assignment 1 20 April 2007 20%
Practical Written Exam (in labs) - closed book Exam period (S1/07) starts on 07/06/07 80 %

Assignment specifications will be made available via MUSO.

Assignment Submission

Assignments will be submitted using the submit program available on university Unix/Linux machines.

Extensions and late submissions

Late submission of assignments

If you miss the deadline for submission of assignment 1, and still want to submit an assignment, you must do a late submission. Late submissions will be open up to 7 days past the due date.

To do a late submission, follow the normal submit procedure, however for the Assessment code use "late1" (rather than "ass1").

Marks are deducted for a late submission based on the following penalty marks formulae:

  • 2 marks per day (24 hour period) for submissions up to ten days late.

The late penalty calculation is accurate up to the second when you submitted, so if you submit 5 minutes and 20 seconds past the deadline your penalty will be: 0.07361 marks. If you submit the first assignment on Sunday (at 12 midnight), meaning exactly 2 days late, after your project is marked, 2 x 2 = 4 marks will be deducted.

Valid Reasons for Late Submission

If you have a serious illness or emergency that has prevented you from completing the assignment on time, you must notify the lecturer via e-mail within 24 hours of your return to university. You then must complete an Absentee Form with medical certificate or a letter of explanation attached and hand it in to the FIT General Office (Bldg 63, ground floor) on the day you return to university.

Failure to follow this procedure may result in a fail result for the practical work not supplied, and hence possibly a fail result for the entire course.

None of the following reasons is considered valid for late submission of assessed materials:

  • Excessive workload in other subjects;
  • Due dates for submissions in other subjects;
  • Workload in this unit;
  • Minor short-term illness;
  • Minor extra-curricula problems.

This policy is strict because comments or guidance will be given on assignments as they are returned, and sample solutions may also be published and distributed, after assignment marking or with the returned assignment. 


It is your responsibility to structure your study program around assignment deadlines, family, work and other commitments. Factors such as normal work pressures, vacations, etc. are seldom regarded as appropriate reasons for granting extensions. 

It is your responsibility to structure your study program around assignment deadlines, family, work and other commitments. Factors such as normal work pressures, vacations, etc. are seldom regarded as appropriate reasons for granting extensions.

Grading of assessment

Assignments, and the unit, will be marked and allocated a grade according to the following scale:

Grade Percentage/description
HD High Distinction - very high levels of achievement, demonstrated knowledge and understanding, skills in application and high standards of work encompassing all aspects of the tasks.
In the 80+% range of marks for the assignment.
D Distinction - high levels of achievement, but not of the same standards. May have a weakness in one particular aspect, or overall standards may not be quite as high.
In the 70-79% range.
C Credit - sound pass displaying good knowledge or application skills, but some weaknesses in the quality, range or demonstration of understanding.
In the 60-69% range.
P Pass acceptable standard, showing an adequate basic knowledge, understanding or skills, but with definite limitations on the extent of such understanding or application. Some parts may be incomplete.
In the 50-59% range.
N Not satisfactory failure to meet the basic requirements of the assessment.
Below 50%.

Assignment return

We will aim to have assignment results made available to you within two weeks after assignment receipt.


Feedback to you

You will receive feedback on your work and progress in this unit. This feedback may be provided through your participation in tutorials and class discussions, as well as through your assignment submissions. It may come in the form of individual advice, marks and comments, or it may be provided as comment or reflection targeted at the group. It may be provided through personal interactions, such as interviews and on-line forums, or through other mechanisms such as on-line self-tests and publication of grade distributions.

Feedback from you

You will be asked to provide feedback to the Faculty through a Unit Evaluation survey at the end of the semester. You may also be asked to complete surveys to help teaching staff improve the unit and unit delivery. Your input to such surveys is very important to the faculty and the teaching staff in maintaining relevant and high quality learning experiences for our students.

And if you are having problems

It is essential that you take action immediately if you realise that you have a problem with your study. The semester is short, so we can help you best if you let us know as soon as problems arise. Regardless of whether the problem is related directly to your progress in the unit, if it is likely to interfere with your progress you should discuss it with your lecturer or a Community Service counsellor as soon as possible.

Plagiarism and cheating

Plagiarism and cheating are regarded as very serious offences. In cases where cheating  has been confirmed, students have been severely penalised, from losing all marks for an assignment, to facing disciplinary action at the Faculty level. While we would wish that all our students adhere to sound ethical conduct and honesty, I will ask you to acquaint yourself with Student Rights and Responsibilities and the Faculty regulations that apply to students detected cheating as these will be applied in all detected cases.

In this University, cheating means seeking to obtain an unfair advantage in any examination or any other written or practical work to be submitted or completed by a student for assessment. It includes the use, or attempted use, of any means to gain an unfair advantage for any assessable work in the unit, where the means is contrary to the instructions for such work. 

When you submit an individual assessment item, such as a program, a report, an essay, assignment or other piece of work, under your name you are understood to be stating that this is your own work. If a submission is identical with, or similar to, someone else's work, an assumption of cheating may arise. If you are planning on working with another student, it is acceptable to undertake research together, and discuss problems, but it is not acceptable to jointly develop or share solutions unless this is specified by your lecturer. 

Intentionally providing students with your solutions to assignments is classified as "assisting to cheat" and students who do this may be subject to disciplinary action. You should take reasonable care that your solution is not accidentally or deliberately obtained by other students. For example, do not leave copies of your work in progress on the hard drives of shared computers, and do not show your work to other students. If you believe this may have happened, please be sure to contact your lecturer as soon as possible.

Cheating also includes taking into an examination any material contrary to the regulations, including any bilingual dictionary, whether or not with the intention of using it to obtain an advantage.

Plagiarism involves the false representation of another person's ideas, or findings, as your own by either copying material or paraphrasing without citing sources. It is both professional and ethical to reference clearly the ideas and information that you have used from another writer. If the source is not identified, then you have plagiarised work of the other author. Plagiarism is a form of dishonesty that is insulting to the reader and grossly unfair to your student colleagues.


Communication methods



Dr. Jon McCormack Room 124, Building 75, Clayton. Phone: 9905 9298 E-mail: Jon.McCormack@infotech.monash.edu.au


Mr. Tham Weng Kee Room 304, Level 3, Malaysia. Phone: 5636 0600 ext 3304 E-mail: wktham@webmail.monash.edu.my


Notices related to the unit during the semester will be placed on the Unit Website (via MUSO). Check this regularly. Failure to read the Notices newsgroup is not regarded as grounds for special consideration.

Consultation Times

Consultation (Clayton): Tuesday 5pm - 6pm (other times by appointment)

Help Desk Room 173, Building 75, Clayton.

If direct communication with your unit adviser/lecturer or tutor outside of consultation periods is needed you may contact the lecturer and/or tutors at:

Dr Jon McCormack
Senior Lecturer
Phone +61 3 990 59298
Fax +61 3 990 55157

All email communication to you from your lecturer will occur through your Monash student email address. Please ensure that you read it regularly, or forward your email to your main address. Also check that your contact information registered with the University is up to date in My.Monash.

Last updated: Feb 27, 2007