🚀 Conquer BPTs in 10 Simple Steps:


So, you’ve started your journey in the IIT Madras BS in Data Science & Applications program, and now the BPTs — Biweekly Practice Tests — are here.
You open the announcement that says:
“Submit your solutions via SSH…”
And you're like,
“Wait, what? I just learned
cd
yesterday. What’schmod
now?!”
Take a breath — you’re not alone.
This guide will walk you through everything you need to know to crack your BPT submissions confidently in 10 beginner-friendly steps. Whether you're new to the terminal or just need a refresher, you’re covered.
💡 What is a BPT?
BPT = Biweekly Practice Test
They’re not full-fledged exams, but they test your understanding regularly. Most BPTs involve writing small bash scripts or commands using tools like grep
, awk
, cut
, etc.
🛠 Step 0: Open Command Prompt (CMD)
On Windows:
Press
Win + R
, typecmd
, and press enter.Alternatively, use Git Bash or WSL if you're comfortable.
This is where the magic begins.
🔐 Step 1: Login via SSH
Type this command:
ssh iitm_roll_no@se2001.ds.study.iitm.ac.in
🔁 Example:
ssh 24f200XXXX@se2001.ds.study.iitm.ac.in
Enter your password (If asked only)(shared via Moodle/email). You'll see:
Last login: Fri May 23 13:28:42 2025 from 194.XXX.XXX.XX
🎉 Boom — you’re inside the IITM server!
📁 Step 2: Navigate to the Question Directory
cd /opt/se2001
ls
You’ll find folders like:
BPT1_problem_1 BPT1_problem_2 BPT1_problem_3 BPT1_problem_4
This is the “question bank” for your current BPT set.
📦 Step 3: Create Your Personal Workspaces
Make a folder for each problem:
cd ~
mkdir BPT1_problem_1 BPT1_problem_2 BPT1_problem_3 BPT1_problem_4
This keeps your solutions organized and separate from the system files.
🧩 Step 4: Start Solving a Problem
Jump into your workspace:
cd BPT1_problem_1
You’re now ready to read the problem and start working on it.
📝 Step 5: Read the Problem Statement
Use this command:
synchro show
Use arrows or space
to scroll. Press q
to quit if the content is long.
🔍 Real example: One of my BPTs asked to filter rows where the age is numeric from a CSV — not complicated, but easy to misinterpret if you skim!
✍️ Step 6: Write Your Script
Use the built-in editor:
nano script.sh
Type your solution script. To save and exit:
Ctrl + O
→ SaveEnter
→ Confirm filenameCtrl + X
→ Exit
✨ You can test locally first and paste here — just make sure it's UNIX-style (
LF
) line endings, not Windows (CRLF
).
🔒 Step 7: Make the Script Executable
Before running it, give permission:
chmod +x script.sh
This lets the server “run” your script.
🧪 Step 8: Evaluate Your Solution
Let’s test it!
synchro eval
You’ll see:
✅ Test Case 1 Passed
❌ Test Case 2 Failed
💡 Debug, tweak, and re-evaluate until you pass all test cases. It’s perfectly okay if it takes a few tries.
🔁 Step 9: Move to the Next Problem
After solving one:
cd ..
cd BPT1_problem_2
Repeat the process. Each BPT usually has 3–4 problems, so pace yourself well.
✅ Summary: The 10-Step Cycle
Step | What You Do |
0 | Open CMD |
1 | SSH login |
2 | Navigate to /opt/se2001 |
3 | Create workspace folders |
4 | cd into one of them |
5 | View question with synchro show |
6 | Write script.sh using nano |
7 | Make executable via chmod +x |
8 | Run synchro eval |
9 | Repeat for other problems |
📚 Bonus Tips for Shell Success
Use
cat
,head
,tail
, andgrep
to explore test files.Practice
awk
,cut
,sort
, anduniq
on local dummy data.Try commands in small parts first:
head -n 10 sample.csv | grep "Age"
🧠 Example
In BPT1, I had a problem where I had to remove all rows in a CSV where age wasn’t numeric. I overcomplicated it with awk
filters. But all it needed was a simple grep
with regex:
grep -E '^[^,]*,[0-9]+$' file.csv
The lesson? Don’t panic, simplify. Break the problem into what you need to extract, and what you need to ignore.
🙏 Final Disclaimer
This blog is written purely from my personal experience in the IIT Madras BS program. It does not share any confidential exam content. The goal is to help new students get comfortable with the terminal and submission process while maintaining academic integrity.
💬 Want More?
If you’d like:
a cheat sheet for commonly used BPT shell commands, or
a blog on how to practice locally with test files before evaluation
Drop a comment or message me on GitHub or Linkedin. Let’s make terminal learning friendly and fun ✌️
Subscribe to my newsletter
Read articles from Alok Gupta directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Alok Gupta
Alok Gupta
I’m an aspiring web developer keen on learning new things. I’m dedicated to keeping up to date with the latest stuffs in web development. I always lookout for chances to grow and learn. When I’m not coding, I enjoy reading about India’s fascinating history. It helps satisfy my curiosity and teaches me about the diverse India.