home |
copyright ©2019, tjmenzie@ncsu.edu
syllabus |
src |
submit |
chat
Fall 2019,
CSC NC State,
Professor: Tim Menzies http://menzies.us
Everyone else is studying AI, or applying AI to SE. But what about SE for AI?
AI software is still software. And software needs maintenance, validation, interfacing, usability additions, etc. That is why AI software needs software engineers! And not only that, AI software offers special functions that need specialized approaches by software engineers. So what does engineering look like when applied to AI?
Time to find out. Time to learn what happens after DevOps. While DevOps strives to "automate everything," automated software engineering strives to "automate automation." This subject will explore methods to augment standard software engineering practices with AI methods (data miners, optimizers, theorem provers) that peek over our shoulders to say "try this, and don't bother that."
- Introduction: ignite | overview | se4ai | tools | ethics | naive?
- Algorithms:
- Code:
- Learners: ZeroR | Naive Bayes | Random projections
- Support: Abcd
- Evaluation:
evalabc |
eval101
- Code: sk.py
- Data mining: clustering | lsr | baselines | discretization | basic | advanced
- Optimizers : basics | de | advanced | opt+mine
- Theorem provers: basic | advanced
- Code:
- Process: requirements | collect | cleanse | label | train | eval | deply | monitor