Skip to content

Commit 4b14997

Browse files
authored
Hide rating of special subjects (#309)
Made the "new" attribute of all special subjects true so that [evals show up as N/A](https://github.com/sipb/hydrant/blob/d52aaf12a32d6ba9f80b026668c5da347b2dbc63/src/lib/class.ts#L358-L377). Not only is this a heck that works, I also believe that special subjects are new by their nature so it's semantically valid to do so. Please let me know if this is valse. <img width="649" height="589" alt="螢幕截圖 2026-02-03 上午12 46 51" src="https://github.com/user-attachments/assets/9cc5313b-eaef-4518-979e-900f40df593f" /> 1. Catalog scraper now looks for ".S" in the class title and mark classes as "new" 2. Updated class overwrite entries to have `"new": true`. Also updated course 6 special subject scraper. I believe this is not even necessary because the course catalog has these class codes already it's just fail-proof. We also already do it [here](https://github.com/sipb/hydrant/blob/main/scrapers/overrides.toml.d/sem/12-sp.toml) and [here](https://github.com/sipb/hydrant/blob/main/scrapers/overrides.toml.d/sem/11.toml), for example. Other solutions include adding conditionals to hydrant to hide evaluations of special subjects, or add a flag to `RawClass` for special subjects. Open to discussion if people think these are better. Closes #141.
1 parent d52aaf1 commit 4b14997

File tree

11 files changed

+42
-3
lines changed

11 files changed

+42
-3
lines changed

scrapers/catalog.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,7 @@ def is_new(html: BeautifulSoup) -> bool:
217217
Returns:
218218
bool: True if the class is new
219219
"""
220-
if html.find(string=re.compile(r"\(New\)")):
220+
if html.find(string=re.compile(r"\(New\)|\.S")):
221221
return True
222222
return False
223223

scrapers/departments/eecs_special_subjects.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -292,7 +292,7 @@ def parse_row(row: Tag) -> dict[str, dict[str, Any]]:
292292
"""
293293
header = row.get_text(" ", strip=True)
294294
course, title, same_as = parse_header(header)
295-
data = {"url": f'{FRONTEND_URL}#{course.replace(".", "_", 1)}'}
295+
data = {"url": f'{FRONTEND_URL}#{course.replace(".", "_", 1)}', "new": True}
296296

297297
if title:
298298
data["name"] = title

scrapers/overrides.toml.d/sem/11.toml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ meets = "11.S945"
1010
description = "Every landscape represents an incomplete or interrupted plan that tells time and intention. Physical landscapes provide evidence of successful, failed and emergent development plans, but only the learned eye sees beyond the material culture of the street. “Death” offers a way to conceptualize the unseen, underground, the underneath, the liminal space between what we know, what is actual and what is yet to be. Linking social theory, geography, public policy and planning history, this course asks: How can planners and critical observers of the built environment begin to access the collection of meanings that script the movement, stasis and location of everyday users? In other words, how do we move beyond official maps, plans and histories to consider contested meanings of place as they are lived, exchanged and created. Through weekly examinations of first person documentary accounts including ethnography, historical fiction, autobiography, film and novels, students will analyze the social, political and geographic impact of various land development strategies in the U.S. and beyond. Displacement defines a major theme of this course -- students will examine: 1) How does this happen? 2) What have been subsequent local responses? And, 3) What are the lasting consequences of population dispersals? \n\nInformed by ethnographic method and archival immersion, this course will provide students with an interdisciplinary framework for identifying and describing the social impact of place-based change and capital movement. Students will develop a critical understanding of urban planning informed by resident-authored analysis across time and space."
1111
name = "(Un)Dead Geographies: The Afterlife of Urban Plans"
1212
inCharge = "Karilyn Crockett"
13+
new = true
1314

1415
["11.S195"]
1516
lectureUnits = 1
@@ -22,6 +23,7 @@ prereqs = "6.C01/51"
2223
description = "Building on core material in 6.C01/51, emphasizes the design and operation of sustainable systems and the application of machine learning to real-world planning and policy challenges. Students learn to leverage data from urban services, cities, and the environment to evaluate and/or improve sustainability solutions. Projects focus on using machine learning to identify new insights or decisions that advance equity and sustainability in societal-scale systems. This (H4) course meets together with 1.C01/51. Students cannot receive credit without completion of the core subject (H3) 6.C01/51."
2324
name = "Machine Learning for Sustainable Systems"
2425
inCharge = " Cong Cong, Saurabh Amin"
26+
new = true
2527

2628
["11.S939"]
2729
lectureUnits = 8
@@ -32,6 +34,7 @@ level = "G"
3234
description = "Making Good on Baltimore as a Just City: Building Solutions For A Vacant Housing Crisis, as a practicum will have students immersed in two related projects: Develop a complex revitalization plan for a neglected city neighborhood using the case scenario, The Urban Plan (UP) and complete deliverables for a real client, Flight Blight Baltimore. The UP case scenario activities examine the nexus between development and urban planning. Students will go through an eight-stage development process model, and the material will cover idea conception, feasibility, planning, financing, market analysis, contract negotiation, construction, and asset management. Other topics discussed include but are not limited to market analysis, site acquisition, due diligence, zoning, entitlements, approvals, site planning, building design, construction, financing, leasing, and ongoing management and disposition. \n\nWorking on a project for a client will allow students to solve a community challenge in real-time, pushing students to rethink the concept of stakeholder engagement in vacant housing underutilized infrastructure in Baltimore. Students will engage the idea of using citizen engineers to explore how the current demolish vacant building initiative by the City of Baltimore can integrate resident perspective in the city’s neighborhood stabilization initiatives. Part of this course will also explore how emerging vacant building assessment digital technology certification in the job market is linked to just banking and economies. The primary deliverables will center on data collection and analysis, and mapping. During the practicum experience, students will create their personal theory of practice, develop reflective practice strategies, and learn and deploy community engagement strategies."
3335
name = "Making Good on Baltimore as a Just City: Building Solutions For A Vacant Housing Crisis"
3436
inCharge = "Holly Harriel"
37+
new = true
3538

3639
["11.S941"]
3740
lectureUnits = 3
@@ -42,6 +45,7 @@ level = "G"
4245
description = "Building on the department’s work with Ukrainian mayors through the Ukraine Community Recovery Academy, the Spring 2026 practicum, Innovation in Ukraine, will center on the city of Vinnytsia, a region of 400,000 and the development of its innovation ecosystem. This topic, chosen by the Mayor of Vinnytsia’s office, will examine how to build upon the region’s innovation assets (e.g., universities, entrepreneurs, industries, city planning/built environment) using US, European and other models of national/regional innovation systems. The practicum will work with city and regional leaders to identify forward-looking pilot ideas that speak to near-term opportunities in the midst of the current wartime conflict, as well as strategies for building a strong foundation for innovation-led growth in the future. The goal is to generate both outcomes and a methodology that could potentially be applicable and scalable to other parts of Ukraine and other conflict areas in an increasingly unpredictable geopolitical context. We will explore the intersection of key stakeholders, functions within an innovation ecosystem, and industries, and look at how private-public partnerships could shape core pillars of an innovation ecosystem (talent, entrepreneurship, technology, built environment), to create a more robust innovation engine in Vinnytsia to generate shared prosperity."
4346
name = "Innovating in Ukraine"
4447
inCharge = "Elisabeth Reynolds"
48+
new = true
4549

4650
["11.S942"]
4751
lectureUnits = 1
@@ -54,6 +58,7 @@ prereqs = "6.C01/51"
5458
description = "Building on core material in 6.C01/51, emphasizes the design and operation of sustainable systems and the application of machine learning to real-world planning and policy challenges. Students learn to leverage data from urban services, cities, and the environment to evaluate and/or improve sustainability solutions. Projects focus on using machine learning to identify new insights or decisions that advance equity and sustainability in societal-scale systems. This (H4) course meets together with 1.C01/51. Students cannot receive credit without completion of the core subject (H3) 6.C01/51."
5559
name = "Machine Learning for Sustainable Systems"
5660
inCharge = "Cong Cong, Saurabh Amin"
61+
new = true
5762

5863
["11.S943"]
5964
lectureUnits = 2
@@ -64,6 +69,7 @@ level = "G"
6469
description = "Urban Political Economy is a vibrant field of inquiry that centers on the various ways in which forms of social power shape urban governance. The field emerged in partial response to Chicago School urban sociology and, inspired by the social turmoil of the 1960s, developed new analytic tools that centered on issues such as the production of space and the role of capitalist relations in shaping uneven urban development. As the field continued to evolve through the rest of the 20th century and in to the 21st, it addressed burning questions of politics, race, rights, social justice, globalization, financialization, and computation. It also helped to break new methodological ground in the social sciences by bringing new strategies for addressing social processes across scales (urban, regional, national, global, planetary). This course aims to chart the frontiers of the field through a combination of sessions that focus on foundational texts and presentations by invited guest speakers whose work is pushing the boundaries of the field."
6570
name = "Frontiers of Urban Political Economy"
6671
inCharge = " Jason Jackson"
72+
new = true
6773

6874
["11.S945"]
6975
lectureUnits = 3
@@ -74,6 +80,7 @@ level = "G"
7480
description = "Every landscape represents an incomplete or interrupted plan that tells time and intention. Physical landscapes provide evidence of successful, failed and emergent development plans, but only the learned eye sees beyond the material culture of the street. “Death” offers a way to conceptualize the unseen, underground, the underneath, the liminal space between what we know, what is actual and what is yet to be. Linking social theory, geography, public policy and planning history, this course asks: How can planners and critical observers of the built environment begin to access the collection of meanings that script the movement, stasis and location of everyday users? In other words, how do we move beyond official maps, plans and histories to consider contested meanings of place as they are lived, exchanged and created. Through weekly examinations of first person documentary accounts including ethnography, historical fiction, autobiography, film and novels, students will analyze the social, political and geographic impact of various land development strategies in the U.S. and beyond. Displacement defines a major theme of this course -- students will examine: 1) How does this happen? 2) What have been subsequent local responses? And, 3) What are the lasting consequences of population dispersals? \n\nInformed by ethnographic method and archival immersion, this course will provide students with an interdisciplinary framework for identifying and describing the social impact of place-based change and capital movement. Students will develop a critical understanding of urban planning informed by resident-authored analysis across time and space."
7581
name = "(Un)Dead Geographies: The Afterlife of Urban Plans"
7682
inCharge = "Karilyn Crockett"
83+
new = true
7784

7885
["11.S946"]
7986
lectureUnits = 2
@@ -84,6 +91,7 @@ level = "G"
8491
description = "Housing is in crisis globally, including the US, from a pandemic of evictions, displacement and lack of resettlement, lack of affordability and criminalization of homelessness to migration, the increasing lack of access to land and the lack of adequate legal recognition and protection of housing and land. A housing justice perspective, drawing on the work of the instructor as UN Special Rapporteur on the Right to adequate housing, will be used in this seminar to engage with the multiple dimensions of the global housing crisis, which coincides with multiple other crises. The seminar will include a theoretical grounding of 'housing justice', an analytical understanding of the key challenges to achieving housing justice, and an exposure to the most promising work done to meet those challenges."
8592
name = "Housing Justice"
8693
inCharge = "Balakrishnan Rajagopal"
94+
new = true
8795

8896
["11.S947"]
8997
lectureUnits = 3
@@ -94,6 +102,7 @@ level = "G"
94102
description = "This class will explore despondency, rage, pessimism concerning one's own future and the future of society, and the absence of meaningful social relationships as symptoms of US political, economic, and social decline. The various analyses of these problems and suggested interventions will be reviewed. This class will mainly be an intensive reading and discussion seminar. Discussions and paper topics will be grounded in viewing videotaped testimonies from NYC's \"Racial Justice Commission\" during 2020-2021."
95103
name = "Understanding Alienation and Moral Injury"
96104
inCharge = "J. Phillip Thompson"
105+
new = true
97106

98107
["11.S948"]
99108
lectureUnits = 3
@@ -104,6 +113,7 @@ level = "G"
104113
description = "Los Angeles, New York, Chicago, Oakland, Seattle, and Raleigh have all recently elected mayors on the political Left. Do the mayors share common ideologies or policy prescriptions? Were their electoral coalitions similar? How do they deliver on promises given their state and the national political climate? The course will rely heavily on newspaper, magazine, and online reports as well as readings on federalism and cities. Speakers will various cities will be invited to speak via Zoom."
105114
name = "Can Cities on the Left Govern?"
106115
inCharge = " J. Phillip Thompson"
116+
new = true
107117

108118
["11.S938"]
109119
lectureUnits = 3
@@ -114,3 +124,4 @@ level = "G"
114124
description = "Class examines issues of urbanism via the interdisciplinary field of night studies, and examines and analyzes important issues in urban studies and planning and architecture--particularly governance, urban design, environmental policy and practice, transportation, economic development, and design of the public realm--by focusing on the night. Attention is also paid to issues of temporality--like Kevin Lynch did in What Time is This Place--and focuses on time as an instrument of design. Special focus is on city development through managing darkness and the night and the many rhythms of labor, leisure, and city life, especially through the emergence of the new role of night mayors that have sprung up all over the world."
115125
name = "The Dark City: Nocturnal Rhythms of the Urban Landscape"
116126
inCharge = "Garnette Cadogan"
127+
new = true

scrapers/overrides.toml.d/sem/15-sp.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ level = "G"
99
description = "This seminar builds on study of energy, power grid, and consumer market dynamics to collaboratively consider promising new Strategic Pathways, with group proposals and support from guests including AI-Power nexus thought leaders, and business leaders.\n\nEnergy Management provides what the market needs from energy in a cleaner, lower cost, and better functioning way for businesses and consumers. Energy Management's component technologies, analytics, financing, and services have grown in aggregate to be a larger industry than energy supply, reducing consumer costs, emissions and aggregate energy demand, but always transformative with opportunities for innovation. \n\nA new era for Energy Management is now here, driven by AI with great promise for today’s power grid and climate needs. Power grid dynamics are also in dramatic transition - as the result of electrification and data centers, after decades of load reduction largely the result of energy management’s successes. This year’s Energy Management Strategies seminar therefore puts focus on recent and next-wave Agentic AI-enabled innovations and market forces, including:\n\n State-of-the-art building and power grid dynamics, with cases of next wave Innovative Leader companies and technologies.\n Energy Efficiency and Building Automation technologies, services and financing; with cases of AI-enabled business processes.\n Next Gen Site Solar and Storage, Community microgrids, Virtual Power Plants, building-to-grid energy retailers and load management.\n AI-enabled paths in Building Automation, Analytics, and Machine Learning - with focus on Agentic AI specifically.\n\nNote: Classes biweekly in H3, but Thursday Only in H4. T, Th 1-2:30 E62-450. "
1010
name = "Energy Management and AI: Strategies for a Sustainable Future"
1111
inCharge = "Harvey Michaels"
12+
new = true
1213

1314
["15.S16"]
1415
lectureUnits = 3
@@ -30,3 +31,4 @@ level = "G"
3031
prereqs = "15.814 or 15.8141"
3132
name = "Advertising and Promotions"
3233
inCharge = "Jimin Nam"
34+
new = true

scrapers/overrides.toml.d/sem/17-sp.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33
["17.S917"]
44
name = "AI Alignment: Moral, Political, and Computational Foundations"
55
description = "This seminar draws on political theory, political science, and computational methods to prepare students to critically assess how well AI systems reflect moral and political values, and what it would take to ensure a better fit."
6+
new = true
67

78
["17.S918"]
89
name = "Democratic Backsliding and Breakdown"
910
description = "This class explores why democracies endure or collapse. The cases covered are wide-ranging, but special attention will be paid to Interwar Europe, particularly Germany; former British colonies from 1960-2010; recent cases of backsliding or breakdown that were either successfully opposed (South Korea, Poland, Brazil) or that led to a non-democratic regime (Hungary, Turkey, and India); and the political future of the United States."
11+
new = true

scrapers/overrides.toml.d/sem/21h.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,12 @@ description = "Traces the global, material history of computing from the ninetee
66
inCharge = "B. Lindquist"
77
hass = ["H"]
88
url = "https://history.mit.edu/subjects/special-subject-history/"
9+
new = true
910

1011
["21H.S04"]
1112
name = "The Global Offshore"
1213
description = "This course explores the history of the offshore world from the advent of the law of the sea and imperial colonization to the Panama Papers and use of CIA black sites. Students will explore the relationship between empire and globalization, the development of international law, the meaning of borders, and the rise of neoliberalism. The offshore world is a place that exists in the margins, a place of exception where the normal rules of the mainland do not apply. But what transpires there has fundamentally shaped the history of the modern world. This course will examine the economics, law, and practice of the offshore world. The history of that world is the history of globalization and global capitalism as seen from its seedy underbelly. Its story is punctuated with backroom deals, violent exploitation, tax dodging, and outright theft."
1314
inCharge = "I. Kumekawa"
1415
url = "https://history.mit.edu/subjects/special-subject-history-4/"
1516
hass = ["H"]
17+
new = true

scrapers/overrides.toml.d/sem/24.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,4 @@ prereqs = "Open to undergraduates and to graduate students from other department
1010
description = "This seminar is offered in the context of the MIT Linguistics initiative to introduce high school students to language science. A major objective of the initiative is to design lessons and activities that will excite students about the scientific study of human language. We will pursue our work with this objective in mind, using the class as a course design and teaching laboratory. "
1111
name = "Linguistics in K-12 Education"
1212
inCharge = "M. Honda, C. Lesure"
13+
new = true

0 commit comments

Comments
 (0)