The use of the Unix shell and command-line tools boosts the effectiveness and productivity of software developers, IT professionals, and data analysts, rightly earning them the title of a wizard. The course's objective is to train computing professionals in the effective use of Unix tools.
The Unix tools were designed, written, actively used, and refined by the team which defined the modern computing landscape. They are remarkable, because they allow one to easily perform almost any imaginable computing task quickly and efficiently by judiciously combining and running a few powerful commands. Their power for exploring, prototyping, and implementing big data processing workflows and software engineering tasks remains unmatched. Unix tools uniquely allow an interactive, explorative programming style, which is ideal for solving efficiently many engineering and business analytics problems that professionals face every day. The tools run on a wide variety of devices, ranging from broadband routers and the $5 Raspberry Pi to Windows, maxOS, Linux, supercomputers, and the cloud.
The course starts with a brief introduction to the key ideas behind the Unix tools and their main advantages in today’s computing landscape. Many one-liners that professionals build around the tools follow a pattern that goes roughly like this: fetching, selection, processing, summarization, and reporting. The course covers the most important tools for each phase, the plumbing that joins the parts into a whole, and more specialized commands for handling software development and system administration tasks, sound and images, and even graph-structures. The provided examples involve everyday problems faced by engineers and data analysts. The course ends with a discussion of common use patterns to follow and anti-patterns to avoid.
Diomidis Spinellis is a Professor in the Department of Management Science and Technology at the Athens University of Economics and Business, Greece. His research interests include software engineering, IT security, and cloud systems engineering. He has written two award-winning, widely-translated books: “Code Reading” and “Code Quality: The Open Source Perspective”. In 2016 he published the book Effective Debugging: 66 Specific Ways to Debug Software and Systems. Dr. Spinellis has also published more than 250 technical papers in journals and refereed conference proceedings, which have received more than 5000 citations. He served for a decade as a member of the IEEE Software editorial board, authoring the regular “Tools of the Trade” column. He has contributed code that ships with Apple’s macOS and BSD Unix and is the developer of CScout, UMLGraph, dgsh, and other open-source software packages, libraries, and tools. He holds an MEng in Software Engineering and a PhD in Computer Science, both from Imperial College London. Dr. Spinellis has served as an elected member of the IEEE Computer Society Board of Governors (2013–2015), and is a senior member of the ACM and the IEEE. From January 2015 he is serving as the Editor-in-Chief for IEEE Software.
Loading your events...
In the next few minutes, you should receive a confirmation email with your login information for each event you registered for. If you do not receive a confirmation email in 15 minutes, please email support.