Welcome to the laboratory. Let's find out what actually works.
AI presents unique challenges and opportunities when applied to software engineering. Unlike other domains, SE involves evolving requirements, human-in-the-loop decisions, and complex socio-technical ecosystems, making the integration of AI both powerful and precarious. This course will explore AI methods for SE, such as explainable AI, classification and clustering, multi-objective optimization, semi-supervised learning (useful when labeled data is scarce), theorem proving and logical reasoning, and generative methods enable code suggestion, test generation, and documentation support.
- 491/591 students:
- Students will apply sound research methods/tools to problems in “AI to SE” and “SE to AI” and describe the methods/tools effectively - Students will analyze/interpret research data - Students will communicate their research clearly and professionally in both written and oral forms appropriate to “AI to SE” and “SE to AI”
- 591 students:
- State a research problem in such a way that it clearly fits within the context of the literature in “AI to SE” and “SE to AI”
- Demonstrate the value of a research solution to the research problem in advancing knowledge within that area
- Much more intricate than csc510
- LLMs, sure but...
- Maybe everything should or could be solved by "throwing an LLM at it" [1]; [2]; [3].
- SE coding (low level) has far less impact that SE planning (high level)
- So how to make decisions about SE projects? Decades before LLMs there was simulated annealing, genetic algorithms, etc etc.
- And how how to explain those decisions? What does "explanation mean"?
- Ugrds: teams of three: 6 homeworks
- Grads: teams of two: 4 homeworks and a two part assignment (team)
- Homeworks: submit something one week, review someone else's next week.
- No exams (weekly in-class quiz).
- Classes are in person. To ensure that, all submissions are in-person, by the whole group. Anyone missing gets a cross. First three crosses cost nothing. After that, each cross is -1 mark.
| 📅 Week of... | 🎓 Lecture | 🛠️ Submission (due start of class) |
📝 Review |
|---|---|---|---|
| Jan 12 | Intro | one | |
| Jan 19 | Mon: MLK Day (no class) | ||
| Jan 26 | sbse sa 📀 Video |
1a | week3 |
| Feb 02 | 1b | ||
| Feb 09 | |||
| Feb 16 | Python | week4 | |
| Feb 23 | Local search | 2a rubric | week5 |
| Mar 02 | new class bayes cluster |
2b | w6 w6b |
| Mar 09 | optimization algorithms | w7 | |
| Mar 16 | Spring Break (no class) | ||
| Mar 23 | explain | 3a | w8 |
| Mar 30 | SBSE | 3b-rubric Grad 6.0 |
w10 w11 |
| Apr 06 | |||
| Apr 13 | agents | 4a | w12 |
| Apr 20 | final | ||
| Apr 27 | 4b-rubric 5a | ||
| May 4 | exam |
(For grad students, 5ab, 6ab will be combined.)
