Projects in Computing for Sustainability

CS 3892 – Project Special Topics

Spring 2024

Basics

  • Time and Place: Stevenson 5, Rm 312; MWF 1:25 pm – 2:15 pm from Monday January 8, 2024 to Monday, April 22, 2024, except MLK Day on Monday, January 15 and Spring Break from March 9 to March 17.
  • Prerequisite: CS 3251
  • Prerequisites or co-requisites: at least two CS depth courses as specified in the VU CS catalog requirements, item 6.
  • Immersion Showcase Event, Thursday, April 18, 5:00 pm – 7:00 pm, FGH Atrium — required;
  • Final Poster Session, Wednesday May 1 from 10:00 am – 11:00 am (during our final exam slot) on the 4th floor of the Sony Building (1400 18th Ave S) —  required, but can  attend by Zoom by coordinating with teammates.

Overview

Students specify, design, implement, document, evaluate, and present computing applications in support of environmental and human sustainability. The course satisfies the Project Course requirement for CS students. The course is intended to (a) exercise students’ computer science knowledge and skills, (b) exercise creativity, (c) exercise self-guided learning, (d) exercise communication and collaboration skills, (e) exercise conservationist/environmental/community spirit, and (f) exercise the connections between them all.

While some might be skeptical about the relevance of computing to sustainability, the potential applications are considerable. Don’t forget, pro and con, computing is ubiquitous, and many of us wish that sustainability consciousness were too.

Possible projects will address computing’s role in one or more broad sustainability areas such as wildlife protection and awareness, climate and ocean change, urban and residential design and operations, energy grids, product design and production, transportation, safe drinking water, infrastructure resilience,  agriculture, sustainability education, sustainability investment, and human flourishing.

Computational areas that are utilized in projects are wide ranging, to include machine learning, knowledge engineering, optimization, sensor networks, robotics, AI storytelling and journalism, agent-based modeling, mathematical modeling, image processing, databases, virtual and augmented reality, and other areas of analytical and generative AI. Student knowledge of these computing areas will have resulted from prior courses, but there will be additional material in this course.

Methodologies will vary, and many projects will be characterized by a combination of methodologies. All projects will include empirical evaluation through computational experiments. Some projects will benefit from user studies, which are not required during a one-semester course, but plans for such studies may be appropriate as part of the project deliverables.

Various kinds of computational and mathematical analyses will be important in many cases, and can themselves be the basis of a project. For example, discounting the future is a common assumption in AI and economic analyses of decision policies. Discounting has the advantage of matching human behavior and has nice mathematical implications, but its a terrible philosophy for your grandchildren. Indeed, AI might be profitably used to complement human myopia by amplifying the future rather than discounting it.

For some team projects it will be appropriate to include an analysis of the projected ecological footprint, an environmental impact report if you will, of the fielded project. For example, some machine learning and virtual reality projects require considerable energy, which may run counter to and eclipse sustainability goals. More generally, you will think through broader impacts of your projects, both the obvious and immediate implications, but also using methodologies like design fiction to elicit potential consequences that would otherwise be unintended consequences if the system was fielded by myopic developers.

You will also be communicating your project to various publics, most notably each other and to those outside the class through the immersion showcase, but we will explore additional modalities to the standard report and poster, such as podcasts, journalism, and art. We’ll probably talk about the ability of AIs to communicate science and technology, autonomously and with humans, in these modalities as well.

Course Organization

As already noted, team projects are at the core of this course. The first third of the course investigates areas, forms groups, and develops project specifications. A criterion for the team projects is that they be systems-level designs that address various, complementary functions, even if the implementation of components within this design are more limited. An important injunction in sustainable development is avoidance of myopically-conceived and deployed applications — if a project is something that you can imagine doing for a hackathon in 2-3 all-nighters, then its not suitable by itself for this course, though it could be a component in a larger system that is suitable.

There will be guest speakers and discussants throughout the semester, and along the way we will cover computing topics such as artificial intelligence, machine learning, prompt engineering, but as with any project course in CS, we will depend most on the CS that you have already learned in previous courses. Evidence of self-directed learning is important in CS project courses as well.

