Sign up to hear about lectures, seminars, and events across departments and centers.
Filter by topic
A curated list of Princeton University departments and centers offering mailing list sign-ups for events and talks, with thematic tags and sign-up instructions.
Department / Center
How to Sign Up
Thematic Tags
No results — try adjusting your search or filters.
const DATA = [
{ name:”Computer Science Department”, url:”https://lists.cs.princeton.edu/mailman/listinfo”, method:”Self-subscribe via Mailman listserv (talks list open to all)”, tags:[“Computer Science”,”AI / ML”,”Theory”,”Systems”] },
{ name:”Center for Information Technology Policy (CITP)”, url:”https://citp.princeton.edu/about/subscribe/”, method:”Web form — weekly newsletter; separate undergrad & grad listservs”, tags:[“Tech Policy”,”AI / ML”,”Privacy”,”Internet”] },
{ name:”Princeton Neuroscience Institute (PNI)”, url:”https://pni.princeton.edu/news”, method:”Newsletter sign-up on PNI News page (monthly)”, tags:[“Neuroscience”,”Cognitive Science”,”Biology”] },
{ name:”Department of Economics”, url:”https://economics.princeton.edu/newsletter-sign-up/”, method:”Web form — departmental newsletter”, tags:[“Economics”,”Finance”,”Public Policy”] },
{ name:”Bendheim Center for Finance (BCF)”, url:”https://bcf.princeton.edu/subscribe/”, method:”Web form — events & research updates”, tags:[“Finance”,”Economics”] },
{ name:”Andlinger Center for Energy & the Environment”, url:”https://acee.princeton.edu/about/newsletter-archive/”, method:”Mailchimp form — monthly newsletter”, tags:[“Energy”,”Environment”,”Climate”,”Engineering”] },
{ name:”High Meadows Environmental Institute (HMEI)”, url:”https://environment.princeton.edu/”, method:”Newsletter sign-up on HMEI homepage”, tags:[“Environment”,”Climate”,”Sustainability”] },
{ name:”Sustainability at Princeton”, url:”https://sustain.princeton.edu/subscribe-sustainability-newsletter”, method:”Web form — monthly newsletter”, tags:[“Sustainability”,”Environment”,”Climate”] },
{ name:”Keller Center for Innovation in Engineering Education”, url:”https://kellercenter.princeton.edu/subscribe-our-mailing-list”, method:”Web form — Weekly Bulletin (Thu) & Events Bulletin (Mon)”, tags:[“Entrepreneurship”,”Innovation”,”Engineering”] },
{ name:”Princeton Engineering (School of Engineering & Applied Science)”, url:”https://engineering.princeton.edu/resources/events-newsletter”, method:”Events newsletter — sign up on page”, tags:[“Engineering”,”STEM”,”Applied Science”] },
{ name:”Department of History / Center for Collaborative History”, url:”https://history.princeton.edu/mailing-list”, method:”Web form — weekly events e-newsletter”, tags:[“History”,”Humanities”] },
{ name:”Princeton Humanities Council”, url:”https://humanities.princeton.edu/events/”, method:”Events calendar on website; contact council for list subscription”, tags:[“Humanities”,”Interdisciplinary”,”Literature”,”Philosophy”] },
{ name:”Lewis Center for the Arts”, url:”https://arts.princeton.edu/”, method:”Newsletter sign-up on homepage”, tags:[“Arts”,”Theater”,”Creative Writing”,”Music”,”Dance”] },
{ name:”Princeton School of Public & International Affairs (SPIA)”, url:”https://spia.princeton.edu/contact-us”, method:”Newsletter sign-up via ‘Stay Informed’ on contact page”, tags:[“Public Policy”,”International Affairs”,”Government”] },
{ name:”Princeton Institute for International & Regional Studies (PIIRS)”, url:”https://piirs.princeton.edu/”, method:”Events posted on homepage; contact PIIRS directly to be added”, tags:[“International Studies”,”Global Affairs”,”Area Studies”] },
{ name:”Reimagining World Order (RWO)”, url:”https://rwo.princeton.edu/join-mailing-list”, method:”Web form — mailing list for events”, tags:[“International Relations”,”Political Science”,”Global Affairs”] },
{ name:”Health Professions Advising (HPA) — HPA Vitals”, url:”https://hpa.princeton.edu/vitals”, method:”Sign-up form on HPA Vitals page — weekly newsletter during school year”, tags:[“Pre-Health”,”Medicine”,”Career”] },
{ name:”Mechanical & Aerospace Engineering (MAE)”, url:”https://maesite2.deptcpanel.princeton.edu/maeit/index.php/listservs/”, method:”Self-subscribe via Mailman — MAE news & seminars lists”, tags:[“Engineering”,”Aerospace”,”Mechanical Engineering”] },
{ name:”Princeton ACS (Chemistry)”, url:”https://www.princeton.edu/~pacs/subscribe.htm”, method:”Email list subscription form — newsletter & announcements”, tags:[“Chemistry”,”Science”] },
];
const TAG_COLORS = {
“Computer Science”:”#1a1a2e”,”AI / ML”:”#16213e”,”Theory”:”#0f3460″,”Systems”:”#533483″,
“Tech Policy”:”#2b2d42″,”Privacy”:”#4a5568″,”Internet”:”#457b9d”,
“Neuroscience”:”#2d6a4f”,”Cognitive Science”:”#40916c”,”Biology”:”#1b4332″,
“Economics”:”#9c4221″,”Finance”:”#bc4749″,”Public Policy”:”#6b4226″,
“Energy”:”#c05621″,”Environment”:”#4a7c59″,”Climate”:”#2d5016″,
“Engineering”:”#264653″,”Sustainability”:”#4a7c59″,”Entrepreneurship”:”#b7791f”,
“Innovation”:”#c05621″,”Applied Science”:”#023e8a”,”STEM”:”#0077b6″,
“History”:”#6b2d8b”,”Humanities”:”#553c7b”,”Literature”:”#7b3fa0″,”Philosophy”:”#5e3a8a”,”Interdisciplinary”:”#4a3570″,
“Arts”:”#7b2d8b”,”Theater”:”#6a0572″,”Creative Writing”:”#8b2fc9″,”Music”:”#c2185b”,”Dance”:”#6a1b9a”,
“International Affairs”:”#03045e”,”Government”:”#023e8a”,”International Studies”:”#0077b6″,
“Global Affairs”:”#005f8e”,”Area Studies”:”#0096c7″,”International Relations”:”#03045e”,”Political Science”:”#023e8a”,
“Pre-Health”:”#276749″,”Medicine”:”#1d4e35″,”Career”:”#3a6a4a”,
“Aerospace”:”#37474f”,”Mechanical Engineering”:”#455a64″,
“Chemistry”:”#b83c1a”,”Science”:”#c04a28″,
};
function tagColor(t) { return TAG_COLORS[t] || “#555”; }
const allTags = […new Set(DATA.flatMap(d => d.tags))].sort();
let activeTags = [];
// Build tag filter buttons
const tagFilters = document.getElementById(“tag-filters”);
allTags.forEach(tag => {
const btn = document.createElement(“button”);
btn.className = “tag-btn”;
btn.textContent = tag;
btn.dataset.tag = tag;
btn.setAttribute(“aria-pressed”, “false”);
btn.addEventListener(“click”, () => toggleTag(tag));
tagFilters.appendChild(btn);
});
// Build table rows
const tbody = document.getElementById(“table-body”);
DATA.forEach(row => {
const tr = document.createElement(“tr”);
tr.dataset.name = row.name.toLowerCase();
tr.dataset.tags = row.tags.join(“,”).toLowerCase();
// Dept cell
const tdName = document.createElement(“td”);
const a = document.createElement(“a”);
a.href = row.url;
a.target = “_blank”;
a.rel = “noopener noreferrer”;
a.className = “dept-link”;
a.textContent = row.name;
a.setAttribute(“aria-label”, `${row.name} — sign-up page (opens in new tab)`);
tdName.appendChild(a);
// Method cell
const tdMethod = document.createElement(“td”);
tdMethod.className = “method-cell”;
tdMethod.textContent = row.method;
// Tags cell
const tdTags = document.createElement(“td”);
const tagList = document.createElement(“div”);
tagList.className = “tag-list”;
row.tags.forEach(tag => {
const btn = document.createElement(“button”);
btn.className = “tag”;
btn.textContent = tag;
btn.dataset.tag = tag;
btn.style.background = tagColor(tag);
btn.setAttribute(“aria-pressed”, “false”);
btn.setAttribute(“aria-label”, `Filter by topic: ${tag}`);
btn.addEventListener(“click”, () => toggleTag(tag));
tagList.appendChild(btn);
});
tdTags.appendChild(tagList);
tr.appendChild(tdName);
tr.appendChild(tdMethod);
tr.appendChild(tdTags);
tbody.appendChild(tr);
});
function toggleTag(tag) {
if (activeTags.includes(tag)) {
activeTags = activeTags.filter(t => t !== tag);
} else {
activeTags.push(tag);
}
updateFilterUI();
filterRows();
}
function updateFilterUI() {
// Update filter bar buttons
document.querySelectorAll(“.tag-btn”).forEach(btn => {
const active = activeTags.includes(btn.dataset.tag);
btn.classList.toggle(“active”, active);
btn.setAttribute(“aria-pressed”, active ? “true” : “false”);
btn.style.background = active ? tagColor(btn.dataset.tag) : “transparent”;
btn.style.color = active ? “#fff” : “#444”;
btn.style.borderColor = active ? tagColor(btn.dataset.tag) : “#ccc”;
});
// Update in-row tag buttons
document.querySelectorAll(“.tag”).forEach(btn => {
const active = activeTags.includes(btn.dataset.tag);
btn.classList.toggle(“active”, active);
btn.setAttribute(“aria-pressed”, active ? “true” : “false”);
});
// Show/hide clear button
const clearBtn = document.getElementById(“clear-btn”);
clearBtn.style.display = activeTags.length > 0 ? “inline” : “none”;
}
function filterRows() {
const query = document.getElementById(“search”).value.toLowerCase().trim();
let visible = 0;
document.querySelectorAll(“#table-body tr”).forEach(tr => {
const matchSearch = !query || tr.dataset.name.includes(query) || tr.dataset.tags.includes(query);
const rowTags = tr.dataset.tags.split(“,”);
const matchTags = activeTags.length === 0 || activeTags.every(t => rowTags.includes(t.toLowerCase()));
const show = matchSearch && matchTags;
tr.classList.toggle(“hidden”, !show);
if (show) visible++;
});
document.getElementById(“count”).innerHTML = `Showing ${visible} of ${DATA.length} sources`;
document.getElementById(“empty”).style.display = visible === 0 ? “block” : “none”;
}
document.getElementById(“search”).addEventListener(“input”, filterRows);
document.getElementById(“clear-btn”).addEventListener(“click”, () => {
activeTags = [];
updateFilterUI();
filterRows();
});
// Initial render
filterRows();