Showcase mode · No login, no backend · A static preview of the real app. The live demo has seeded data and one-click sign-in.
P University of Portsmouth Student Feedback Hub

Hey, Fatima 👋

L6 ✨ 720 pts

You’ve got 2 quick things to say. Your take actually moves the needle here — there are 4 new staff replies in Impact.

⚡ 1 Module Pulse open — 2 mins, tops

Open now

National Student Survey
NSS 2026 · open for final-year undergraduates
Run by Ipsos for the Office for Students · Closes in 28 days

The NSS is run externally — we don’t see who answered. Once you’ve done it (or decided not to), let us know here so we stop reminding you.

Open the NSS ↗
Module Pulse · M30819
Software Engineering Team Project
L6 · Year-long · Dr Felix Hartmann

A 2-minute pulse — early enough that staff can act on it.

🕐 Closes in 2d
Recently done (2) +60 pts this week
Module Pulse · M21270
Data Structures & Algorithms
✅ Done · 3 days ago
Module Pulse · M30943
Architecture & Operating Systems
✅ Done · 1 week ago
Coming soon (2) Opens 14 Jun
L6 course survey · BSc Computer ScienceOpens 14 Jun
Module Pulse · M33148 Distributed SystemsOpens 21 Jun

Have a concern that needs attention?

Your course and school reps are students too — anything you tell them stays confidential, and they take it forward.

When staff act on feedback from your courses, it shows up here. This is the bit that proves it’s worth doing. 💬

You said, we did

  • Rubrics published with the brief — not days before submission ✅ Done
    U0968PYC · BSc Software Engineering Assessment & feedback

    From this term we’ll publish marking rubrics on Moodle alongside the assignment brief — both up by week 3 at the latest.

  • Extra lab drop-in on Tuesdays for Programming Foundations 🔧 In progress
    M34698 · Programming Foundations Academic support

    Dr Ashby has booked the lab from 15:00–16:00 each Tuesday starting next week.

Replies from your staff

What your course leaders and module coordinators have said in response to clustered issues.

  • Dr Helena Bright · U0968PYC · 3 days ago
    On issue: Lecture pace too fast in weeks 4–6

    We’ll re-plan weeks 4–6 of Architecture and Operating Systems with two consolidation labs and a slower intro to memory hierarchy. Slides updated already.

    See the issue →
  • Dr Devon Ashby · M34698 · 6 days ago
    On issue: Assessment brief unclear about pair-programming rules

    Updated the brief to say collaboration is allowed for whiteboard discussion but submitted code must be your own. Will mention in next lecture too.

    See the issue →
Pulses taken
11
lifetime
🕐 Missed opportunities
2 Module Pulses closed before you took them.
Level
5
Course Critic
185 / 300 XP720 pts total

Badges (5)

First Voice
Bronze
🐦
Early Bird
Bronze
🔥
Three in a Row
Silver
📊
Pulse Regular
Silver
🏅
Two-Week Streak
Gold
🔒
9 more…

Recently done

  • Module Pulse · M21270 Data Structures & Algorithms+30 pts
  • Module Pulse · M30943 Architecture & Operating Systems+30 pts
  • L5 course survey · BSc Software Engineering+80 pts

🏆 Cohort leaderboard

Anonymised
  1. 1🥇 Anon-4521L6980
  2. 2🥈 Anon-8821L6812
  3. 3🥉 Anon-2210L6780
  4. 4YouL6720
  5. 5Anon-9907L6680

Names are never shown. You see your own rank only.

Your feedback is structurally anonymous.

Your answers and your account are in completely separate tables — no foreign key, no timestamp pair, no IP. Even an admin can’t pull “what did Fatima write?”. Your completion is tracked (so you earn points), your content isn’t. Read more →

M30819 · U0968PYC

Software Engineering Team Project

Closes in 2d
How are you feeling about Software Engineering Team Project?

Both boxes are optional — submitting just a sentiment is fine.

I’m happy with everything

One tap — marks your pending pulse as positive with no extra comments.

Before you opt out…

A few things worth knowing about the NSS.

The NSS is one of the few moments where students at every UK university get the same structured chance to be heard. It’s short, it’s anonymous, and your responses shape next year’s course.

Without your voice in it, decisions about teaching, assessment, library and IT facilities, academic support, and learning resources get made on partial information — usually weighted toward whoever did respond.

A quick check first

