Faculty System Guide — Sarah Groves · UVA SDS

Notion workspace setup

28 steps across 8 sections. Check off as you go. Do it in 2–3 sittings — Sections 1–4 are the core minimum.

0 / 0 doneNotion setup

1 — Create the six pages

✓
Create a Faculty workspace (or use existing) 2 min
Recommend a fresh workspace called "Faculty" to keep separate from personal stuff.
✓
Create page: 🏠 Home — pin to top of sidebar
Your landing page every time you open Notion. Weekly priorities + quick links + brain dump.
✓
Create page: 📓 Daily log — will become a database in Section 3
✓
Create page: 📄 Weekly review — single page, newest entries at top
✓
Create page: 📂 Projects — will become a database in Section 5
Each project is a subpage with its own notes, links, and freeform content.
✓
Create page: 💰 Grants — will become a database in Section 6 new
Separate from Projects — grants have their own lifecycle, deadlines, and archive needs.
✓
Create page: 🗂 Reference — your Year 3 review pre-written
🧠
Six pages and nothing else at the top level. Resist the urge to add more now. The constraint is the feature.

2 — Build the Home page

✓
Add three priority callouts 3 min
Type /callout → green for Teaching, yellow for Research, blue for Service. Rewrite these three lines every Sunday in 5 minutes.
Home page
🏠 Home
This week · [date]
📚 Teaching — [your top teaching task]
🔬 Research — [your top research task]
🤝 Service — [one service commitment]
✓
Add quick links section
Canvas · UVA email · GitHub · Google Drive · UVA Box · Notion Calendar. These should be first things you reach for daily.
✓
Add brain dump / parking lot at the bottom
Anything rattling around goes here — sort it Friday. Seeing it written down helps your brain let go of it.

3 — Daily log database

