Resume, Portfolio & GitHub Profile Module 4 – Tailoring and your situation
Fresher resumes for campus hiring in India
How to build a one-page fresher resume for campus hiring in India: education and projects first, honest CGPA and backlogs, and campus forms kept apart.
What you will learn
- Build a one-page fresher resume from coursework, projects, internships and activities
- Follow placement-cell rules and fill campus forms apart from your resume
- Present CGPA, backlogs and breaks in study honestly on the form and the page
- Write positions of responsibility and achievements as results someone can check
- Choose no-fee student programmes and walk away from paid promises of a job
Before you start
What you’ll learn · Before you start
What you will learn
- Build a one-page fresher resume from coursework, projects, internships and activities
- Follow placement-cell rules and fill campus forms apart from your resume
- Present CGPA, backlogs and breaks in study honestly on the form and the page
- Write positions of responsibility and achievements as results someone can check
- Choose no-fee student programmes and walk away from paid promises of a job
Before you start
On this page
Ananya Rao, an invented final-year B.Tech student in electronics and communication, has three projects, one internship and a CGPA of 7.9. Her first draft opened with a career objective and ended with her date of birth, her father’s name and a declaration, and it passed 3 of the 7 checks of this lesson.
This lesson rebuilds it as a one-page fresher resume for campus hiring. You will order the sections a fresher needs, keep the campus form apart from the resume, and choose help that charges nothing over programmes that promise a job.
A fresher’s page leads with education and projects
Without years of work to show, a fresher is read for evidence of what they can do. Google’s hiring page asks people with little work experience for projects or coursework from their studies that show the skills a role needs, MIT’s careers office says to stick to one page, and the UK’s National Careers Service suggests that a first CV focus on skills learned through projects, work experience or volunteering. A fresher’s page therefore runs, in MySmartCoPilot’s suggested order:
- Education, with three or four courses the posting would value;
- Projects, two to four, each with a link and a result;
- Internships, with what you built and what changed;
- Achievements and positions of responsibility, each with a number or an outcome;
- Skills, only those a line above shows.
The program checks Ananya’s first draft and her rebuilt page against this lesson’s checklist. Press Edit and paste
your own resume into MINE:
# Checks a fresher's resume, written as plain text, against the checklist of this lesson: the sections a fresher's page
# needs, a contact block, at least two projects with links, a CGPA with its scale, no objective paragraph, none of the
# biodata lines that belong on a form, and an estimate of whether it fits one page. Ananya is an invented final-year
# B.Tech (ECE) student; her first draft and her one-page resume are below. The page estimate counts printed lines at
# about 95 characters a line and allows 52, a rough model of a single column at 10 to 11 pt (check the PDF itself).
# The checklist is MySmartCoPilot guidance. Press Edit, paste your own resume into MINE, and run it again.
import math
import re
DRAFT = """\
RESUME
Career Objective
To work in a reputed organisation where I can utilise my skills and grow with the company.
Ananya Rao
ananya.rao@example.com | +91 01234 56789
Education
B.Tech. Electronics and Communication Engineering, Example College of Engineering, 2023-2027, CGPA 7.9
Projects
Water tank level monitor
Traffic sign classifier
Skills
C, Python, Verilog, MATLAB, Arduino, MS Office, teamwork, hard work
Personal Details
Date of Birth: 14-08-2005
Father's Name: Example Rao
Religion: Example
Languages Known: English, Hindi, Telugu
Declaration
I hereby declare that the above information is true to the best of my knowledge.
"""
FINAL = """\
Ananya Rao
Pune | +91 01234 56789 | ananya.rao@example.com | github.com/ananya-rao-example
Education
B.Tech. Electronics and Communication Engineering, Example College of Engineering, 2023-2027 (expected)
CGPA 7.9/10 | Coursework: Digital Signal Processing, Embedded Systems, VLSI Design, Computer Networks
Projects
Water tank level monitor (ESP32, MQTT) | github.com/ananya-rao-example/tank-monitor
- Alerts the hostel warden's phone when a tank falls below 20 %; dry-tap complaints fell from 9 to 2 a month.
Traffic sign classifier (Python, TensorFlow Lite, Raspberry Pi) | github.com/ananya-rao-example/sign-classifier
- Classifies 43 kinds of sign at 91 % accuracy on 1,200 held-out images, at 8 frames a second.
UART controller on an FPGA (Verilog) | github.com/ananya-rao-example/fpga-uart
- Passes all 40 cases of its testbench at 115,200 baud.
Internship
Embedded Systems Intern, Example Automation, Pune, 2026
- Wrote C drivers for a temperature sensor board; calibration fell from 25 to 10 minutes a board.
Achievements
- Finalist, Example State Hackathon: one of 12 teams from 340 in the final round.
Positions of Responsibility
- Sponsorship lead, college technical fest: 6 sponsors, 40 % more than the year before.
- Organised two Arduino workshops for 85 first-year students; 70 built a working circuit.
Skills
C, Python, Verilog, MATLAB, ESP32, Raspberry Pi, Git, Linux
"""
MINE = "" # paste your own resume here, as plain text
SECTIONS = ("Education", "Projects", "Skills")
BIODATA = ("date of birth", "father's name", "mother's name", "religion", "caste", "marital status", "nationality",
"declaration", "i hereby declare")
def checklist(text):
lines = [line.strip() for line in text.splitlines() if line.strip()]
lower = [line.lower() for line in lines]
project_links = sum(1 for line in lines if re.search(r"github\.com/[\w-]+/[\w-]+", line))
printed = sum(math.ceil(len(line) / 95) for line in lines) + len(lines) // 6
return [
("sections", all(any(line == s for line in lines) for s in SECTIONS), "Education, Projects and Skills headings"),
("contact", bool(re.search(r"@", text)) and bool(re.search(r"\+?\d[\d ]{8,}", text)), "an e-mail and a phone"),
("projects with links", project_links >= 2, f"at least 2; {project_links} found"),
("CGPA with its scale", bool(re.search(r"CGPA \d+(\.\d+)?/10", text)), "a CGPA such as 7.9/10"),
("no objective", not any("objective" in line for line in lower), "no objective paragraph"),
("no biodata", not any(b in line for line in lower for b in BIODATA), "no line that belongs on a form"),
("one page", printed <= 52, f"at most 52 printed lines; about {printed}"),
]
for name, text in (("Ananya's first draft", DRAFT), ("Ananya's one-page resume", FINAL), ("Your resume", MINE)):
if not text.strip():
continue
results = checklist(text)
print(f"{name}: {sum(ok for _, ok, _ in results)} of {len(results)} checks pass")
for check, ok, detail in results:
print(f" {'pass' if ok else 'FAIL'} {check:<22}{detail}")
print() Output
Ananya's first draft: 3 of 7 checks pass pass sections Education, Projects and Skills headings pass contact an e-mail and a phone FAIL projects with links at least 2; 0 found FAIL CGPA with its scale a CGPA such as 7.9/10 FAIL no objective no objective paragraph FAIL no biodata no line that belongs on a form pass one page at most 52 printed lines; about 23 Ananya's one-page resume: 7 of 7 checks pass pass sections Education, Projects and Skills headings pass contact an e-mail and a phone pass projects with links at least 2; 3 found pass CGPA with its scale a CGPA such as 7.9/10 pass no objective no objective paragraph pass no biodata no line that belongs on a form pass one page at most 52 printed lines; about 30
Recorded with Python 3.14.8 on macOS 26 arm64. To run it yourself: mise exec python@3.14.8 -- python3 fresher_check.py
Runs on this device, in your browser. The first run downloads Python (about 13.5 MB), which is kept for the next runs.
Your run, in this browser
The draft failed four checks: no project links, a CGPA without its scale, an objective, and biodata lines. The page passes all seven, at about 30 printed lines.
Checkpoint
Check: What a fresher's page holds
The campus form and the resume are two documents
Campus hiring adds a document before the resume: the placement cell: The office of a college that runs campus hiring: it collects students' forms, checks each company's eligibility rules and arranges the tests and interviews.’s form. It carries what the cell checks against each company’s rules, such as marks, backlog: A course a student has failed and has still to pass, or once failed and later cleared. Campus forms often ask for active backlogs and for every backlog ever. and gaps, and it is filled exactly as your records state it. The resume carries the evidence a recruiter reads. Some portals merge the two: Superset’s student page shows a profile with a college-verified CGPA and a resume builder that exports it as a PDF. Step through one application:
The drawing shows the whole scene; its 6 steps are listed below.
Every step as text
- The form. Ananya fills the placement cell's form with her record exactly as her marksheets and college records state it: CGPA 7.9, class 10 and 12 marks, no active backlog, one cleared, and a year's gap.
- The cut-off check. Before any recruiter sees her resume, the cell compares the form with the company's rules: a minimum CGPA, marks in class 10 and 12, and no active backlogs.
- A rule she does not meet. For a company that asks for a CGPA of 8.0, her 7.9 is a no. The form is checked against college records, so rounding it up would not pass for long; she spends her effort where she is eligible.
- The resume passed on. Where she is eligible, her one-page resume goes to the company, in the cell's template if it prescribes one. Some portals build it from the profile instead.
- The shortlist. Recruiters read many resumes for one visit, so the first lines decide. Her projects with links and results, and her internship, carry the page.
- The rounds. Tests and interviews follow, and interviewers ask about the lines of the resume: what the tank monitor did, what her part was, how she measured it.
Two rules follow, both MySmartCoPilot guidance. Fill every form field exactly, because the cell can check it. And when the cell prescribes a template or a format, use it: its rule comes before any advice here, this lesson’s included.
Not affiliated
Based on public information about Superset and GitHub. MySmartCoPilot is not affiliated with Superset and GitHub, and Superset and GitHub’s real products and rules may differ from what this lesson describes.
Checkpoint
Check: The campus form and the resume
Help that charges nothing, and promises to walk away from
Some of the most useful help for students costs nothing, and the costliest often promises what no one can:
| Offer | What its own pages say | Your move |
|---|---|---|
| GitHub Education | Open to students at least 13 years old in a degree- or diploma-granting programme, with proof of status | Apply with proof of student status, and your college e-mail if asked |
| National Career Service | It “does not charge any fee at any stage of registration, job application, or interview processing” | Register and apply at no cost |
| A course that promises a job | India’s 2024 coaching guidelines call false claims of selection or job security misleading | Ask for written terms, and walk away from promises |
The National Career Service adds that jobseekers should not pay fees to employers, so a request for money to process an application is a warning sign.
Checkpoint
Check: Help that charges nothing
CGPA, backlogs and a gap year, from the form to the page Pro: opens with a Pro, Premium or Ultimate pass
A campus record has numbers a form must state exactly and a resume may leave out. This part runs one record against four companies’ rules and settles what goes where.
In this part:
- Eligibility against four companies’ rules, worked
- Backlogs and a gap, in one honest sentence each
- Missing a cut-off by 0.1
1 runnable example (Python) · about 4 minutes
Opening this part with your pass…
This part opens with any MySmartCoPilot pass.
- Pro pass · 1 week₹79$2.99
- 30 days₹179$5.99
- 1 year₹1,699$45
One payment; a pass never renews. The price shown is the total you pay: no fees or charges are added at checkout.
Passes can’t be bought right now, so this part can’t be opened at the moment. The free part above stands on its own. If you have a pass, enter your licence key.
It also opens every other in-depth part in Learn and every Pro tool. Sales are final, except where the law gives you a right to withdraw, for example in the EU and the UK (refund policy).
Projects, responsibilities and achievements, rewritten as results Pro: opens with a Pro, Premium or Ultimate pass
Activities fill much of a fresher’s page, and most first drafts name them without saying what they achieved. This part rewrites four of them against three rules and lays out Ananya’s finished page, section by section.
In this part:
- Four activity lines rewritten, checked against three rules
- Projects a recruiter can check in two minutes
- Achievements: what you won, among how many
- Ananya’s page, section by section
1 runnable example (Python) · about 4 minutes
Opening this part with your pass…Pro part. It opens with the same pass as the part above.
Practise: take the form’s lines off a resume
Many drafts carry biodata lines that belong on a form. Write the function that finds them; the sample tests use Ananya’s first draft:
Exercise · Easy · Python
Find the lines that belong on a form, not the resume
Many first drafts carry lines from a biodata: an objective, a date of birth, a father's name, a declaration. They belong on a form that asks for them, or nowhere. Write form_only(lines) in form_only.py: given the lines of a resume, return the numbers (counting from 0) of the lines to take off it, in order.
A line is taken off when, ignoring letter case,
- it starts with a field label for a personal detail:
Date of Birth,DOB,Father's Name,Mother's Name,Religion,Caste,Marital Status,NationalityorGender, followed by a colon; - it is an objective: a heading
ObjectiveorCareer Objective, and the line straight after such a heading; - it is a declaration: a heading
Declaration, or a line that starts withI hereby declare.
Everything else stays, including Languages Known, which some roles ask about, and words such as "objective" in the middle of a line ("Built an objective test suite"). The sample tests use Ananya's first draft from this lesson and the edge cases above.
Starter code · form_only.py
def form_only(lines):
"""The numbers of the lines to take off a resume, in order: personal-detail fields, objectives, declarations."""
# Replace this comment and the line below with the rules of the prompt.
return [] The sample tests · test_form_only.py
from form_only import form_only
DRAFT = [
"RESUME",
"Career Objective",
"To work in a reputed organisation where I can utilise my skills and grow with the company.",
"Ananya Rao",
"ananya.rao@example.com | +91 01234 56789",
"Education",
"B.Tech. Electronics and Communication Engineering, Example College of Engineering, 2023-2027, CGPA 7.9",
"Personal Details",
"Date of Birth: 14-08-2005",
"Father's Name: Example Rao",
"Religion: Example",
"Languages Known: English, Hindi, Telugu",
"Declaration",
"I hereby declare that the above information is true to the best of my knowledge.",
]
def test_the_first_draft():
"""takes off the objective and its line, three personal fields and the declaration"""
assert form_only(DRAFT) == [1, 2, 8, 9, 10, 12, 13]
def test_letter_case_and_spaces():
"""ignores letter case and spaces around a line"""
lines = [" DOB: 2005", "marital status: single", "OBJECTIVE", "To learn.", "Skills"]
assert form_only(lines) == [0, 1, 2, 3]
def test_words_in_the_middle_stay():
"""keeps a line that only mentions objective, religion or gender, without a field's colon"""
lines = ["Built an objective test suite for 40 cases.", "Volunteered at a religion and culture exhibition.",
"Gender equality club: organised two talks for 120 students."]
assert form_only(lines) == []
def test_languages_known_stays():
"""keeps Languages Known and every other line"""
assert form_only(["Languages Known: English, Tamil", "Skills", "C, Python"]) == []
def test_nothing_after_a_last_heading():
"""handles an objective heading on the last line"""
assert form_only(["Projects", "Objective"]) == [1] A hint
Lower-case each line and strip it once, then test it against three small lists: the field labels (each followed by :), the objective headings and the declaration heading. Keep a flag that says the line before was an objective heading, so that the line after it is taken off too.
Results of the sample tests
| Test | Result | Details |
|---|
What your code printed
The sample tests run on this device, in your browser (Pyodide): nothing is sent to mysmartcopilot.com. The first run downloads Python (about 13.5 MB), which is kept for the next runs. A check in your browser is feedback for you, not proof that the code is right for every input.
Then test yourself on the fresher’s page, the campus form and the help worth using; each round begins with your weakest of the three:
Practice that adapts to you
Practise this lesson
6 questions about 5 ideas of this lesson. Each answer is explained at once, and what you get right is kept in this browser.
Interview questions
Warm-up (fresher): What goes on a fresher’s resume when you have no work experience?
Evidence that I can do the work: two to four projects, each with a link and a result, internships if I have them, relevant coursework, and achievements and responsibilities with numbers. Education goes first with the CGPA on its scale. Personal details, an objective and a declaration stay off; a form asks for them where needed.
Three questions of this module’s bank go further:
-
Fresher
Your campus form shows one backlog, cleared a semester later, and the interviewer asks about it. What do you say, and what does your resume show about it?
-
Fresher
A company's cut-off is a CGPA of 8.0, yours is 7.9, and a senior tells you that everyone rounds up on the form. What do you enter, and how do you still compete for roles like this one?
-
Fresher
A training company offers you a course with a "placement promise" if you pay a large fee before your final year. How do you judge the offer, and what would you use instead?
Flashcards · 7 cards
Recall it, then check
Say the answer to yourself before you look: recalling it is what makes it stick.
-
In what order does a fresher's one-page resume run?
Education with three or four courses the posting values; two to four projects, every one linked and with its result; internships; achievements and positions of responsibility with a number or an outcome; then only the skills a line above shows.
-
What stays off a fresher's resume although many drafts include it?
A career objective, a declaration and personal lines such as a date of birth or a parent's name. Where an employer needs such details, its own form asks for them.
-
How does a placement cell's form differ from your resume?
The form carries what the cell checks against each company's rules, such as marks, backlogs and gaps, filled in exactly as your records state. The resume carries the evidence a recruiter reads.
-
Whose format wins when your placement cell prescribes a resume template?
The cell's. Use its template or format exactly, whatever general advice says, the advice of this track included.
-
Does India's National Career Service charge jobseekers anything?
No. Its own pages say that registering, applying and interview processing cost nothing, and they warn jobseekers against paying employers too. A request for money to process an application is a warning sign.
-
How do India's coaching guidelines treat promises of a job?
They call false claims of selection or job security misleading. Ask for written terms, and walk away from anyone who promises you a job for a fee.
-
Who can apply for GitHub Education's student benefits?
Students aged at least 13 in a programme that grants a degree or diploma, with proof of their student status, and a college e-mail address where asked.
Key takeaways
- A fresher’s page leads with education and projects, each project with a link and a result, and fits one page.
- The placement cell’s form and the resume are two documents: fill the form exactly, and use the cell’s template if it prescribes one.
- Use help that charges nothing, and walk away from anyone who promises a job for a fee.
Terms in this lesson
- backlog
- A course a student has failed and has still to pass, or once failed and later cleared. Campus forms often ask for active backlogs and for every backlog ever.
- placement cell
- The office of a college that runs campus hiring: it collects students' forms, checks each company's eligibility rules and arranges the tests and interviews.
References
- Our hiring process (How we hire) (Google Careers)
- Resumes (MIT Career Advising and Professional Development)
- How to write a CV (National Careers Service (UK))
- Applying to GitHub Education as a student (GitHub Docs)
- National Career Service (Ministry of Labour and Employment, Government of India)
- Guidelines for Prevention of Misleading Advertisement in Coaching Sector, 2024 (Central Consumer Protection Authority, Government of India)
- Superset for students (Superset)
Related tools
Report a problem with this lesson
Kept only in this browser. Your Learn progress