IT WORKSHOP

Timings: Mo: 2:30PM-5:30PM

TA: Salman and Padma


Tentative Course Schedule may be consulted to understand the contents of the course and the tentative plan for covering them.


Evaluation Policy

The lab assignments given across the semester will be counted as one minor for a total of 40 marks. There will be two minors and the best of them will be taken for a total of 20 marks.


Command Line Interface (CLI) versus Graphical User Interface(GUI)


Submission Policy

Whenever you submit the soft copies of your assignments, please do the following and be very sure to follow the guidelines given here; otherwise, I shall NOT accept the submission:


Datafiles/Ebooks for Minors/Major


ASSIGNMENTS

  1. Practice Questions for Linux commands
  2. Assignment -- 1 on Linux commands

  3. Practice File for Basic Excel discussion.

    Practice File for Advanced Excel discussion.

  4. Assignment -- 2: Excel exercises
    1. Use the Marks file and find the total marks using the formula (bestof(minor1, minor2,average of all assignments)+major) and then the grade using the following formula:

      • Less than 40% : F
      • 40%-49%: D
      • 50%-54%: C
      • 55%-64%: B
      • 65%-70%: B+
      • 75%-80%: A
      • 80% and above: A+
    2. Use the file Amazon sales file and do the following:
      • Find the total revenue for each of the different types of product lines and draw a pie chart.
      • Find the revenue for books sold by only Amazon and not its affiliates.
      • Find the total number of items shipped and total revenue generated by third party.


  5. Assignment -- 3:
    1. Write an essay about a Woman Computer Scientist(s) or those who have contributed to Open Source Free Software using Latex. You MUST include photos, tables, enumerate, sections in the document. Make sure you use cross-reference to figures, tables and sections in the essay. Also, add the references section at the end of the essay using the citation capability of Latex. You must use the bib file for citations.
    2. Here is an Example pdf file with advanced Tables and Equations that you need to reproduce exactly.


  6. Assignment -- 4: Make a presentation about a Woman Computer Scientist(s) or those who have contributed to Open Source Free Software using beamer.

  7. Assignment -- 5: Do the following exercises using sed.
    1. Count the number of lines which are comment lines in /etc/bash.bashrc file. A comment line is that which starts with the character "#" which may be preceded by white space characters.
    2. Using the file /etc/hosts file in your system, write only the comment lines to a file called comments.txt, all lines that start with a digit to a file called ipv4.txt and all lines that start with "f" to the file called ipv6.txt.
    3. In the file passwd there are three columns separated by the character ":". Swap the second and third columns in the file using sed
    4. Pipe the output of the command "ls /etc" to a sed command so that only the lines containing the pattern "cron." followed by at least two letters only are printed, i.e., it does not print something like cron.d but prints other values such cron.daily etc. Use the \{ \} option of sed to do this exercise.
    5. In the Example file, replace the various versions of OpenFlow such as "openFlow", "Openflow", "openflow", "open flow" etc. with the right spelling of "OpenFlow" with a single regular expression.
    6. NOT FOR MARKS: Here is a website that has grep/awk/sed challenges for those who want to become Linux geeks!


  8. Assignment -- 6: Do the following exercises using awk.
    1. Repeat the exercises for amazon.ods file using awk. You will need to convert the ods file to a csv file first before you can use it with awk.
    2. Use the Marks file and compute the average of internal and major. Also compute the total number of students per grade.


  9. Assignment -- 7: Scripting Exercises

    1. Write a program called isyes that returns an exit status of 9 if its argument is "yes" and 1 otherwise. For purposes of this exercise, consider y, yes, Yes, YES and Y all to be valid "yes" arguments. Write the program using an if command and then rewrite it using a case command.
    2. List all files whose size is larger than a given size in a given directory.
    3. Check the disk usage of a user and print a message "WARNING: Disk usage exceeding quota value" where quota is the value given as a parameter and the user name is also a parameter to the script.
    4. Write a script that replaces all spaces in the file name with _.
    5. A script to walk through the files in the directory and compute the average of the values in the files. The output consists of one line per file with each line having the name of the file and average of the 2nd column.
    6. For every line in greedy-mds-800-150.out, paste the last two columns of the corresponding lines in ga-mds-800-150.out.
    7. Write a script that takes a directory name and a file extension as input and for all the files with that extension in that directory, prints the name of the file, its size, the number of lines in the file in descending order of the number of lines.
    8. Find all the files in which the string "printf" occurs in the directory /usr/include. Print only the unique file names in which this string occurs. At the end, print the number of files in which this string occurs.
    9. Write a shell script that takes a uid as an argument and prints out that person's name, home directory, shell and group number. Print out the name of the group corresponding to the group number, and other groups that person may belong to. (groups, awk, cut. Also look at /etc/passwd and /etc/groups).
    10. Given a process ID (PID) as input, write a script that checks whether the process is still running or not. (hint: use ps and sleep commands)


