Loading…
Loading the batch slots…IIT Indore · Autumn 2026
Programming Laboratory.
Everything needed to enter the CITC lab, set up the assigned computer, find your assignment repository, and test C++ code before you submit it.
Batch timetable
Autumn 2026 lab schedule.
Loading the twelve regular labs and final examination dates from the course schedule.
The schedule is tentative. A scheduled lab is dropped whenever the lectures have not reached the required material, and whenever the institute holiday schedule takes the slot. Treat every date below as planned rather than fixed, and follow the announcements for the week.
| Loading batch dates… |
- ··Loading…
The course data records institute breaks and timetable exceptions. Official announcements supersede this schedule.
Before coding
Set up the lab computer safely.
Check off each step as you complete it. This checklist is stored only in a first-party cookie in this browser.
Submission workflow
Find your assignment repository.
The assignment portal builds the GitHub address from your assignment, lab batch, and roll number. It only constructs a link and stores no roster data — GitHub permissions protect the private repository.
Open the IC151 assignment portal
- 01Sign in to GitHub
Use the account whose username you submitted on the registration form, not a second personal account.
- 02Accept the repository invitation
GitHub emails it to you, and it also waits at github.com/notifications. A 404 means your account has no access yet, or the invitation is still pending.
- 03Fill in the portal
Choose the assignment named in the course announcement, select your lab batch, and enter your roll number exactly as issued. Surrounding spaces are ignored.
- 04Open the generated repository
Every repository lives in the
IC151Jul2026organization and is namedassignment-batch-roll, for examplehelloworld-A2-260000000.
Option A · straight on GitHub
Edit straight on GitHub.
- Open
main.cppin your repository and click the pencil. - Replace
REPLACE_WITH_YOUR_ROLL_NUMBERwith your roll number, and make any other change the assignment asks for. - Keep the branch as
mainand press “Commit changes”.
Your edit is committed the moment you press the green button, so this submits your work by itself.
Option B · check on your machine
Download, check, upload.
- Click “Code”, then “Download ZIP”. Unzip it and keep the folder name exactly as it is.
- Edit
main.cppin any editor, then compile, run, and check it in a terminal — the commands are below. - Back on the repository page, choose “Add file” → “Upload files”.
- Drag in your edited
main.cpp, leave “Commit directly to themainbranch” selected, and press “Commit changes”.
Confirm the submission
Editing locally submits nothing.
After committing, open main.cpp on GitHub and confirm your own code is there.
The last commit on main at the deadline is what gets graded. A file that exists only on your laptop is not a submission.
Seeing a 404?
Work through these in order.
- Wrong account. Check the avatar in GitHub’s top-right corner. If it is not the account you registered, sign out and back in with the right one.
- Invitation not accepted. Open github.com/notifications or the invitation email, then accept.
- Wrong or misspelled username on the form. Submit the registration form again with the correct username; your latest response replaces the earlier one, and access is fixed in the next update.
- Not released yet. Repositories are created batch by batch, so the link 404s until your lab batch is released.
GitHub shows the same 404 whether the repository is missing or you simply cannot see it. Still stuck? Contact your lab TA with your roll number and your GitHub username.
Run before committing
Compile and check with g++.
Every repository ships a check.sh that reads your roll number from the folder name, so do not rename the unzipped folder. The chmod line is needed once, because unzipping removes the executable bit.
# go into the folder you unzipped
# (tip: drag the folder onto the terminal window)
cd ~/Downloads/helloworld-A2-260000000-main
# compile it and run it yourself
g++ -std=c++17 -Wall -Wextra -pedantic main.cpp -o main
./main
# 260000000
# run the official check
chmod +x check.sh
./check.sh
# PASS: output contains roll number 260000000
# same flags, .exe output
g++ -std=c++17 -Wall -Wextra -pedantic main.cpp -o main.exe
main.exe
# check.sh is a shell script:
# run it from WSL or Git Bash
A FAIL: line means the program did not print what the assignment expects — fix main.cpp and run ./check.sh again. If g++ is not found, install the compiler for your system first.
Terminal reference
Basic Linux commands.
Use these to inspect and move through files without guessing where your program is.
pwdShow the current folder.lsList files in the current folder.cd folderEnter a folder.cd ..Move to the parent folder.mkdir nameCreate a folder.cp from toCopy a file.mv from toMove or rename a file.clearClear the terminal display.Before leaving
Leave no account behind.
- Log out of Gmail and GitHub.
- Confirm that the browser saved no passwords.
- Remember your passwords for the next lab.
- Ask a TA when blocked; help nearby classmates after completing your own setup.
- Expect a second assignment during the lab and follow the same workflow.