Introduction to Computational Thinking in Cities

This course is an introductory course that explores the intersection of computer science and urban planning. It is intended to highlight the Department of Urban Science and Planning as well as the new 11-6 major, Urban Science and Planning with Computer Science for freshman and sophomores who are in the process of deciding their major.

The first half of the class will explore the history of computational approaches in urban planning between circa 1950 and 2020. The second half will focus specifically on urban science topics that align with topics taught in 6.0002: Introduction to Computational Thinking and Data Science.

The motivation for this course is to highlight how computer science may inform and impact how cities are conceptualized, planned, designed, regulated and managed. We will talk about how technology can help solve issues we see in city development and, importantly, how technology cannot solve certain problems. We will talk about how socioeconomics, race, and social behaviors intertwine with quantitative and solution-oriented approaches in transportation, real estate, climate resiliency, housing in the real world.

Throughout the semester, we will have guest lectures from academia and industry talk about their journey in urban planning and computer science. Most lectures will require brief readings in preparation of class conversations. Depending on circumstances (COVID19), some weeks we may ask you to explore the city in which you are located to encounter the topics of this class first-hand. Other than that, there will be no major assignments for this class.

There are no exams or final.


First and foremost, an excitement to explore the topics of urban science and planning.

Second, although not a prerequisite, taking 6.0002 concurrently will augment your learning in this class. If you do not take 6.0002, then having knowledge of the computer science topics – knapsack algorithm, networks and graphs, simulation, and regression – can be helpful.