EdX

Unix Tools: Data, Software and Production Engineering (edX)

Unix Tools: Data, Software and Production Engineering (edX)

Grow from being a Unix novice to Unix wizard status! Process big data, analyze software code, run DevOps tasks and excel in your everyday job through the amazing power of the Unix shell and command-line tools. Processing information is the hallmark of all modern organizations, which are increasingly digital: absorbing, processing and generating information is a key element of their business.

Class Deals by MOOC List - Click here and see EdX's Active Discounts, Deals, and Promo Codes.

Being able to interact flexibly and efficiently with the underlying data and software systems is an indispensable skill. Knowledge of the Unix shell and its command-line tools boosts the effectiveness and productivity of software developers, IT professionals, and data analysts.
The Unix tools were designed, written, actively used and refined by the team that defined the modern computing landscape. They allow the performance of almost any imaginable computing task quickly and efficiently by judiciously combining key powerful concepts. The power of Unix tools for exploring, prototyping and implementing big data processing workflows, and software engineering tasks remains unmatched. Unix tools, running on hardware ranging from tiny IoT platforms to supercomputers, uniquely allow an interactive, explorative programming style, which is ideal for the efficient solution of many of the engineering and business analytics problems that we face every day.
Through the use of Unix tools:

  • Software developers can quickly explore and modify code, data, and tests.
  • IT professionals can scrutinize log files, network traces, performance figures, filesystems and the behavior of processes.
  • Data analysts can extract, transform, filter, process, load, and summarize huge data sets.

The course is uniquely based on carefully-selected, interactive walk-through examples that demonstrate how each command operates in practice. The examples that we use involve problems that engineers and analysts face every day.

What you'll learn
After completing the course you’ll be able to:

  • Enter and combine commands in the Unix command line
  • Use files, data pipelines, variables and control structures
  • Select the most useful tools and commands for fetching, selecting, generating, processing, summarizing and reporting data
  • Obtain data from databases, cloud-based hosts, version control systems, object files, archives and your desktop files
  • Accomplish diverse processing tasks by putting together suitable commands and configuring their execution parameters

Syllabus

We start by introducing the key ideas and advantages of Unix tools. We then build many one-liners around the tools that follow a sequence of fetching, selection, processing, summarization and reporting. We demonstrate the tools for each phase: the plumbing that joins the parts into a whole, more specialized commands for handling software development and system administration tasks, sound and images and even graph-structures. We end with a discussion of common use patterns to follow and anti-patterns to avoid.
Week 1 Introduction — Getting to the Command Line; The command-line interface; Input and output redirection; Files and directories; Command-line arguments; Command grouping; Scripting
Week 2 Execution control; Data processing flow; Data fetching: Remote services, archives, remote hosts, and the file system
Week 3 Data fetching: Version control systems, compiled code, graphical desktop systems, and system administration; Data generation; Regular expressions and data selection with grep, egrep, and fgrep
Week 4 Other data selection tools; Processing: Sorting, working with sorted data, sed, awk
Week 5 Processing: File differences, testing, and expressions dealing with characters, lines, and graphs
Week 6 Processing images and sound; Summarizing; Reporting: Email and text formatting; Good shell practices; Improving your shell style
Throughout the course you’ll be monitoring your progress through more than 110 knowledge checks. Furthermore, five progress assessments interspersed throughout the course will allow you to demonstrate in practice how you deploy your newly acquired skills by completing about 20 carefully selected tasks modeled after real-life scenarios. Many of the questions will set you off on a virtual treasure hunt, providing you with the opportunity to experiment with what you’ve learned in order to derive the right answer.

Prerequisites:

  • An understanding of basic programming structures, such as conditions and loops
  • An appreciation of variables and their use in simple expressions
  • The ability to create a text file using an editor
  • An understanding of the concepts of files, directories and the file system’s tree structure
  • Access to a computer running Windows, macOS, or a Unix/Linux distribution
Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Data Analytics Basics for Everyone (edX) EdX
IBM

Data Analytics Basics for Everyone (edX)

Learn the fundamentals of Data Analytics and gain an understanding of the data ecosystem, the process and lifecycle of data analytics, career opportunities, and the different learning paths you can take to be a Data Analyst. In this course, you will learn about the various components of a modern data ecosystem and the role Data Analysts, Data Scientists, and Data Engineers play in this ecosystem.

Self Paced
Self-Paced
Analyzing Data with Excel (edX) EdX
IBM

Analyzing Data with Excel (edX)

Build the fundamental knowledge required to use Excel spreadsheets to perform basic data analysis. The course covers the basic workings and key features of Excel to help students analyze their data. This course provides students with the fundamental knowledge required to use Excel spreadsheets to perform basic data analysis.The course consists of several videos, demos, examples, and hands-on labs to help you learn, and ends with a final assignment project which will help you put what you have learned into practice.