Attendance in class is required.

Quizzes will be on Wednesdays or Fridays of each week, usually at the start of class, unless otherwise noted in the Schedule (below). A quiz will be on the previous week’s reading, discussion (including on Piazza), guest panels, and lecture. These quizzes are not intended to be difficult, but just a check that you’ve read and understood the material, listened in class, and stayed up with discussions. In the latter half of class teams will be giving project updates in class, and you are responsible for those on the quizzes as well. You must take the quiz in class, but you can take a quiz a second time up until 11:59 pm on the same day — your quiz score is the average of your attempts.

A synthesis short paper/essay requires that you write  on a theme that brings together at least three papers/videos/audios. One paper is Gomes et al in Week 1. The second (distinct) paper/video/audio is taken from among those that were required for class (your choice). The third (distinct) paper is your choice too, but may be a paper that was required for class or not. Your short paper may, of course, reference and discuss other papers as well.

Tools: Attendance will be taken on Top Hat (Join code: 789439). My lecture slides will be on Top Hat as well. Quizzes will be online on Brightspace. Discussions will take place on Piazza. I allow you to share ideas regarding all aspects of system development on Piazza. I believe in knowledge sharing in a course like this. A rule of thumb is that if you share project-relevant ideas and materials with any other team, then you must share with all other teams (i.e., on Piazza or in class). Finally, you can use AI to help with any aspect of project development, as if the AI were an additional team member, but any help from AI must be declared and explained as part of the relevant deliverables.

Grading

  • Attendance is 5% of your grade if you are on time and regular, but is up to 40% of your grade if you are not on time and/or not regular. Between perfect attendance (5%) and complete absence (40%) there is a continuum (a linear function), where excess percentage for absence is taken proportionally from other grading categories. I am happy to excuse absence as a result of illness, job interviews, and the like, if you let me know in advance, even if only by a little bit (e.g., in the case of illness or family emergency).
  • Weekly quizzes on lectures, guest panels, readings, audiovisual, discussion 8%
  • Synthesis essay 7%
  • Team project (including updates, intermediate and final deliverables, presentations, and exhibitions) 80%

When grading a project I do not start at 100% and look for reasons to grade downwards. Rather, I start with a default that I think is consistent with normative performance (e.g., a B+ of 88%) and look for reason to move the grade up or down. That said, I’m not shy about giving A+ grades (of 98%-100%) if I think the work is excellent.

The final letter grade breakdown is

  • [93, 100] A (a very few A+s may be given)
  • [90, 93) A-
  • [88, 90) B+
  • [83, 88) B
  • [80, 83) B-
  • [78, 80) C+
  • [73, 78) C
  • [70, 73) C-
  • [68, 70) D+
  • [63, 68) D
  • [60, 63) D-
  • [0, 60) F

There is no “curve”, and thus no disincentive to share your knowledge and insights.

Honor Code

Fundamentally, the honor code is about giving credit to others where credit is due, which allows for a more accurate assessment of your knowledge and it better ensures community trust and the societal benefits that stem from that trust.

For this class

  • you are encouraged to use AI tools to design, implement, document, and evaluate your programming project;
  • you can work freely with your project team members about the project (this should go without saying, but I am saying it anyways);
  • you may ONLY discuss the programming project with other students (outside your team) over public posts to the discussion forum or through in-class team presentations and Q&A;
  • you may NOT consult with other people, AIs, readings, notes, discussion, slides, etc while you are actually taking a quiz, but you can consult all other sources, except other people, between attempts;
  • when recording your attendance on Top Hat you must be in the classroom (or on Zoom if its a Zoom class day).

Schedule

  • Weeks 1-4 are focused on ideation
  • Weeks 5-6 are focused on specification
  • Weeks 7-11 are focused on design
  • Weeks 12-13 are focused on evaluation, documentation, communication, and broader impacts
  • Weeks 14-15 are focused on reflection, retro and future

