Shell Programming - A necessity for all programmers

Educational Services for Outreach at Scale (ESOS)


February 14th, 2022 to May 31st, 2022

Course Content Teaching Faculty Duration and Venue
Who Should Attend Course Fee and Certification How to Apply
Note Address For Communication

click here to download the brochure

click here to download the Schedule

Help-line Contacts

Instructions for Enrolling in the Course

Registration Closed List of participants

Help us spread -    

Programme Overview

Various programming languages have gained popularity since 1970. Starting with Assembly, C, C++, and moving towards Java, Python, and finally building of backend and frontend frameworks, all of these became popular and were or getting replaced with some other language or framework. Shell programming (scripting) is the only programming language that has been popular and the choice of programmers, testers, system administrators, etc., from 1970 to date (21st century). Even today, all of us rely heavily on shell programming or its variants for our day to day tasks, configuring software environments, and software automation. 

Scripting is a vehicle to automate and it is ubiquitous in any small to large scale software development. Apart from programming, various phases of software development include unit testing, producing software builds, configuration, integration testing, etc. In all these phases (from development to production), automation is an essential key to faster delivery, hence, having less waiting time. This course will introduce you to the programming aspects of the most popular Linux shell, which has been used for the last 50 years, older than any programming language that you have heard of. 

Participants taking this course will be able to use the terminal (shell commands) with confidence, thus, increasing their productivity and saving effort in performing tedious and redundant tasks.

Course content

The topics covered in this course:

  • Write shell scripts
  • Handle text, files, and directories
  • Handle input/output
  • Changing file ownership and permissions
  • Handle processes
  • Substitutions: filename, variable command, and arithmetic
  • Conditional statement, loops,
  • Functions
  • Grep: Text filters and regular expressions
  • Shell tools: find, sed, lsof, curl, wget, ssh
  • Introduction to awk scripts
  • Other Utilities

Teaching Faculty

Mr. Nagesh Karmali, Sr. Manager (Research), Department of Computer Science and Engineering,  IIT Bombay

Ms. Firuza Karmali (Aibara), Project Manager, Department of Computer Science and Engineering,  IIT Bombay

Duration and Venue

Registration Opens

February 7, 2022

Registration Ends

April 30, 2022

Course Starts

February 14, 2022

Course Ends

May 31, 2022

Total Duration

4 Weeks

This course will be conducted in a self-paced mode, i.e. all the lecture videos, slides, reading materials, activities, and graded assignments will be released on when the course starts. This gives you the flexibility of progressing and completing the graded assignments at your own pace. However, but one would need to complete them before the course ends.

Who Should Attend

There are no prerequisites for this course, except basic use of any Operating System (Windows, or Linux, or Mac)

Course Fee and Certification

The registration fee for the course is Rs. 650/-

Important payment instructions:

Please note that the registration fee once paid is neither refundable nor adjustable under any circumstances.

While making a payment for the course,

(i) If you receive a transaction failure message and your amount is NOT debited, please pay again by logging in to IITBombayX-LAKSHYA programme(https://www.it.iitb.ac.in/lakshya) website.

(ii) If your amount is debited and you still receive a transaction failure message, please DO NOT make another payment. Send a mail to workshopfund@cse.iitb.ac.in with cc to Eoutreach eoutreach@cse.iitb.ac.in with a subject "Transaction failure but amount debited". Also, provide the transaction details in the mail. You will soon receive a reply from us on the same.

Honor Code Certificates will be issued on successful completion of the course based on the grading policy mentioned in the course. Please note that all e-certificates will be issued online after course ends on 31 May 2022. No hard copies will be given.

How to Apply

Enrollment will be strictly online, and no other mode of application will be entertained. The online registration is available from 07 February 2022 till 30 April 2022.

Course registration steps for the IITBombayX-Lakshya portal: 

  • Once you select the course of your interest from the homepage. A page will open where Click on the link “Click here for registration form” to get enrolled for this course.
  • You will be prompted to enter your email address.
    • If you have already registered in our earlier courses: Use your existing email id and password to get enrolled.
    • If you are here for the first time: A form will open where you have to enter the OTP (received in the entered email), password and other required details and press SUBMIT button (for your account creation).
  • You will be routed to Registration form of this course and select your appropriate ‘Audience type’, (if not selected earlier) and Press on ‘Pay Now’ button.
  • Once the payment is successful , you will receive an automated email. Also, your name will be listed in the ‘List of Participants’ page in Course page.
  • Register on IITBombayX site (https://courses.iitbombayx.in/register) using the same email id to access the course content (if already registered in IITBombayX site with same email, then you may skip this step).
  • You will be mapped in IITBombayX of this course within 2 to 3 working days.
  • You will be able to access the course in your IITBombayX dashboard after login.

Note

The course content is released under Open Source License. All participants must agree that the content contributed by them in any form, (assignments, questions, etc.) would be released under Open Source Licence, by accepting the terms mentioned under ‘No Objection Certificate’. All contributors will be acknowledged.

Address For Communication

Prof. Bhaskaran Raman (Principal Investigator)
Department of CSE, Kanwal Rekhi Building,
Indian Institute of Technology Bombay,
Mumbai - 400 076.
Email: eoutreach@cse.iitb.ac.in
Website - www.it.iitb.ac.in/lakshya/ www.iitbombayx.in



top