Student Life

Day one on campus

See the charts ↓
Student Life

What students do outside class

Which activities students choose, how that is shifting, which organizations they join, stay in and lead, and where it leads. From the team's student-experience notebook.

Activities

In [2]:pctCur.sort_values().plot.barh()

Student organizations are the most common experience (66% of current students), then internships (44%) and campus jobs (42%). Co-ops are the rarest at 8%.

In [3]:stuExp.groupby("campus_id")["experience_type"].nunique()

Most students try 2 to 4 different types of experience. 181 people have tried none, and nobody has tried all ten.

In [4]:typeShare["2024–26"] - typeShare["2018–20"]

Certifications gained the most ground (+1.8 pts) and internships lost the most (−4.3 pts). These are shares, not raw counts, because current students make recent years busier for every type.

In [5]:shareByYear = counts.div(counts.sum(axis=1), axis=0)

Internships peaked at 27% of all participation in 2021 and fell to 17% by 2026, while certifications jumped to 21% and overtook them.

Organizations

In [6]:orgPeople.nlargest(10, "people")

The Division of Information Technology campus job reaches the most people (561). Six of the top 10 are hackathons.

In [7]:share.nlargest(10, "change")

Brightline Code School grew the most (+0.49 pts of all participation), with two cloud groups and a security lab close behind.

In [8]:(clubs["outcome"] != "Left after one term").groupby(clubs["experience_name"]).mean()

Retention is similar everywhere: the best clubs keep 80% of members past the first term, barely above the 75% average for all clubs.

In [9]:isLeader.groupby(org[groups]).mean().nlargest(10)

In the Collegiate Cyber Defense Team, 28% of members held a leadership role, against 19% across all clubs and teams.

In [10]:firstGenRate[firstGenRate["members"] >= 50].nlargest(10, "pct")

The National Society of Black Engineers chapter has the highest share of first-generation members (41% against 28% campus-wide). For 7 of these 10 organizations the interval crosses the campus-wide line, so their difference could be chance.

Where it leads

In [11]:offerRate[offerRate["size"] >= 30].nlargest(10, "mean")

Copper Ridge Data Centers turns 52% of internships and co-ops into return offers, against 41% across all companies.

In [12]:orgRank[orgRank["n"] >= 30].nlargest(10, "premium")

Three cybersecurity certification bodies lead, each about $10K above similar grads, followed by consulting and software internship employers.

In [13]:ax.boxplot([adj[grp == k] for k in range(11)])

The median first-job salary rises with the number of experience types, from about $12K below similar grads with none to about $7K above with six. The groups with 8 or more are tiny (5, 1 and 0 alumni).

In [14]:entry.pivot(index="job_family", columns="year", values="median_k")

Cybersecurity pays the most at entry level in almost every year (about $89K on average), and IT Support & Operations the least (about $60K).

hackUMBC 2026 · UMBC alumni data

What makes a student successful?

“Success” means something different to different people. Here, we use salary as the measure of success and look at how much of the variation in alumni salaries each factor explains.

In [1]:first_job["variance_share"].style.format("{:.1%}")
Share of salary variance explained (η², ANOVA) How much of the variation in alumni salaries each factor explains
FactorStarting salarySalary vs peers
Majormajor1.8%0.3%
First job familyfirst_family19.7%20.2%
First employer industryfirst_industry16.1%9.5%
2%Salary variance explained by major
20%…by first job family
16%…by first employer industry
9.8%Alumni still seeking work
From the dashboard

Major findings

Salary is our measure of success. Each group below tests one factor against it.

Majors and their effect on success

In [33]:a.plot_salary_by_major_degree(majors["alumcareerinfo"])

Most alumni in the dataset only hold a bachelor's degree (2,032 vs 115 with a master's), so the master's comparisons are built on small samples. The typical salary gap between Computer Science and Information Systems is small: CS alumni earn a median of about 3% more, and the two distributions overlap almost entirely.

In [34]:a.plot_salary_trend(majors["trend"])

IS majors close the initial gap by around the 5-year mark. Fewer alumni remain beyond year 8, so the gap at the end of the chart is a less certain result.

Correlation between major (IS = 1) and starting salary: −0.135. Squared, that is 0.018: only about 2% of the variation in starting salary is explained by major.

Salary summary by major and degree
MajorDegreeAlumniAvg jobsAvg salaryMax salary
Computer ScienceBachelor of Science1,2522.9$87,581$205,500
Computer ScienceMaster of Science692.9$90,548$157,000
Information SystemsBachelor of Science7802.7$85,850$220,500
Information SystemsMaster of Science462.5$82,233$165,500

Internships and their effect on success

In [35]:a.plot_salary_by_internships(intern["df_intern"])

There is a large difference in starting salary between alumni with 0 and 3 internships, but the 2- and 3-internship distributions overlap heavily. Salary gains level off after 2 internships.

In [36]:alum.groupby("nIntern")[["months_to_first_job", "sal_adj"]].median()

Internships help on every count: full-time employment rises from 70% with none to 78% with two or more, time to the first job drops from 4.2 to 0.3 months, and pay goes from $10.0K below similar grads to $8.5K above with three or more.

In [37]:a.plot_return_offers(intern["offer_table"])

At every internship count, alumni whose first job was a return offer earned a higher median starting salary: +$5,250 with 1 internship and +$6,750 with 2 or 3. Return offers also become much more common with more internships (25% with 1, 47% with 2, 66% with 3), so part of the value of more internships is a better chance of converting one into a higher-paying offer.

