COMP7004 - Systems Scripting
Lecture 1: Module Introduction
Dr. Vincent Emeakaroha
vincent.emeakaroha@mtu.ie
Semester 2, 2026
Lecture Outline
Lecturer Introduction
Learning Outcome
Teaching Plan
Assessment
Module Motivation
Lecturer
Dr. Vincent C. Emeakaroha
Lecturer in Computer Science Department
Email: vincent.emeakaroha@mtu.ie
Office Location: C123B
Qualification
Postgraduate Diploma in Teaching and Learning in Higher Education, UCC, 2017
Postgraduate Certificate in Teaching and Learning in Higher Education, UCC, 2016
PhD. in Computer Science, TU Vienna, 2012
MSocEcSc. in Computer Science Management, TU Vienna, 2009
MSc. in Software Engineering and Internet Computing, TU Vienna, 2008
BSc. in Technical Computer Science, TU Vienna, 2006
Module Objectives
Automating administration tasks
Identification of scenarios where scripting may help.
Script design to automate repetitive tasks.
Troubleshooting.
Scripting skills
To support system administrators in their daily tasks.
Efficient problem solving.
Description
https://mtu.akarisoftware.com/index.cfm/page/module/moduleId/13100
Indicative Content
Bash Scripting
Bash syntax, sed, awk, grep, diff, join, etc.
Bash Programming using loops, arrays, etc.
Unix and Windows CLI. cmdlets.
Managing processes, services, events and network connections,
Troubleshooting.
Script Deployment
Remote and local deployment.
Deployment in modern networks and domains.
Windows vs. Linux based deployments.
Indicative Content
Scripting in a high-level Language - Python
Language syntax.
Importing and using available libraries.
Writing scripts to perform tasks such as querying storage devices.
Running external processes.
Managing user accounts.
Monitoring file systems and processes.
Analysing log files.
Monitor and map network services, processes.
Package management.
Statistics gathering and reporting.
Phases of script design.
Learning Outcome
On successful completion of this module, you will be able to:
Identify system administration and automation tasks
where scripting may be of assistance.
Solve system administration problems using a shell
interface.
Develop complex script in a modern scripting language.
Deploy scripts in a manner which takes the Information
Technology (IT) infrastructure into account.
Teaching Plan
Classroom session
Daytime
1 hr
2x per week
Evening
2 hrs once a week
Lab session
2 hrs
Once per week for each group
Teaching materials (Lectures & Labs)
Available on Canvas
Weekly updates
Assessment / Evaluation
Assessment 1 project: 25% (Release 13/02 and submit on 15/03)
Bash scripting
Small Bash based applications
Individual project presentation after submission
Assessment 2 project: 35% (Release 23/03 and submit on 26/04)
Python programming
Solving small complex tasks in Python
Individual project presentation after submission
Lab based exam (Week starting on 5
th
May): 40%
Bash based scripting
Python programming
Systems Scripting Motivation
1. Automation can save time and stress.
2. Scripting keeps things consistent.
3. The knowledge is portable.
4. It is not as difficult as you might think.
Scripting languages
1. Shell/Bash Scripting
2. Python Programming
Shell Scripting: Overview
Linux has a variety of different shells:
Bourne shell (sh), C shell (csh), Korn shell (ksh), TC shell (tcsh), Bourne Again
shell (bash), Z shell (zsh).
Certainly the most popular shell is bash. Bash is an sh-compatible shell
that incorporates useful features from the Korn shell (ksh) and C shell (csh).
It is intended to conform to the IEEE POSIX P1003.2/ISO 9945.2 Shell and
Tools standard.
It offers functional improvements over sh for both programming and
interactive use.
Bash scripting: Motivation
Bash scripting allows us to use the shell's abilities and to automate a
lot of tasks that would otherwise require
Many commands,
Our constant attention.
Bash is not only an excellent command line shell, but a full scripting
language in itself.
One of the earliest and most stable scripting languages.
Bash Scripting: Motivation
Portability
Portable across different variants of Linux.
Supports various system architectures.
Full fledged programming language
Provides all capabilities of a programming language.
Important usage areas
Task automation.
Customised execution.
Running a lot of programs in series.
Python Programming: Motivations
Why learning Python as a programming language?
It is an easy to learn programming language.
You will start producing scripts from day 1!
It is a widely used language, with a vast community providing:
Live documentations.
Audio/visual talks.
Wiki, tutorials, blogs, mailing lists, etc.
Conferences.
Like Bash Scripting, Python is as well an interpreted language
It has more friendly syntax (others might not agree )
Python Programming: Motivations
It is present in multiple computer science areas, so it will strengthen
your skills and your professional opportunities.
Loads of LinkedIn, Monster job offers require Python.
It allows system administrators to do their job more quickly, and can
make tasks more friendly (less tedious).
Examples of tasks Python can do smoothly:
Search for files and show permissions in a friendly format.
Perform operations on a tar archive.
Check for a running process and show information in a friendly format.
Check user ids and passwords for policy compliance.
Easy development of personal password management system.
It is also actively used in web development.
Bash Scripting and Python
Programming: Summary
In summary, Python and Bash shell are both important and
relevant for system scripting.
Asking if it is better to learn one or another is like asking if it is
better to run or to ride a bike
it simply depends on what you are intending to achieve!
Thank You!