“I’ve had a really bad experience and don’t want to relive it.”

That feedback matters most. The survey is anonymous — you’re not named, not linked to your account. Skip any question that feels overwhelming.

“I don’t think anyone reads it.”

Last year’s NSS findings for your course are on the previous page, with your course leader’s written reply explaining what changed.

“I don’t have time right now.”

It takes about 10 minutes — you can come back to this tab when you’re done.

Confirm opt-out

We’ll mark you as opted out for the NSS this year. You can change this any time from your hub.

L4 · Module Pulse

M34698 · Programming Foundations

Taught on U0968PYC SoftEng · U0056PYC CS · U0580PYC Computing · 240 students · Dr Devon Ashby

Sentiment trend

↗ Improving (+0.6 over 5 rounds)
Jan 2026across 5 pulsesthis round
Current pulse · Round 2 of 3 · Open 12 May → 26 May · 142 of 240 responded (59%)
Completions
142
of 240
Anonymous responses
142
99% of completions
Open issues
3
1 neg · 1 mix · 1 pos
Closes
2d
Round 3 opens 4 Jun

Sentiment

How students felt overall — captured directly on each response. No analysis needed.

78
55% positive
41
29% mixed
23
16% negative

Question averages (1–5)

Free-text answers are surfaced through clustering only — never quoted individually. Segments under 5 responses collapse to “all respondents”.

So far, this module is well-paced. n=142 · SD 0.84 3.4
I’m clear on what I need to do for the assessment. n=142 · SD 1.12 2.8
The teaching activities are helping me learn. n=142 · SD 0.71 4.1
I feel I can ask for help when I need it. n=142 · SD 0.92 3.9

How cohorts compare

Module taught on 3 courses

k-anonymity threshold: cohorts with <5 responses are hidden.

U0968PYC · Software Engineering62 positive · 18 mixed · 8 neg · n=88
U0056PYC · Computer Science14 pos · 18 mixed · 10 neg · n=42
U0580PYC · Computing2 pos · 5 mixed · 5 neg · n=12

Themed issues

Azure OpenAI · gpt-4o · run 9be41a

Quotes are sanitised — emails, phone numbers, student-number-shaped digits and “I’m <Name>” patterns stripped before reaching staff or the LLM.

  • 14 responses Open #assessment#communication

    Assessment brief unclear about pair-programming rules

    Multiple students unsure whether collaboration is allowed on the practical assessment.

    • “The brief says ‘individual work’ but tutorials encourage pairing — I don’t know what’s allowed.”
    • “Could the assessment brief be a bit clearer on rules around working together?”
    • “I asked my tutor and got a different answer to what the brief says.”
  • 28 responses Responded #academic-support

    Lab tutors are very approachable

    Strong consistent praise for tutor availability and patience.

    Dr Devon Ashby · 4 days ago · visible to students

    Thanks — passed on to the lab team. We’ve extended drop-in hours by 30 minutes on Tuesdays based on the volume of feedback.

  • 7 responses Open #teaching

    Recursion content jumps in pace at week 5

    Some students enjoy the challenge; others say they lose the thread.

Previous pulses

  • Round 1 · 14 Apr → 28 Apr n=128 2 open issues
  • TB1 round 3 · 22 Nov → 6 Dec 2025 n=204 All closed
  • TB1 round 2 · 8 Nov → 22 Nov 2025 n=189 All closed
Scope
Course leader · Dr Helena Bright

U0968PYC · BSc (Hons) Software Engineering

240 students across L4 / L5 / L6 · 12 modules · NSS-eligible cohort: 78 (L6)

Loops awaiting response
5
3 over the 14-day SLA
Avg sentiment
3.9
▲ 0.3 vs last year
Response rate · this round
67%
▲ 8 pp vs Round 1
Surveyed students
240
all levels
⏰ 3 feedback loops are over the 14-day response SLA

All within Software Engineering — listed in the Chase view.

Open Chase →

NSS theme scores · this year vs last

Bars in red where the score is below 3/5 — the "needs attention" line.

Sentiment over time · last 5 years

Average sentiment across all pulses + EOY surveys, by academic year.

Open issues by level

L4 feedback

  • 14 responses M34698 · Programming ⏰ Over SLA

    Lecture pace too fast in mid-semester weeks

    Students report feeling overwhelmed when new theoretical content lands in weeks 4–6.

  • 8 responses M30943 · Architecture & OS

    Group projects organisation

    Format appreciated, team allocation confusing.