Outcomes by internship count
InternshipsAlumniMedian first-job salaryMedian months to hireEmployed full-timeReturn offer
0.0773$67,7504.258%0%
1.01,368$78,7500.962%17%
2.0837$83,7500.368%34%
3.0212$87,5000.365%47%
4.010$70,5000.260%40%
Return offer premium
InternshipsMedian, no offerMedian, return offerPremiumAlumni, no offerAlumni, offer
1.0$77,500$82,750+$5,250682231
2.0$81,000$87,750+$6,750319282
3.0$83,500$90,250+$6,7505199

First job family and industry

No alumni switched job families or industries, so the first job sets the track. Both factors explain far more salary variation than major does (see the variance table at the top of the page).

In [38]:a.plot_first_job(first_job["career"], first_job["family_summary"], "first_family", "Outcomes by first job family")

Cybersecurity and Infrastructure & Cloud earn much more than peers with the same experience, while IT Support & Operations earns much less.

In [39]:a.plot_first_job(first_job["career"], first_job["industry_summary"], "first_industry", "Outcomes by first employer industry")

Cloud & Infrastructure and Telecommunications earn much more than Federal Government compared to peers. Cloud & Infrastructure comes out ahead in both views.

Summary tables
First job familyAlumniMedian first salaryNow vs peers
Cybersecurity342$91,250+$11,587
Infrastructure & Cloud234$84,750+$6,029
Machine Learning & AI177$83,500+$1,780
IT Business & Product274$75,750+$443
Software Engineering481$75,250−$5,118
Health IT109$75,000−$4,169
Data & Analytics425$72,250−$9,000
IT Support & Operations105$63,000−$22,958
First employer industryAlumniMedian first salaryNow vs peers
Cloud & Infrastructure122$90,500+$9,026
Cybersecurity Services65$85,250+$544
Software Products219$85,250+$2,756
Financial Services103$84,500+$4,957
E-Commerce & Retail Tech125$81,250+$638
Consulting & Professional Services120$80,875+$2,883
Telecommunications53$80,500+$8,689
Defense & Aerospace233$79,500+$624
Federal Contracting482$78,000−$3,184
Insurance59$76,500−$2,906
Healthcare & Life Sciences157$71,750−$612
Federal Government264$68,250−$12,662

Unemployment rates

In [40]:a.plot_unemployment(unemp["unemp"], unemp["overall_rate"], by_major)

Unlike the other sections, this includes alumni still seeking work. Overall, 9.8% of alumni in the labor force were still seeking work after graduation, and major makes almost no difference (CS 9.5% vs IS 10.2%).

Internships make a much bigger difference: the rate drops steadily from 12.6% with 0, 10.6% with 1, 7.2% with 2, 4.9% with 3 internships.

Salary and hiring speed leveled off after 2 internships, but unemployment keeps dropping with a 3rd, although that group is smaller (n=144).

Student activities

In [41]:a.plot_experience_share(activities["pct_curr"])

Student organizations are by far the most common experience (66%), followed by internships (44%) and campus jobs (42%). Since internships are tied to higher salaries, faster hiring, and lower unemployment, over half of current students not having one yet is a clear opportunity, though some of this is expected since about half are freshmen or sophomores.

In [42]:a.plot_top_orgs(activities["top10"], activities["baseline"])

3 of the top 4 are certification providers, and most of the rest are internship employers in industries that also paid well as a first job, like Cloud & Infrastructure, Telecommunications, and Cybersecurity Services. This shows correlation, not causation: students who pursue these may already be heading toward higher-paying fields.

Experience types

Internships, co-ops, and hackathons are the most time-intensive (28–40 hours/week), while student organizations, tutoring, and peer mentoring take under 8. Internships and co-ops are mostly paid; student organizations, hackathons, and competitive teams are unpaid. Cells marked n/a mean hours and pay don't apply (certifications).

Experience typeRecordsPeopleOrganizationsAvg termsAvg hours/weekPaid
Student Organization4,1763,20813.14.00%
Internship4,1063,012581.028.487%
Hackathon3,2591,48981.036.30%
Certification2,8451,712171.0n/an/a
Campus Job2,0802,08073.313.0100%
Undergraduate Research95495472.410.264%
Tutoring71571542.57.1100%
Competitive Team70070012.08.70%
Co-op678652582.040.089%
Peer Mentor54654642.05.355%
Method

How we work

Every finding goes through the same five steps. The analysis code lives in analysis.py and the dashboard in app.py.

  1. 01

    Load

    Six CSV files from the hackUMBC 2026 dataset, joined on each person's campus ID.

    pandas · read_csv
  2. 02

    Clean

    Turn "Not Applicable" into missing values, convert salaries to numbers, count repeat activities once per person.

    pandas
  3. 03

    Explore

    Box plots, hiring curves, and salary trends, one notebook cell per question.

    Jupyter · matplotlib
  4. 04

    Measure

    Variance explained by each factor, and salary compared with peers who have the same years of experience.

    η² (ANOVA) · numpy
  5. 05

    Share

    Package every chart as a function and serve them in an interactive dashboard.

    Streamlit
Data

The datasets

Six CSV files from the hackUMBC 2026 dataset, joined on campus ID.

DatasetOne row isRowsUsed for
Alumnialumni.csvA graduate, highest degree only3,200Majors, internships, unemployment
Employment historyemployment_history.csvOne job spell6,028Career salary trend, first job
Student experiencestudent_experience.csvOne activity20,059Activities, top organizations
Current studentsstudents_current.csvA student enrolled in Fall 20261,800Activity participation
Transcriptstranscripts.csvOne course attempt140,458Not used yet
Course catalogcourse_catalog.csvOne course72Not used yet
Total171,617