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.