Introduction to Linux

We learn to use Linux command line for navigating and show how it is useful and fast as compared to GUI. Below are some links which are quite good to get to know Linux for beginners.


Introduction to Latex

Latex, written by Leslie Lamport is a typesetting tool rather than a text processor. It is built on top of Tex written by Donald Knuth.


Introduction to Beamer

Beamer is a presentation Latex document class that allows one to develop presentations like Microsoft Powerpoint. There are many themes that are already built into Beamer that give different look and feel. They also have interesting features such as being able to go directly to one section/slide of your presentation by having links at the top of the slide in some themes.

You can use different Color Themes by using the command \usecolortheme{albatross} or \usecolortheme{crane} etc. You can also specify with colors as an option to the color theme as follows: \usecolortheme[RGB={128,64,128}]{structure}

Here is an Example References frame for Beamer


Introduction to MS-EXCEL

This is the data set we will use for Excel related labs. For the purpose of the following assignments, assume the following:

The internal marks are to be computed as follows: Internal = bestOf(minor1, minor2)+AverageOf(assign1, assign2, assign3)+Seminar. Total = Internal+Major. Grades are given as follows:

Understanding how to use Complex Equations

We will understand how to use complex equations to compute required results from raw data. For this purpose, we shall compute the internal marks out of the related marks of the given data set, then, the total and the grades for each person. The grade is computed as per the table given above.

Help for Nested If Functions

Understanding how to use VLOOKUP function

Instead of using a complex equation to compute the grade, we will use VLOOKUP for grade computation.

VLOOKUP function help

Excel Vlookup Function and VLookup Example

Using Excel VLookup

Understanding how to use charts in Excel

Draw a bar chart of how many students are in each grade. Then, plot a curve out of it.

Help for Charts in Excel

Charts in LibreOffice

Understanding how to use Filters in Excel

Display data of only those students who match a certain grade - such as all B grade students etc. This can be done by using filters.

Help for Filters in Excel

Applying Filters in LibreOffice

Applying Advanced Filters

Understanding how to use Pivot Tables

We will understand how to use pivot tables in this section. In the first link below, there is an Example data set which we will use to do the exercises specified there. Then, we will generate the grade distribution from our own data set using pivot tables. In the earlier class, we had used the frequency function and set up the data in a way that can be used for generating bar and pie charts. We will do the same with pivot tables and see that it is more easy with pivot tables.

Pivot Tables data file and exercises

Help for Pivot tables

Pivot tables in LibreOffice

Using Pivot Tables to count values


Introduction to OODRAW/Xfig

In this part of the lab course, we will learn how to draw pictures, export them to .eps or other formats and include them in .doc/.ppt/.tex files.

The complete OODRAW guide

LibreOffice draw fundamentals

Xfig User Manual

Download and use the free shapes in the link below and re-create the Example Figure using OpenOffice.

Free Shapes for OpenOffice Draw

Draw the following figures in either Xfig or OODRAW:


Basic Shell Scripting

Some of the scripts demonstrated are given below:

Following are the links to scripting tutorials that may be of use:


Introduction to HTML and CSS

You need to create your own personal home page on the DCIS web server. For this, you need to create a directory "public_html" and under this create a file called "index.html" that contains the basic information. You can also use Cascading Style Sheets (CSS) to create more complex pages easily.