@@ -132,34 +132,36 @@ with some more speculative changes that I believe would help increase the useful
132132
133133## Current Changes
134134
135- So I believe that a computer science degree will, somewhat ironically, become * more* important in the post-AI world, but
136- also that computer science departments will need to change in some fundamental ways to remain effective at communicating
137- knowledge and properly evaluating students.
138-
139- Below are some changes that I have made to my courses over the last year to deal with this new reality.
135+ First, let's start with the changes that I have already made to my courses over the last year to deal with the new
136+ AI reality.
140137
141138### Homework Is No Longer A Strong Signal
142139
143- As with take home quizzes, due to the use of AI, homeworks & projects are no longer a strong signal of the understanding
144- of material. Homeworks must become for the student's benefit rather than for evaluating their competency.
140+ As with take home quizzes, due to the use of AI, homeworks & projects are no longer a strong signal of a students
141+ understanding of material.
142+
143+ Homeworks must become for the student's benefit, opportunities for them to learn the art of writing code, rather than
144+ for evaluating their competency.
145145
146146This is actually a good thing: homeworks can be more ambitious and the students that want to learn will have more
147- opportunities to write the code. Yes, some (many?) will cheat on assignments, but the good students will have an
148- opportunity to write code in a supportive environment.
147+ opportunities to write more advanced code.
148+
149+ Yes, some (many?) will cheat on assignments, but the good students will have an opportunity to write code in a supportive
150+ environment.
149151
150- To deal with this reality, I have reduced the weight of assignments in my classes from 60-80% (I have always had
151- code-heavy classes) down to 50%, and expect most students will get A's on most assignments. I try to strike a balance on
152- how challenging assignments are so that the students that are honestly trying have a sense of accomplishment when they
153- are finished.
152+ To address this fact, I have reduced the weight of assignments in my classes from 60-80% (I have always had
153+ code-heavy classes) down to 50%, and I expect most students will get A's on most assignments.
154154
155155### Homework Can Be More Ambitious & Realistic
156156
157157Another homework related change that I have made is that my assignments are now more ambitious and realistic. I don't
158- mean they are much harder, but I can, with the help of AI, present much larger software systems to my students with
158+ mean they are much harder.
159+
160+ Insead, what I mean is that I can, with the help of AI, present much larger software systems to my students with
159161better sample data, as a basis for their projects.
160162
161- This allows students to see software systems that go beyond "Hello World" levels of complexity and develop the ability
162- to read as well as write code in a larger, more complicated context.
163+ This allows students to see software systems that go beyond "Hello World" levels of complexity and to develop the ability
164+ to navigate, read and write code in a larger, more complicated and realistic context.
163165
164166### AI is a Great TA
165167
@@ -169,19 +171,21 @@ students to come in asking for help on projects.
169171
170172I think, unfortunately, this is most likely due to many students using AI to solve their programming problems.
171173
172- However, there is a more optimistic take here: the students are using AI to better understand the projects and therefore
174+ However, there is a more optimistic read here: the students are using AI to better understand the projects and therefore
173175do not need as much one on one help.
174176
175177While I am ambivalent in many ways towards AI, this is an area where AI can significantly improve the university
176- experience for students: with proper use, AI can be a fantastic TA. It is infinitely patient, has no other students
177- waiting in line and is usually very competent at undergraduate level concepts in computer science.
178+ experience for students: with proper use, AI can be a _ fantastic_ TA. It is infinitely patient, has no other students
179+ waiting in line or it's own classes to attend to and it is usually very competent at undergraduate level concepts in
180+ computer science.
178181
179182The danger, of course, is that students simply use AI as a code generator to complete assignments and head off to the
180183bars.
181184
182185To address this danger, I ship a [ ` CLAUDE.md/AGENTS.md ` ] ( https://gist.github.com/1cg/a6c6f2276a1fe5ee172282580a44a7ac )
183- file in my class repos that directs AI agents to act like a good TA rather than a code generator. Of course students can
184- modify or delete this file, but there is no system so perfect that no one needs to be good.
186+ file in my class repos that directs AI agents to act like a good TA rather than a code generator.
187+
188+ Of course students can modify or delete this file, but there is no system so perfect that no one needs to be good.
185189
186190Stanford University has recently [ modified this file for one of their own
187191classes] ( https://github.com/stanford-cs336/assignment1-basics/blob/main/CLAUDE.md ) , and I encourage other people and
@@ -197,7 +201,7 @@ significant amount of material, even if holidays are interspersed in those weeks
197201compared to a traditional midterm/final setup.
198202
199203I also allow one page of handwritten notes. I do not allow printed notes. The idea here is to force the knowledge
200- through the student's eye-brain-hand pathway multiple times to help reinforce it.
204+ through the student's eye-brain-hand pathway multiple times in order to help reinforce it.
201205
202206My students have grumbled about this process, but also admit that it works in helping them learn the material.
203207
@@ -207,10 +211,12 @@ also makes it much harder to cheat.
207211
208212I have found that AI is very good at suggesting questions based on class material for quizzes. I will work with an AI
209213agent based on my class slides (see below) to create appropriate quiz questions and then create a quiz review sheet to
210- help students study for the quiz based on it. Students love the review sheet because it helps them focus their efforts.
214+ help students study for the quiz based on it.
215+
216+ Students love the review sheet because it helps them focus their studing efforts.
211217
212218I think that, from a learning perspective, the butt-in-chair quizzes have been the single most positive change I have
213- made to my classes. I now make them 50% of a student's grade, and my class grading curve has returned to a reasonable
219+ made to my classes. I now make quizzes 50% of a student's grade, and my class grading curve has returned to a reasonable
214220shape.
215221
216222### Demos & Visualizations Are Cheap
@@ -227,24 +233,26 @@ Two summers ago we spent an entire summer building such a computer, called [The
227233Computer] ( https://mtmc.cs.montana.edu/ ) that provided strong visualizations of how low level computing works.
228234
229235Unfortunately, when I got into a class using it, I realized that the architecture I had picked was too exotic (mixing
230- concepts from MIPS & the JVM) and that students would be better off learning an assembly closer to x86. This would be
236+ concepts from MIPS & the JVM) and that students would be better off learning an assembly closer to x86. x86 would be
231237particularly useful later in our security classes.
232238
233239I was able to work with AI to produce a new MTMC that was much closer to x86 in only a few weeks. It was so successful
234240that I switched to the new version of the MTMC mid-class in fall, and used it exclusively in spring.
235241
236242Another visualization that I have created with AI is a JVM emulator that shows how stack frames and the operand stack
237- work together to do computation. It is a visualization that I always wanted, but was unable to create not due to lack of
238- skill (I am a reasonably competent programmer) but just lack of time and energy (I am old.)
243+ work together to do computation. It is a visualization that I always wanted, but was unable to create. This was not due
244+ to lack of skill on my part (I am a reasonably competent programmer) but just lack of time and energy (I am old.)
239245
240- So I have had to reset my thinking on demos & visualizations: If you can think it and describe it, and if you are a
241- reasonably good programmer, you can probably create it.
246+ So I have had to reset my thinking on demos & visualizations: If you can think of a demo and describe it, and if you are
247+ a reasonably good programmer, you can probably create it.
242248
243249### Class Content Should Be In Markdown
244250
245251I have moved all my class slides to Markdown, using a tool called [ slidev] ( https://sli.dev/ ) and, generally, embraced
246252[ Markdown] ( https://www.markdownguide.org/ ) for all my class content: SYLLABUS.md, etc. (Previously I was using Google
247- slides for my lectures.) All content is checked in to my class repository that students get.
253+ slides for my lectures.)
254+
255+ All Markdown content is checked in to my class repository that students get.
248256
249257Moving all my content to Markdown has been tremendously beneficial:
250258
@@ -256,26 +264,29 @@ I have always liked Markdown and, with slidev, I have nice syntax highlighting a
256264[ Mermaid] ( https://mermaid.ai/open-source/intro/ ) for technical diagrams. Or I can use good ol' ASCII art, which is often
257265very effective.
258266
259- Having everything locally in text/Markdown makes it much easier for AI tools to work effectively in my classes.
267+ Having everything locally in text/Markdown makes it much easier for AI tools to work effectively in my classes. As I
268+ mentioned above, AI agents can easily look at my class slides and suggest quiz questions I might ask.
260269
261270### Class Analysis & Improvements
262271
263- Another way I have used AI effectively is in reviewing my classes at a higher level:
272+ Another way I have used AI effectively, again enabled by moving everything to Markdown, is in reviewing my classes at a
273+ higher level:
264274
265275* I can compare my classes with courses offered at other universities to see if there are topics that I am missing
266276* I can analyze my classes holistically and ensure that there are coherent threads between them (e.g. stack machines)
267277
268- While this hasn't revolutionized any of my classes it has been useful in improving them.
278+ While this hasn't revolutionized any of my classes I feel it has been useful in improving them.
269279
270280### Automate * Everything*
271281
272282The final way that I have been using AI to improve my classes is in automating everything possible. I have always had a
273283significant number of scripts that I use for the infrastructure in my classes: an autograder.py that runs the
274- autograding for projects in CI, etc.
284+ autograding for project checkpoints in CI, etc.
275285
276- I have become much more aggressive in what I will automate and optimize now. For example, I am using
277- [ Tampermonkey] ( https://www.tampermonkey.net/ ) to make parts of [ Canvas LMS] ( https://www.instructure.com/canvas ) easier
278- to work with for my work flows:
286+ I have become much more aggressive in what I will automate and optimize now.
287+
288+ For example, I am using [ Tampermonkey] ( https://www.tampermonkey.net/ ) to make parts of
289+ [ Canvas LMS] ( https://www.instructure.com/canvas ) easier to work with for my work flows:
279290
280291* I can paste in a youtube URL, and it will automatically create a link for me in Canvas
281292* I can drag and drop files directly from my OS into Canvas
@@ -294,7 +305,7 @@ I plan on implementing the following changes in the upcoming semester.
294305
295306### Stronger Pseudocode Standards
296307
297- With on-paper quizzes becoming the standard, it is clear that I need a strong pseudocode standard for students to use on
308+ With on-paper quizzes becoming a standard, it has become clear that I need a strong pseudocode standard for students to use on
298309quizzes.
299310
300311We are working on an "executable" pseudocode, [ Notch] ( https://notch.cs.montana.edu ) , to address this. It is english-like
@@ -323,8 +334,9 @@ in favor of build. This is made more compelling by people recognizing that depen
323334liabilities] ( https://x.com/htmx_org/status/2057205905222246455 ) , especially from a security perspective.
324335
325336Of course much of the AI model training set consists of open source work and many open source developers are
326- [ understandably upset about this] ( https://opensourceainews.com/ai-is-destroying-open-source-not-even-good-yet/ ) . Chad
327- Whitacre, an open source advocate who I respect tremendously, has decided to [ step away from technology
337+ [ understandably upset about this] ( https://opensourceainews.com/ai-is-destroying-open-source-not-even-good-yet/ ) .
338+
339+ Chad Whitacre, an open source advocate who I respect tremendously, has decided to [ step away from technology
328340entirely] ( https://openpath.quest/2026/i-am-retiring-from-tech-to-live-offline/ ) due to the situation.
329341
330342I do not have any good answers of how to prevent AI models from using open source work for training, nor do I have a
@@ -425,11 +437,12 @@ oral exams, and it would provide a much better final analysis of students' achie
425437# Conclusion
426438
427439So, yes, I think The University is still relevant in the post-AI era and, in fact, may become * more* relevant due to
428- some structural advantages it has, particularly in signaling student's competence to the outside world.
440+ some structural advantages it has, particularly in signaling student competence to the outside world.
429441
430442I do think computer science departments will need to adjust to the new realities and consider some somewhat radical
431443changes in order to maximize their value to their students. Most importantly, I think universities should increase their
432- focus on providing hand-coding opportunities to students.
444+ focus on providing hand-coding opportunities to students, since these opportunities are becoming less available after
445+ students leave school.
433446
434447I hope that this essay helps computer science educators improve their course offering so that we can continue to produce
435448competent and confident computer scientists for the foreseeable future.
0 commit comments