IITM BS System Commands (BSSE2001): Syllabus and Tips
By Editorial TeamLast reviewed
5 min readData ScienceOn this page
System Commands (BSSE2001) is a 3 credit diploma level course in the IITM BS Data Science programme. It teaches you to use a Linux computer from the command line: files, permissions, processes, shell scripts, text tools like awk and sed, networking basics and Git. It has no prerequisite. It is one of the six theory courses in the Diploma in Programming.
| Code | Credits | Level | Prerequisites |
|---|---|---|---|
| BSSE2001 | 3 | Diploma | None |
The instructor is Prof. Gandham Phanikumar of the Department of Metallurgical and Materials Engineering, IIT Madras.
What you learn
The course runs for 8 weeks, and each week is packed.
Weeks 1 to 3: Living in the Linux terminal
You set up Linux and get used to the command line. You use commands to learn about your machine's hardware, operating system and installed packages, and you install software with apt. Then come file types and file permissions, in both symbolic and number form. You also work with environment and shell variables such as PATH, and with hard and soft links. Week 3 ends with the root file system, running processes and logging in to a remote machine.
Weeks 4 and 5: Pipes, patterns and shell scripts
You join commands with pipes and redirection, and search text with regular expressions using egrep. You learn the find command and the command line editors nano, vi and emacs. Then you write Bash scripts with variables, command line arguments, if and else, loops and functions. Week 5 ends with scheduling tasks that run at startup or repeat on a timer.
Week 6: Text processing with awk and sed
This week is about processing data files line by line. You use awk to compute statistics from a data file and as a small programming language. Then sed, for find and replace with patterns.
Weeks 7 and 8: Build tools, networks and Git
Week 7 covers make and file archive tools such as tar, zip and gzip. It also covers networking ideas: IP addresses, localhost, ports, DNS and network checks. You also script a small log analysis tool. Week 8 introduces RAID, then Git: branches, forks, pull requests, access tokens, and how a team works together on a shared repository.
How it is assessed
The course page lists 8 weeks of coursework, weekly online assignments, 2 in-person invigilated quizzes and 1 in-person invigilated end term exam. See how Quiz 1 and Quiz 2 work for the general rules.
Where it counts
System Commands is a required theory course in the Diploma in Programming, along with DBMS, PDSA, Java, MAD 1 and MAD 2. The handbook says those six courses carry 23 credits together, but it does not list each one's credits. The 3 credits here come from the course page.
What you need on your laptop
The handbook says the course is taught mainly on Ubuntu 20.04. If your computer runs Windows or macOS, you need dual boot or a virtual machine such as VirtualBox. Set this up before the term starts, not in week 1. The laptop requirements post has the full list.
Who finds it hard
- Students who have only used Windows with a mouse. Typing every action feels slow at first.
- Students who read commands but never type them. The syntax of regex, awk and sed slips away quickly without practice.
- Students who fall behind in week 1. Setting up Linux late costs you the time you need for scripting weeks.
How to prepare
- Install Ubuntu a week before the term and use its terminal every day for small tasks: making folders, moving files, reading logs.
- Keep your own cheat sheet. Add each new command with one example you ran yourself.
- For regex, awk and sed, guess the output before you press Enter. If you can predict it, you really understand the command.
- Write small scripts for your own life, such as one that renames a folder of photos or counts words in your notes.
- Put every practice script in a Git repository from the start. By week 8, Git will already feel normal.
What to take before and after
There is no prerequisite. The command line and Git skills help directly in the MAD 1 and MAD 2 projects and in Tools in Data Science (BSSE2002). At the degree level, Operating Systems (BSCS4022) goes deeper into how the system works underneath.
Common questions
Can I do System Commands on a Mac?
The handbook says the course is taught mainly on Ubuntu 20.04. A Mac terminal has many similar commands, but some behave differently, so a Linux virtual machine is the safer choice.
Is System Commands needed for the Diploma in Data Science?
No. It belongs to the Diploma in Programming. You need it only if you plan to finish that diploma, which is also required to move to the BSc level.
Is there an OPPE in System Commands?
The course page does not list an OPPE. It lists weekly assignments, two in-person quizzes and one in-person end term exam.
Do I need Linux experience before I start?
No. The course has no prerequisite, and week 1 starts with an introduction to GNU/Linux and how to set it up. Having Ubuntu ready before the term simply gives you more practice time.
28 System Commands handwritten and PDF notes by students
Official sources
Read next
- IITM BS Business Data Management (BSMS2001): Syllabus and Tips
- IITM BS Machine Learning Practice (BSCS2008): Syllabus and Tips
- IITM BS Machine Learning Techniques (BSCS2007): Syllabus and Tips
- IITM BS MAD 2 Project (BSCS2006P): Scope and Tips
- IITM BS Modern Application Development II (BSCS2006): Syllabus and Tips
- IITM BS BSCS2002: Programming, Data Structures and Algorithms using Python