L5 feedback

  • 8 responses M21270 · Data Structures & Algorithms

    Marking criteria released too late

    Rubrics arrived days before submission; planning suffered.

    Responded

L6 feedback

  • 11 responses M30819 · SETP

    Industry-relevant project briefs

    Students value the new partnerships with local tech employers.

Action plan · 2025/26

Record what you’re changing in response to feedback. Marked items are visible to students in their Impact tab.

  • Rubrics published with assignment briefs from this term
    Prompted by Assessment & feedback
    ✅ Done

    Implemented across all 12 modules. Confirmed with module leads.

    👁 Visible to students
  • Re-plan Architecture & OS weeks 4–6 with two consolidation labs
    Prompted by Teaching
    🔧 In progress

    Lab schedules updated; new exercises drafted with the module team.

    👁 Visible to students
  • Pilot a peer mentoring scheme for L4 in TB1 2026/27
    Prompted by Learning community
    📅 Next year
    🔒 Internal only
Scope
Student Survey Group · Petra Halvorsen

School of Computing · oversight

5 courses · 64 active modules · 930 students. Drill in by clicking a row, a crumb, or the scope-bar dropdown.

Response rate
61%
▲ 4 pp vs last year
Avg sentiment
3.7
▲ 0.2
Loops awaiting response
23
across 12 courses
Action plans on time
87%
▲ 12 pp

Module sentiment · School of Computing

64 modules · slices show how many are in each band.

How schools compare · Faculty of Technology

Avg sentiment by school. Your school is highlighted in port.

Modules — sorted by concerns

CodeModuleLevelResp. rateSentimentOpen issues
M30943 Architecture & Operating Systems L4 71% 2.6 3
M34698 Programming Foundations L4 59% 3.4 3
M21270 Data Structures & Algorithms L5 68% 3.3 2
M33148 Distributed Systems L6 64% 4.1 1
M30819 Software Engineering Team Project L6 72% 4.3 0
5 of 64 modules shown · drill into the scope bar to filter further.

Courses in School of Computing

Click a row to scope into it. NSS/PTES eligibility shown per course.

  • U0968PYC · BSc (Hons) Software Engineering
    240 students · Dr Helena Bright
    5 open 🙂 3.9
  • U0056PYC · BSc (Hons) Computer Science
    312 students · Dr Jonah Pemberton
    5 open 🙂 3.6
  • U2515PYC · MEng Computer Science Integrated masters
    48 students · Dr Jonah Pemberton · PTES excluded
    2 open 🙂 4.0
  • U0580PYC · BSc (Hons) Computing
    198 students · Prof. Adaeze Nwosu
    4 open 😕 3.2
  • U2686PYC · BSc (Hons) Data Science & Analytics
    132 students · Dr Roman Vasilev
    5 open 🙂 3.8

Survey targeting at this scope

  • · NSS — final-year UG only (L6 BSc + L7 MEng). 4 cohorts in scope, 412 students.
  • · PTES — L7 standalone masters only. None at this scope (integrated masters excluded).
  • · Course survey — L4 / L5 / L6 (integrated-masters only). 8 cohorts, 678 students.
  • · Module Pulse — every level, every active module. 64 modules running this block.
Scope
Course surveys · End of year

L4 / L5 / L6 course surveys · 2025/26

Internal end-of-year surveys with NSS-aligned themes. Final-year UG see NSS instead; L7 taught see PTES; integrated masters L6 take the internal survey.

✅ 87% of feedback loops closed within the SLA — up 12 pp on last year.

23 loops still need a written response from a course leader.

Open the Chase view →
Loops closed
156
▲ 22
Loops awaiting
23
over the 14d SLA
Surveys completed
8 612
across 26 courses
Response rate
58%
▲ 6 pp

Feedback loops · closed vs awaiting

A loop closes when a course leader posts a response visible to students.

Avg score by NSS theme · 2025/26

Bars in red where below 3/5. Compare against the dashed national NSS average line.

By faculty

Export to CSV ↗
FacultyCoursesResponse rateAvg sentimentLoops awaiting
Faculty of Technology963%🙂 3.87
Faculty of Business & Law659%🙂 3.64
Faculty of Science & Health757%😕 3.28
Faculty of Creative & Cultural Industries455%🙂 3.94

