Module ICP-1002:
Unix Operating System

Module Facts

Run by Computer Science

10 Credits or 5 ECTS Credits

Semester 1

Organiser: Dr William Teahan

Overall aims and purpose

Over the course of this module students will develop and expand their knowledge of the Unix operating system, primarily through remote access to a Linux virtual server. Students will develop skills in Unix file system manipulation, networking and shell scripting as well as competence with the Linux environment. The students will also be introduced to Awk and Perl.

Course content

  • Overview of OS and the virtual machine. Detail of putty, ssh, nature of the kernel.

  • The Linux file system structure, everything is a file, file paths and their construction, editing files, navigating the Linux file structure via the shell, access control and access attributes, understanding system logs. Overview of compression/ decompression, file archives and transfer via SSH, especially via GUI.

  • Automation of simple tasks by incorporating shell commands into scripts, basic programming constructs such as branching and iteration.

Learning outcomes mapped to assessment criteria

  threshold

Able to access the virtual machine. Able to navigate the Linux file structure on the command prompt. Understand the construction of Unix file paths and be able to construct their own relative as well as absolute paths. Can read a simple problem description and convert the user requirements to a shell-scripting solution.

good

Good understanding of the OS and the virtual machine. Understand the function of key directories such as bin, usr, etc , home and be able to install application packages and edit files with an editor. Able to effectively incorporate programming constructs into shell scripting in order perform tasks efficiently.

excellent

Excellent understanding of the OS and VM. Able to use tools such as SSH and tar via the shell and use more advanced shell features such as pipes. Have excellent knowledge of the file system and its manipulation. Be able to understand logs and the concepts surrounding navigation. Be able to edit files. Able to compress / decompress file archives via the GUI, able to SSH via GUI. Perform quite complex tasks without manual intervention, selecting the most appropriate tool for a specific task.

Overview of OS and competence accessing the virtual machine command prompt.

Excellent understanding of the OS and VM. Able to use tools such as SSH and tar via the shell and use more advanced shell features such as pipes. Able to access the virtual machine Good understanding of the OS and the virtual machine.

Understand the structure of the Linux file system & navigate and edit files via the shell.

Have excellent knowledge of the file system and its manipulation. Be able to understand logs and the concepts surrounding navigation. Be able to edit files. Able to compress / decompress file archives via the GUI, able to SSH via GUI. Able to navigate the Linux file structure on the command prompt. Understand the construction of Unix file paths and be able to construct their own relative as well as absolute paths. Understand the function of key directories such as bin, usr, etc , home and be able to install application packages and edit files with an editor.

Create correct and efficient shell scripting solutions to system administration tasks.

Able to effectively incorporate programming constructs into shell scripting in order perform tasks efficiently. Perform quite complex tasks without manual intervention, selecting the most appropriate tool for a specific task. Can read a simple problem description and convert the user requirements to a shell-scripting solution.

Assessment Methods

Type Name Description Weight
Laboratory 1 20
Laboratory 2 20
Laboratory 3 20
Laboratory 4 20
Laboratory 5 20

Teaching and Learning Strategy

Hours
Lecture

12 hours over 12 weeks

12
Laboratory

24 hours scheduled over 12 weeks; plus laboratory preparation and reports

40
Private study

Private study for revision and exam.

28
Individual Project

Course assignment.

20

Transferable skills

  • Literacy - Proficiency in reading and writing through a variety of media
  • Numeracy - Proficiency in using numbers at appropriate levels of accuracy
  • Computer Literacy - Proficiency in using a varied range of computer software
  • Self-Management - Able to work unsupervised in an efficient, punctual and structured manner. To examine the outcomes of tasks and events, and judge levels of quality and importance
  • Exploring - Able to investigate, research and consider alternatives
  • Information retrieval - Able to access different and multiple sources of information
  • Critical analysis & Problem Solving - Able to deconstruct and analyse problems or complex situations. To find solutions to problems through analyses and exploration of all possibilities using appropriate methods, rescources and creativity.

Subject specific skills

  • Knowledge and understanding of facts, concepts, principles & theories
  • Use of such knowledge in modelling and design
  • Problem solving strategies
  • Deploy theory in design, implementation and evaluation of systems
  • Specify, design or construct computer-based systems
  • Evaluate systems in terms of quality and trade-offs
  • Deploy tools effectively
  • Knowledge of systems architecture
  • System Design
  • Specify, deploy, verify and maintain computer-based systems

Pre- and Co-requisite Modules

Courses including this module