Software Development Tools 2015 Questions USQ
Software Development Tools 2015 Questions USQ
Introductory Book
Semester 2, 2015
Published by
Contents
Getting started . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Course Organization . . . . . . . . . . . . . . . . . . . . . . . . . .
Resource Materials . . . . . . . . . . . . . . . . . . . . . . . . . . .
Study Book . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Text book . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Assessment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Course Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Study Desk . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Study Schedule . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
Assignment 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
Assignment 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
Assignment 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
Getting started
The Current Students website <http://www.usq.edu.au/current-students>
provides links to essential information which will assist you in your studies
at USQ. Use this site as a reference point to find information on:
getting started
organising enrolment
assignment
learning support
student services
student support
opportunities
graduation and beyond
Introduction
Welcome to the course CSC2408, Software Development Tools. The aim of
this course is to give you a sound basic knowledge of the most important tools
available under the Unix operating system. This is particularly important
as many of the courses which you will undertake require use of Unix, and
appropriate use of the tools provided will make your practical work much
easier to complete.
Although the focus of this course is on Unix tools, many of the tools that
you will use are generic. That is, tools of very similar functionality, though
most likely with a different interface, exist under other operating systems.
Hence Unix-specific knowledge gained in this course can be transferred later
to other operating environments.
A look at the table of contents of the Study Book will indicate the topics
covered. Note that installing Linux is not an assessable part of the course
we assume that you have used the materials available on the Departmental
DVD-ROM set to install Linux.
This course is user-focused; we concentrate entirely on tools used by the
general user, rather than the system administrator. System administration
is covered by another course by name of System and Security Administration.
c
University
of Southern Queensland
Course Organization
The Study Book together with the Study Schedule on page 10 of this book
are your main guides to completing this course. You should work through
the Study Guide at the rate described in the Study Schedule. Many of the
exercises in the Study Book must be completed and handed in for assessment. It is strongly recommended that you attempt all exercises, whether
or not they are assessable. Be aware that skills and knowledge gained from
completing non-assessable exercises may still be examined in the examination.
Resource Materials
Study Book
This is your primary reference. It contains some original material which will
be needed to complete exercises, but most of the study material is derived
from the textbook. The Study Book contains a large number of exercises;
many of these must be completed and handed in for assessment.
Text book
There are a number of excellent texts about the Unix operating system.
Some are brief introductions, while others are much wider in scope. Some
texts also include some programming guidance. We have chosen the A Practical Guide to Linux Commands, Editors, and Shell Programming by Sobell.
This is an excellent book. It is perhaps less tutorial in style than some
other books, but it contains a wealth of detailed, well organized information. While it is not the appropriate choice for someone wanting a quick
introduction to Unix, it is ideal as a long term companion.
You may choose to use or consult other Unix texts rather than the recommended text. This is acceptable and as long as you are able to complete the
exercises and can cover the conceptual material contained in chapters 2, 3
and 4.
Readings
These are supporting documentation not covered by the textbook. Also
included for your convenience are copies of some Unix man pages. The
c
University
of Southern Queensland
largest part of the Readings is the complete GNU Make manual, which you
should find useful in many other courses.
Course DVD-ROM
The course DVD-ROM contains a complete pre-installed Virtual Debian
system created from the Departments Debian/GNU Linux Distribution.
This DVD-ROM is for emergency use only. It is for students having trouble
installing Debian Linux on their computerthey will have access to a Linux
distribution that will allow them to do the exercises and assignments without
falling behindwhile they sort out the problems of their installation.
A virtual operating system is no substitute for an installed operating system
remember this is not the only course you will do that will require access to
a Linux operating systemit is far better to install the Operating System
rather than rely on a virtual system.
WWW
All course material is available from the Course Home Page accessible via
the USQStudyDesk
This is important!
Assessment
You are required to complete three (3) assignments and an examination.
Details of due dates and weighting appear in the Table below and in the
assignment specifications later in this book. The course specification can be
accessed via the course home page.
As there are three(3) assignments you must complete them in a timely manner. In particular, you must ensure that you install Linux early in the
semester so that you can proceed with the assignments.
c
University
of Southern Queensland
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ Question 2: What is an inode?
c
University
of Southern Queensland
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
inode is a data structure that contains information about a file.
An inode for a file contains the files length, the times the file
was last accessed and modified, ......
It is vitally important that your assignment is clearly laid out. It must
be a straightforward matter for the examiner to determine that you have
completed each question satisfactorily. We want quality not quantity, nor
the amount of time you sent on it. Poorly organized submissions will be
rejected.
c
University
of Southern Queensland
Course Support
Support for this course is available for all enrolled students. The main
avenues for help, in order, are
The discussion forums on the course web pages. Any query posted
to the course forums should be answered by anyone who can. It is
not just to be a forum for the lecturer of the course but as a general
communication forum for all the students in the course.
If you need to communicate to the examiner of the course then send
email via message facility available on the course web pages.
You can also communicate to the lecturer of the course via Ask USQ
from the homepage: UConnect > UAsk > Ask USQ.
If you have a specific Linux question you can contact the lecturer or
send email to [email protected]
Study Desk
Your StudyDesk in UConnect gives access to a home page for every course
in which you are currently enrolled. Content available from the course home
page will vary according to the teaching requirements of the course, but may
include:
course materials and resources,
electronic discussion facilities,
access to past examination papers.
As each course has specific learning requirements, availability of these features will vary between courses.
Links
UConnect gives access to the Library and the Academic Learning Support
site, as well as the Quick Links list of University sections and services.
c
University
of Southern Queensland
10
Study Schedule
The following table contains a recommended study pattern which will see
you handing in all there assignments on time.
The first five weeks are probably a little easier than the later weeks. This
allows you plenty of time to get used to Linux, which you must do as soon
as possible. Weeks 68 will be pretty hard going, as other assignments will
be no doubt due as well during this period.
If at all possible you should try to get ahead of this schedule. For instance,
try and finish assignment 1 early, and then make a start on assignment 2 as
soon as possible. This also applies to assignment 3, as there is little time
between handing in assignment 2 and when assignment 3 is due.
Week
Module
Topics
M1
Linux OS Overview
M2.12.4
Shell commands
M2.52.8
Filesystem
M2.92.10
Interactive Editors
M2.112.12
6, 7
8
Assignment
RECESS
M3
Document Preparation
Shell Scripting
10
Bash Scripting
11
12
M4
13
14
15
Software Project
Management
M5
Software
Version Control
16
EXAMINATIONS
17
EXAMINATIONS
c
University
of Southern Queensland
Assignment 1
Weight
15%
Due Date See course specification
1. It is compulsory to use either vi or emacs to edit the assignment
file, in which the answer to all questions must be included.
2. The file must be compressed by either use tar or zip before
submission.
12
sed
sed
sed
sed
sed
sed
"s/the/a/g" file
-n "s/[A-Z]/&/gp" file
"32,45 s/[()]//g" file
"/^$/d" file
"s/\([0-9]\)-\([0-9]\)/\1\2/g" file
"80q" file
For example, sed s/fox/ox/g file will replace all occurance of fox with
ox and not the just the first one in file.
c
University
of Southern Queensland
14
Assignment 2
Weight
15%
Due Date See course specification
Instructions:
All LATEX files are edited by using vi (or emacs) editor. Your
submission include the following three items in a compressed file.
A PDF file for Question 1.
A LATEX text file for Question 2, 3, 4.
One PDF file generated from the above LATEX file.
Question 1. (5 marks)
Create a LATEX document, which should be in 11point font
It contains at least one section and subsection. Include some text in
typewriter font, italics, SMALL CAPS and bold.
Expand the document as follows.
1. Add a title with your name and the date
2. Include at least two forms of list
3. Include a piece of verbatim text this might be a program or a
program fragment.
4. Experiment with font size: try out all (at least 4) the available
font sizes and include the results in your document.
Expand the document further
1. Add a table of contents
2. Create a floating table with caption. It should look just like
the one in Table 1, except that the table number will be different(Dont have to use the multirow package).
3. Typeset the following formulae and add them to the document
b b2 4ac
x=
2a
c
University
of Southern Queensland
Category
Editor
Scripting
Document
Management
Command
emacs
vi
bash
perl
rcs
LATEX
make
Tool
Description
Emacs extensible text editor
Visual editor
GNU Bourne-Again SHell
Practical Extraction and Report Language
Revision Control System
Document Typesetting Package
Managing Project Utility
if x > 0
1
1 if x < 0
(x) =
0
otherwise
(1)
16
permissions for the two files are identical, output the common permission
field. Otherwise, output each filename followed by its permission field.
Note that you should
1. Add comments where needed and appropriate.
2. Verify the total number of arguments in the command line.
3. Try using the cut utility.
c
University
of Southern Queensland
Assignment 3
Weight
10%
Due Date See course specification
Instructions:
use vi (or emacs) to edit the answer for each question in a LATEX
document.
apply latex, dvips, pstopdf(or just pdflatex if installed) to produce a
PDF file.
The submission should be a compressed file, in which a PDF file
is included.
18
2.2
2.1.1.1
1.2.1.2
2.1
1.2.1.1.1.1
1.2.1.1
1.2.2.1
1.2
1.1
Figure 1:
You will need to make small changes to the source file between check
in operations.
c
University
of Southern Queensland
c
University
of Southern Queensland