✓
Convert Daily log page to a database 5 min
Open Daily log → type /database → choose "Database - Full page".
✓
Add Date property with default value = Today
✓
Create "Today" view — List filtered to Date = Today. Set as default.
When you open Daily log you see exactly one entry waiting. Click it and start writing.
✓
Create "All entries" view — Table sorted by Date descending, no filter
✓
Create entry template with three optional prompts
Daily entry template
What actually happened today
What I'm thinking about / what's unresolved
One thing for tomorrow
[free-write below — leave blank anything that doesn't apply]

4 — Weekly review page

✓
Paste weekly review template — add new entries at the TOP each Friday 5 min
Weekly review template (paste at top each Friday)
Week of [date]
📚 Teaching
__ hrs · __% (target 75%)
🔬 Research
__ hrs · __% (target 15%)
🤝 Service
__ hrs · __% (target 10%)
Reflection
☐ One win worth remembering
☐ One thing that didn't happen — does it matter?
☐ Carry into next week
✓
Schedule Friday 9–9:15am recurring block in Google Calendar
Attach your Notion Weekly review URL in the event description. Friday morning, not afternoon — energy matters.

5 — Projects database updated: database + subpages

✓
Convert Projects page to a full-page database 5 min
Each entry is a full page — not a toggle. You can write as much or as little as you want inside each project page.
✓
Add properties: Category · Status · Semester · Collaborators · Next action
Projects database — properties
Category
Select: 📚 Teaching · 🔬 Research · 🤝 Service
Status
Select: Active · Paused · Complete · Future
Semester
Multi-select: Fall 2026 · Spring 2027…
Collaborators
Text — names and institutions
Next action
Text — one line
✓
Create three views
  • Active (default) — filtered Status = Active, grouped by Category
  • All projects — no filter, sorted Category then Status
  • By semester — filtered to current semester
✓
Create project page template
Project page template
Overview
2–3 sentences on what this project is and why it matters
Links
GitHub:    [url]
Drive:     [url]
Box:      [url]
Canvas:   [url if teaching]
Notes
Freeform — append only. Newest at bottom. Never organize this section.
🧠
The Notes section is intentionally unstructured. Just append. Chronological by nature. Use Notion search to find things, not folders.
✓
Add your current research projects as pages
  • SCLC resistance / BoBa-T — Status: Active
  • GAT + Geneformer — Status: Future
  • Educational research / ASEE paper — Status: Active
  • Northeastern collaboration — Status: Active
✓
Add service project pages
  • Committee log — Status: Active
  • Reviewing / outreach log — Status: Active

6 — Grants database new

✓
Convert Grants page to a full-page database
Grants have a distinct lifecycle from projects — separate database gives the right properties and views without cluttering Projects.
✓
Add properties: Agency · Mechanism · Status · Deadline · Amount · Co-PIs · Next action
Grants database — properties
Agency
Select: NIH · NSF · DOE · Foundation · Internal · Other
Mechanism
Text: R21 · R01 · CAREER · seed grant…
Status
Select: Developing · Submitted · Under review · Awarded · Not funded · No-cost extension
Deadline
Date
Amount
Text — requested or awarded
Co-PIs
Text — names and institutions
Next action
Text — one line
✓
Create three views
  • Active (default) — filtered Status = Developing or Awarded
  • Pipeline — filtered Developing · Submitted · Under review
  • All grants — full archive sorted by Deadline descending
✓
Create grant page template
Grant page template
Overview
What you're proposing, why this agency, key aims
Key dates
Deadline · Submission date · Review date · Award notification
Links
Drive folder (drafts) · Box folder (submitted/awarded) · Collaborator contacts
Specific aims
Paste current draft or 3-sentence summary
Notes
Program officer conversations, reviewer feedback, revision ideas — log immediately
💡
Program officer conversations are gold. Log them immediately — what they said about fit, score, likelihood of funding. This disappears fast and is invaluable for resubmissions.

7 — Reference page

✓
Add four evidence sections 5 min
Reference page structure
▶ Teaching evidence
▶ Research & scholarship evidence
▶ Service evidence
▶ Useful links & policies
✓
Paste current CV highlights as a starting point
Don't recreate the whole CV — just paste 2 years of teaching, papers, and talks. Makes the page feel real immediately.
✓
Write your decision log under Useful links
Paste this and keep it here — your future self will thank you when the reorganizing urge hits:
Code → GitHub repo Raw data → Box/Research/ Writing → Google Drive Grants (dev) → Drive → Box on submission Submitted → Box/Research/grants/ Publications → Box/Research/publications/ Notes/plans → Notion

8 — Notion Calendar

✓
Download Notion Calendar (calendar.notion.so) 2 min
Mac, Windows, iOS, Android. Lives in your menu bar. Sign in with your Notion account.
✓
Connect UVA Google Calendar
Settings → Add calendar → Google → UVA account. Events appear immediately.
✓
Set up three Google Calendars + recurring blocks 10 min
  • Teaching (green / Sage) — lectures, office hours, course prep, student meetings
  • Research (amber / Tangerine) — analysis, writing, paper reading, lab meetings
  • Service (blue / Blueberry) — committee, reviewing, SDS events
  • Mon/Wed 9–11am Research deep work (Amber)
  • Tue 9–11am Paper reading (Amber)
  • Thu 9–11am Teaching prep (Green)
  • Fri 9–9:15am Weekly review (Gray)
  • 1st Fri/month 9–11am Professional development (Gray) — set for full year now

Notion workspace built ✓

Move to GitHub setup or jump straight to the pre-start checklist.

GitHub course site setup

Get your first course site live at smgroves.github.io/ds-XXXX. Your personal site stays unchanged. Repeat for every new course in 15 minutes.

0 / 0 doneGitHub setup

How it works

smgroves.github.io ← personal portfolio (unchanged) smgroves.github.io/ds-4001 ← course 1 site smgroves.github.io/ds-4002 ← course 2 site # Push to main → GitHub Actions rebuilds in ~60 seconds # Edit ONLY _data/schedule.yml for schedule changes

File editing guide

File Edit how often What you change
_data/course.yml Once per course Title, semester, Canvas link, office hours link, grading weights, key dates
_data/schedule.yml Throughout semester Topics, material paths, cancelled classes, due dates
_config.yml Once per course Change baseurl: "/ds-XXXX" to match repo name exactly
_includes/schedule_table.html Never Renders schedule.yml automatically
.github/workflows/deploy.yml Never Auto-deploys on push — do not touch

Steps

✓
Push course template to GitHub 5 min
github.com/smgroves → New repo → name it exactly ds-XXXX (lowercase, no spaces) → upload course template zip files.
⚠️
Repo name must exactly match the baseurl in _config.yml. Mismatch = broken CSS and links.
✓
Edit _config.yml baseurl
baseurl: "/ds-4001" # change to your actual course number url: "https://smgroves.github.io"
✓
Enable GitHub Pages → GitHub Actions
Repo → Settings → Pages → Source → GitHub Actions. Uses the deploy workflow already in the repo.
✓
Fill in _data/course.yml
title: "DS 4001: Course Title" semester: "Fall 2026" instructor: office_hours_link: "" # Notion Calendar booking link links: canvas: "" # Canvas course URL
✓
Fill in _data/schedule.yml with all class sessions 20–30 min
One entry per class. Leave topic as placeholder for later sessions — fill in as you plan.
# Cancel a class mid-semester: status: cancelled # Post materials: slides: "lectures/week03.pdf" # Add due date: assignment_due: "HW2 due"
✓
Push to main and verify site is live
Actions tab → watch deploy run (~60s) → visit smgroves.github.io/ds-XXXX. If CSS is broken, check baseurl matches repo name exactly.
✓
Add Canvas API secrets and run canvas_sync.py
Repo → Settings → Secrets → add CANVAS_API_KEY, CANVAS_API_URL, CANVAS_COURSE_ID, GITHUB_PAGES_URL → Actions → "Sync schedule to Canvas" → Run workflow.
✓
Link course site from Canvas syllabus page
Canvas is for submissions and grades. GitHub Pages is the course hub. Students bookmark the GitHub URL.
✓
For each new course: Use this template → new repo → edit 2 files → done
github.com/smgroves/course-template → Use this template → name it ds-YYYY → edit _config.yml baseurl + _data/course.yml → fill schedule.yml → push.

Course site live ✓

smgroves.github.io/ds-XXXX is running. Move to pre-semester checklist →

Pre-start checklist

Everything to do in your first month, before semester starts. Organized by week. One-time setup — not repeated each semester.

0 / 0 donePre-start
🔑Week 1 — Accounts & access
✓
Activate UVA NetID and email
✓
Log into UVA Box (box.virginia.edu) — confirm storage works
✓
Log into Canvas (canvas.virginia.edu) — confirm faculty role
✓
Set up UVA Google Workspace — connect to Notion Calendar
✓
Request access to SDS shared systems on day one
✓
Request Rivanna HPC access (rc.virginia.edu)
  • /scratch — free, request with account
  • /project — defer decision until you know data volumes
✓
Set up new laptop folder structure
  • ~/Documents/github/research/ and ~/Documents/github/teaching/
  • ~/Documents/presentations/talks/ and ~/Documents/presentations/lectures/
✓
Install: VS Code, GitHub Desktop, Python, R, Notion app, Notion Calendar
◻Week 2 — Notion workspace
✓
Complete all 8 sections of Notion setup (see Notion setup tab)
This is the big one — set aside 60–90 minutes. Sections 1–4 are the minimum viable system.
✓
Set up Google Calendar three-color system + all recurring blocks including monthly professional dev
📁Week 3 — Box + Drive + GitHub
✓
Create Box folder structure
  • Box/Teaching/ — ready for courses when assigned
  • Box/Research/SCLC/raw-data/ and processed/
  • Box/Research/edu-research/survey-data/
  • Box/Research/publications/ — ready for first accepted paper
  • Box/Research/grants/ — ready for first submission
  • Box/Professional/cv/ · talks/ · headshots/ · bios/
✓
Upload CV source to Drive → export PDF → save to Box/Professional/cv/
CV rule: editable source lives in Drive. Export to PDF with YYYY-MM date → save to Box. Never edit a PDF.
✓
Create Drive folder structure: Research writing/ · Professional/ with cv-source + brag-doc
✓
Start brag-doc.gdoc — paste last 2 years of wins, talks, teaching highlights
✓
Push course template to GitHub, test deploy, create course-template repo
Push canvas_sync.py + Actions workflow into template. Test with a dummy repo. Delete dummy after confirming.
✓
Set up Rivanna: log in via OOD, clone active research repos, set up SSH key for GitHub
  • git clone https://github.com/smgroves/sclc-resistance
  • git clone https://github.com/smgroves/boba-t
  • Create scripts/slurm/ in repos for job scripts
⚙Week 4 — When you know your courses
✓
Complete GitHub setup for each assigned course (see GitHub setup tab)
Template → new repo → edit _config.yml + course.yml → fill schedule.yml → enable Pages → run canvas_sync.py
✓
Create Box/Teaching/DS-XXXX_CourseName/ folder for each course
✓
Add course project page to Notion Projects database with all links
✓
Add course to Notion Reference → Courses taught table
🌱Ongoing from day one
✓
Open daily log every evening — even two sentences counts
✓
Color every calendar block when you create it — never retrofit
✓
Do first weekly review at end of week 1 — habit matters more than content
✓
Add anything good to Notion Reference within 24 hours
✓
After any Rivanna job: move outputs off /scratch within 3 days → Box or GitHub
✓
Monthly professional dev block (1st Friday): CV + website + Notion Reference audit
✓
Paper accepted → archive to Box/Research/publications/YYYY_journal_groves/
Final PDF + submitted PDF + supplementary + data-availability.txt. Note Box path in Notion Reference.
✓
Grant submitted → archive to Box/Research/grants/YYYY_agency_shortname/submitted/
Do this immediately on submission. Your copy, independent of SPA's system.
✓
Grant awarded → save award notice to Box/grants/award/ → update Notion Grants status → add to Notion Reference

Pre-start complete ✓

System is running. Use the pre-semester and end-of-semester tabs each term.

Pre-semester checklist

Run this the week before each semester starts. ~3 hours in one focused session. Reset and reuse every semester.

Semester:
0 / 0 donePre-semester
⚙GitHub + course site · ~45 min
✓
Create new repo from course template 5 min
github.com/smgroves/course-template → Use this template → name it ds-XXXX
✓
Edit _config.yml: baseurl: "/ds-XXXX" — must match repo name exactly
✓
Fill in _data/course.yml 10 min
Title, semester, office hours booking link, Canvas URL, grading weights, key dates (add/drop, spring break, finals)
✓
Fill in _data/schedule.yml with all sessions 20 min
All class dates, topics (can be placeholder for later weeks), holiday/cancelled dates. One-time planning investment per semester.
✓
Enable GitHub Pages → GitHub Actions → verify site is live
Settings → Pages → GitHub Actions → push → visit smgroves.github.io/ds-XXXX
✓
Add Canvas secrets → run canvas_sync.py
Actions → "Sync schedule to Canvas" → Run workflow → confirm modules appear in Canvas
🎓Canvas setup · ~30 min
✓
Set up Assignment Groups with percentage weights — DO THIS FIRST critical
Canvas → Assignments → + Group for each category → set weights to match syllabus → enable weighted grading in Course Settings. Harder to fix later.
✓
Create placeholder assignments with due dates in correct groups
Students see due dates immediately; Canvas sends automatic reminders.
✓
Set late policy: Grades → Settings (gear) → Late Policies
✓
Upload syllabus + add GitHub Pages link prominently in Canvas Syllabus page
✓
Publish the course — at least 3 days before semester starts
✓
Send intro email to students via Canvas Announcements before day 1
◻Notion · ~15 min
✓
Add new course page to Projects database (Category: Teaching) with all links
Canvas · GitHub Pages site · GitHub repo · Box folder · office hours booking link
✓
Add course to Reference → Courses taught: Semester · Course · Enrollment · New/Existing
✓
Update Home page quick links and week-1 Teaching priority
✓
Confirm weekly recurring calendar blocks are set for this semester
✓
Add any active grants to Grants database with updated deadlines
📁Box + files · ~10 min
✓
Create Box/Teaching/DS-XXXX_CourseName/ with subfolders
  • syllabus/ · evals/ · admin/ · course_redesign/
✓
Save finalized syllabus PDF: DS-XXXX_syllabus_Semester YYYY.pdf
✓
Create course redesign Google Doc → link from Box/course_redesign/
Add semester section now. Leave blank. Fill in after finals while it's fresh.
✓
Clone course repo to ~/Documents/github/teaching/ds-XXXX/ locally
🏁Week 1 habits to start immediately
✓
Open daily log day one of class — write 3 sentences
✓
Color every calendar block from the very first event
✓
Do first weekly review at end of week 1 (Friday 9am block)
✓
Start FAQ section in course project page after week 2
Every time a student asks the same question twice, add it. Cuts email volume dramatically by week 6.

Semester ready ✓

Everything is in place. Show up, teach, let the calendar track the time.

End of semester checklist

Run this in the week after finals. ~45 minutes. Reset and reuse every semester. Do it while the course is fresh — you'll thank yourself in Year 3.

Semester:
0 / 0 doneEnd of semester
🎓Grades & Canvas · first priority
✓
Submit final grades in Canvas by registrar deadline deadline
Canvas calculates the final automatically from Assignment Group weights — verify and submit. Add the registrar deadline to your calendar now if you haven't.
✓
Export Canvas gradebook CSV → Box/Teaching/DS-XXXX/evals/
Canvas → Grades → Export. Your institutional backup independent of Canvas.
✓
Archive Canvas course (not delete)
Archived courses are accessible for reference when you teach it again. Never delete.
📁Box archiving
✓
Download course eval PDF from UVA system → Box/Teaching/DS-XXXX/evals/
Filename: DS-XXXX_evals_Spring2027.pdf
✓
Save finalized syllabus version to Box/Teaching/DS-XXXX/syllabus/
Include any mid-semester amendments. This is your institutional record.
✓
Push final course materials to GitHub repo
All slides, notebooks, final assignment solutions. Commit and push everything.
◻Notion updates
✓
Paste 1–2 eval highlights into Notion Reference → Teaching evidence
The 30-second habit that makes Year 3 easy. Copy the best 1–2 sentences from the eval PDF.
✓
Note grade distribution in Notion Reference
One line: "Spring 2027 DS XXXX — mean 87%, no fails, 38 students"
✓
Update course project page status: Active → Complete
Keeps your Active projects view clean for next semester.
✓
Update Projects database Semester field for any research projects that advanced this semester
✓
Review Grants database — update status on anything that moved this semester
✓
Copy service log from Projects → Reference (committees, reviewing)
One line per committee/review with dates. Takes 3 minutes. Essential for Year 3.
✓
Do semester weekly review — count calendar color hours for the full semester
Look at the semester total in Google Calendar. Was the 75/15/10 split roughly right? Note it in the weekly review page.
✏️Course redesign — while it's fresh
✓
Write 3 sentences in course redesign doc 10 min
Open Drive course redesign doc → add semester section:
What worked: What to change: One concrete thing for next time:
✓
Note any student success stories for brag doc
Did a student land a job, get into a PhD program, give exceptional work? Add to Drive/Professional/brag-doc.gdoc and Notion Reference.
🔭Research & grants check-in
✓
Review each active research project page — update Next action for next semester
One sentence per project. Your future self needs a clear on-ramp after the break.
✓
Check Rivanna /scratch — move anything important off before the purge window
✓
Review grant pipeline — any deadlines in next semester to calendar now?
✓
Update smgroves.github.io — add any new publications, talks, or projects from this semester

Semester closed ✓

You're done. Enjoy the break — everything is documented and waiting for you in the fall.