I’ve been fortunate to have been invited to speak on a variety of panels, mostly at student-hosted events. I use this page for responses, sometimes posted after the panel is over, sometimes posted before (so I can use the post as notes :)).

DevFest 2024

As the industry continues to evolve rapidly, what steps are being taken to ensure the curriculum remains relevant to industry trends and advancements?

  • I teach ECS170 (Intro to AI) and 161 (Programming Tools) — I’ve updated both curricula with about a week of content each to focus on new technologies. In 161 we had my own lectures and student presentations about AI programming tools like Copilot. In 170 we talk about foundation models as a part of the machine learning unit.
  • Want to get better at designing AI-centric assignments
  • For now my class policies are on the permissive end of the spectrum
  • It’s very difficult to be certain about the extent of AI use for a particular submission, and many CS students will be expected to use the tools when they graduate anyway
  • There’s been discussion in the CS Department about new course offerings and other interdisciplinary work
  • In large organizations things take time…
    • our Dept Chair Dipak Ghosal is working on something, and
    • COE’s Associate Dean of Research Raissa D’Souza is also working on some interdisciplinary efforts around AI ethics.
    • hopefully more concrete updates about both of these soon

As AI becomes more prevalent in our daily lives, what emphasis do you place on ethical considerations and responsible use of technology in your teaching? For example, incorporating AI into teaching (making presentations, slides, grading, creating assignments) and learning (using AI live in class to understand better, incorporating AI while doing assignments). Each aspect can be explored separately to discuss the pros and cons.

  • Taught ECS188, the ethics course in the CS Dept.
  • I use the tools for a lot of my work:
    • very useful for typesetting documents
    • Copilot autocomplete works well for drafting some assignments
    • rarely useful for “de novo” assignment creation. This is still a pretty involved process. I’ve experimented but the results are not very good without a detailed prompt.
  • Lecture quality is much better when I present ideas that I’ve had time to mull over. Even if the tools could generate a correct 100-slide deck of lecture material, I don’t see much value in me speaking to that.
  • Haven’t experimented much with using it for grading. Again, I imagine some of the value comes from the human oversight — there is another kind of value in knowing what ChatGPT thinks of your work, but I don’t think that always translates to knowing what a human thinks of your work.
  • Seems like questions that could be successfully graded by ChatGPT could also be formatted to be graded by a more interpretable autograder
  • Interesting philosophical question about the validity of rationalizations

In a fast-paced job market, what advice do you have for students to stay relevant and continuously improve their skills beyond the coursework? How can students stay informed about the latest developments and advancements in the field of computer science, and how would you suggest students incorporate that into their learning routine?

  • Make an X (Twitter) and follow interesting people
  • Subscribe to podcasts or youtube channels
  • Attend industry gatherings or conferences
  • Read and subscribe to newsletters and blogs
  • Connect with people who work on the things you’re interested in
  • Share your own work
  • Mentor others

Caveat: take a break from ingesting content all the time (reminder to myself, mostly)

What factors would you suggest students consider while making a choice/decision between grad school, research, and full-time jobs?

Good decisions depend on your values, so I like the way this question is phrased :)

  • Do you value…
    • Getting set up financially, starting a family
    • Near-term vs. long-term impact
    • Flexibility
    • Security
    • Specialization
    • Autonomy
    • Learning
    • Academic knowledge vs. tacit knowledge
    • Individual vs collaborative work
    • Working with new technologies