Self Paced
Self-Paced
Software Engineering: Introduction (edX) EdX
The University of British Columbia,UBCx

Software Engineering: Introduction (edX)

Learn how to apply engineering principles, such as Agile, to build a full-stack software system. You will learn software engineering principles that are applicable to the breadth of large-scale software systems. The course explores topics such as agile development, REST and Async programming, software specification, design, refactoring, information security, and more.

Self Paced
Self-Paced
Introducción a la programación en Java: escribiendo buen código (edX) EdX
Universidad Carlos III de Madrid - UC3M,UC3Mx

Introducción a la programación en Java: escribiendo buen código (edX)

¡Aprende programación en Java de forma fácil e interactiva y entra en el fascinante mundo de la computación! Este es un curso introductorio para aprender a programar en Java diseñado para enseñar a escribir "buen" código en este lenguaje de programación, entendiendo como "bueno" aquel que es correcto y eficiente.

Self Paced
Self-Paced
Introduction to Probability (edX) EdX
HarvardX,Harvard University

Introduction to Probability (edX)

Learn probability, an essential language and set of tools for understanding data, randomness, and uncertainty. Probability and statistics help to bring logic to a world replete with randomness and uncertainty. This course will give you tools needed to understand data, science, philosophy, engineering, economics, and finance.

Self Paced
Self-Paced
Introduction to Management Information Systems (MIS): A Survival Guide (edX) EdX
Universidad Carlos III de Madrid - UC3M,UC3Mx

Introduction to Management Information Systems (MIS): A Survival Guide (edX)

Gain the skills and knowledge needed to succeed in an MIS-dominated corporate world. This MIS course will cover supporting tech infrastructures (Cloud, Databases, Big Data), the MIS development/ procurement process, and the main integrated systems, ERPs, such as SAP®, Oracle® or Microsoft Dynamics Navision®, as well as their relationship with Business Process Redesign.

Self Paced
Self-Paced
Computational Thinking and Big Data (edX) EdX
University of Adelaide,AdelaideX

Computational Thinking and Big Data (edX)

Learn the core concepts of computational thinking and how to collect, clean and consolidate large-scale datasets. Computational thinking is an invaluable skill that can be used across every industry, as it allows you to formulate a problem and express a solution in such a way that a computer can effectively carry it out.

Self Paced
Self-Paced
Analyzing Data with R (edX) EdX
IBM

Analyzing Data with R (edX)

R is the key that opens the door between the problems you want to solve with data and the answers you need. This course walks you through the process of answering questions through data. The R programming language is purpose-built for data analysis. R is the key that opens the door between the problems you want to solve with data and the answers you need to meet your objectives.

Self Paced
Self-Paced
UML Class Diagrams for Software Engineering (edX) EdX
KU Leuven University,KULeuvenX

UML Class Diagrams for Software Engineering (edX)

Learn how unified modeling language (UML) class diagrams are created and used to visualize and conceptualize the design of a system. Have you ever wondered how software architects, requirements engineers and business analysts sketch and draw out their plans for a software system? In this computer science course, you will gain an in-depth understanding of Unified Modeling Language (UML) class diagrams, which are used to visually represent the conceptual design of a system.

Self Paced
Self-Paced
Big Data Technology Capstone Project (edX) EdX
The Hong Kong University of Science and Technology - HKUST,HKUSTx

Big Data Technology Capstone Project (edX)

The Big Data Technology Capstone Project will allow you to apply the techniques and theory you have gained from the four courses in this MicroMasters program to a medium-scale project. In this capstone course, you will get an opportunity to apply the knowledge and skills that you have gained throughout this MicroMasters program.

Self Paced
Self-Paced
Big Data Computing with Spark (edX) EdX
The Hong Kong University of Science and Technology - HKUST,HKUSTx

Big Data Computing with Spark (edX)

Learn the theory and gain hands-on experience of big data systems, using Spark as the exemplary platform. Big data systems such as Hadoop and Spark emerge as enabling technologies in managing massive amounts of data across hundreds or even thousands of computing nodes. Meanwhile, cloud computing platforms have made these technologies easily accessible to individuals as well as large enterprises.

Self Paced
Self-Paced
Introduction to Java Programming: Writing Good Code (edX) EdX
Universidad Carlos III de Madrid - UC3M,UC3Mx

Introduction to Java Programming: Writing Good Code (edX)

Learn to program in an easy and interactive way and enter the fascinating world of computer science. This is an introductory course to learn programming with Java designed to teach how to code good programs in Java, understanding “good” as both correct and efficient. Basic principles of software engineering will be introduced to make it easier for our future self and others to reuse code. Ethical issues and the intellectual property of our programs will also be addressed in the last part of this course. Examples and case studies will be provided, so that learners can implement simple but increasingly complex programs in Java.

Self Paced
Self-Paced