Archive · previous years

Each year keeps its own clustered issues + the staff responses that closed them.

Institution admin · Alex Admin

Edit survey · plain-English authoring

No JSON, no IT ticket, no engineering bottleneck. Reorder, edit, add or remove questions — they apply to every instance derived from this template.

Heads up: 12 surveys derived from this template are currently open. Question changes apply to the next round only — existing instances are frozen.

Questions (3 of 22 shown)

  1. 1
  2. 2
  3. 3
Unsaved changes · saved at 11:42 by Alex Admin

Warehouse sync

Re-pull staff mappings + student enrolment from the institutional warehouse.

Last run · 14 min ago · 0 drift

About this hub

A single, structured place where students know what feedback is expected of them and when — and where staff close the loop with a public, on-the-record response.

Why one internal hub, instead of pulling feedback from elsewhere?

Most institutions have feedback scattered across at least half a dozen systems: VLE quizzes, Microsoft Forms, Google Forms, paper surveys, NSS data, PTES data, ad-hoc emails to module coordinators, course rep notes. Each is a partial picture; none speak to each other.

  • One source of truth

    Course leaders, module coordinators, deans and the SU all see the same issues, same numbers, same staff responses — debates are about what to do, not whose data is right.

  • Closes the loop publicly

    Every clustered issue carries a written response from a course leader or module coordinator, visible to students. The single biggest lever on response rates.

  • In time to act

    External surveys land annually and tell you about cohorts who’ve already moved on. Module Pulse and L4/L5 surveys flow continuously — staff can change pace and materials while it still helps the cohort that raised the issue.

  • NSS-aligned question bank

    L4/L5/L6 surveys use NSS themes (teaching, assessment & feedback, IT/library, organisation, learning resources, academic support, learning community) so internal results sit alongside NSS data without translation.

  • Non-technical authoring

    Programme admins edit survey questions through a plain-English editor — no JSON, no IT ticket.

  • Privacy by design

    Student responses cannot be tied back to individual students. The guarantee is structural — it’s in the schema. Makes GDPR posture, FOI handling, and SU scrutiny much simpler.

  • Lower duplication for students

    L6 students get NSS, not an internal end-of-year. L7 taught get PTES (excluding integrated masters). Module Pulse runs across all levels. Nobody is asked the same question twice.

  • Gamification that’s not a gimmick

    Streaks, levels, and badges turn the chore of feedback into something with rhythm. They reward the act of giving feedback — never the content of it — so privacy stays clean.

  • Owned and hosted internally

    No SaaS that goes off-message at renewal, no third party with access to free-text quotes. Use whatever LLM the institution already pays for — Microsoft Copilot via Azure OpenAI by default.

  • Survives staff turnover

    When a course leader moves on, the successor inherits a written record of what was raised, what was promised, and what changed.

  • Defensible to auditors

    Every clustering run records its model id and run id. Every staff response is timestamped and attributable. The warehouse remains the source of truth for enrolment.

  • LTI 1.3 inside Moodle

    A minimal Moodle block shows "feedback due" and "recent staff replies" for the launched module, so the hub meets students where they already are.

How student feedback stays anonymous

Student feedback content is structurally not linked to the student who wrote it.

This is a property of the database itself, not an after-the-fact policy. We can’t tie a student’s words to their identity even if we wanted to.

How we do it

  1. Two separate tables. One records that a student completed a survey (so streak, points, completion stats work). A second, completely separate table holds the answers — with no link of any kind to the student record.
  2. No timing fingerprint. Submission time on the answer side is rounded to the day, so it can’t be matched to completion-time on the user side.
  3. No IP, no device, no session. Answer rows store none of those — only the answers themselves.
  4. Quote sanitisation. Before any free-text quote reaches staff or the LLM, we strip emails, phone numbers, student-number-shaped digits, URLs, and “I’m <Name>” patterns as defence in depth.
  5. K-anonymity on segmentation. Per-level / per-cohort breakdowns only display once at least 5 responses are in that segment. Below that, segments collapse to “all respondents”.

Tech stack

Next.js 16
App Router · React 19 · server actions
🐘
Postgres + Prisma 7
Runs on Neon in prod
🤖
Azure OpenAI
Copilot · pluggable to Anthropic / stub
📊
Recharts
All staff dashboards

Want to try the live demo?

Sign in as any seeded student or staff account — no password needed. One click and you’re in.