All guests are Vanderbilt faculty and staff, except where noted.

  • Week 2 Project Ideation

    • Preparation
    • Class Meetings
      • Monday January 15 MLK Day (no class)
      • Wednesday January 17:  Guest panel on computing for social good (Abhishek Dubey, Meiyi Ma, and Ayan Mukhopadhyay); Quiz on Week 1
      • Friday January 19: Guest Panel on Data Science for social good (Jesse Spencer-Smith, Charreau Bell, Amber Miller, Jesse Blocher); Quiz on Week 1 continued
  • Week 5 Project Specification
  • Week 6 Project Specification and initial design

    • Preparation
    • Class Meetings
      • Monday February 12: Analysis of ecological footprints; AIs for environmental impact analysis
      • Wednesday February 14 Work in groups
        • Quiz on Week 5 (outside of class; materials from week 4 that were not quizzed in week 5);
      • Friday February 16: Project Idea Bullet Presentations
  • Week 7 Project loop (design, implementation, evaluation)

    • Preparation
    • Class Meetings
      • Monday February 19: Doug’s synthesis and feedback on projects
      • Wednesday February 21*: No class: Work in groups
      • Friday February 23: Quiz on Week 6; Wikipedia and Wikibooks exercise part 1
  • Week 8 Project loop (Communication of Science and Technology)

    • Preparation
    • Class Meetings
      • Monday February 26: Guest panel on communicating science (Kendra Oliver, Stephen Ornes, David Wright)
      • Wednesday February 28: Wikipedia and Wikibooks exercise part 2
      • Friday March 1: Work in groups
    • Submit project updates (Friday, 11:59 pm)
  • Week 9 Project loop (design, implementation, evaluation), presentations

    • Preparation
    • Class Meetings
      • Monday March 4 Team Design presentations
      • Wednesday March 6 Team Design presentations
      • Friday March 8 Team Design presentations
  • Spring Break (Saturday March 9 – Sunday March 17)
  • Week 10 Project loop (design, implementation, evaluation)

    • Preparation
    • Class Meetings
      • Monday March 18: work in project groups; no attendance taken
      • Wednesday March 20*: no class (in lieu of immersion showcase — 3 total classes)
      • Friday March 22: Look at semester; Poster; Wikipedia exercise continued
  • Week 11 Project loop (design, implementation, evaluation)

    • Preparation
    • Class Meetings
      • Monday March 25*: no class (in lieu of immersion showcase )
      • Wednesday March 27*: Quiz on Week 10; Work in groups; no attendance taken
      • Friday March 29: Posters
    • Submit initial project evaluation
  • Week 12 Evaluation, documentation, and broader impacts
    • Preparation
    • Class Meetings
      • Monday April 1: work in groups in class
      • Wednesday April 3work in groups in class
      • Friday April 5: Team Project Practice Poster Session (in classroom and in hall outside classroom)
  • Week 13 Formal presentations and communication

    • Preparation
    • Class Meetings
      • Monday April 8 posters
      • Wednesday April 10: posters
      • Friday April 12: no class (in lieu of immersion showcase)
    • Thursday April 11 1:00 PM. Team poster files due for printing before the Project Immersion exhibition (next week). 
  • Week 14 Retrospection

    • Preparation
    • Class Meetings
      • Monday April 15 AI ethics and societal impacts
      • Wednesday April 17 Professor Michael Bess (History)
      • Friday April 19 Professor Julie Johnson, CS DUS (tentative)
    • Thursday April 18 5:00 pm – 7:00 pm FGH. Atrium CS Project Immersion exhibition. Counts towards an individual’s project grade.
  • Week 15 Retrospection

    • Preparation
    • Class Meetings
      • Monday April 22 Complete Wikipedia exercise; final letter grade explanations

No Final Exam, but final poster session is Wednesday May 1 from 10:00 am – 11:00 am (during our final exam slot) at the Sony building (1400 18th. Ave S). This is required, but I understand desires to travel, so participation can be remote by Zoom if you are out of town, arranged with your other team members. Counts towards an individual’s project grade.

Guest organizations:

Readings and other sources