csc 591-024, (8290)
csc 791-024, (8291)
fall 2024, special topics in computer science
Tim Menzies, timm@ieee.org, com sci, nc state
home
::
timetable
::
syllabus
::
groups
::
moodle
::
license
What will we study?
- Current hot topics in automated
SE.
- Ways to improve AI engineering with something called “active
learning” (to be defined, very soon)
A standard project in this subject would test itself on data from
dozens of SE projects.
- MOOT
(multi-objective optimization testing) is a repository with
- some 60 SE problems
- and a few others like wine tasting and car design
- decision making in SE projects
- reduce costs
- reduce number of Defects
- increase the number of successfully previously implemented
features
- configuration in SE systems
- find the software configuration settings that most reduce
(e.g. runtimes, query times, usage, etc).
- hyper-parameter optimization
- find better settings for random forest classifiers (aside: our
methods could apply to the tuning of any learners).
project material |
nodes |
Fundamentals |
intro to the code |
data |
60+ data sets. Avoid the “old” directory |
one
problem |
the problem of configuration. FYI there are many more prpblems |
many more problems |
your project might come from here |
sample readings |
may not apply to your projects .Only read the more cited one top. Table 1 of this doc can be useful. |
paydirt |
page 3009, left hand side. Why we read papers |
(Note it takes a long time to read papers. So We have a whole
deliverable devoted to that task.)
Motivation
You want to get better at brain surgery.
Let me say that another way.
- You want to show that you really understand AI
- You want to demonstrate that your experience lets you refactor and
simplify AI algorithms.
- Commission AI systems easier, faster, get them to run faster, apply
them to more problems, make them more maintainable.
Also, maybe you want to teach others about how to be an AI brain
surgeons.
- In Spring’24 I tried this out on some AI newbs (NC grad students)
- Dozens of publication-worthy papers looking into previously
unexplored issues.
- But can we do it again?
So, why do this class?
- It is amazing :
- 20-40 samples of any domain and we can model it? Incroyable! Je suis
stupéfait ! Cela change tout !
- It is good engineering:
- If we know it well, we can build it better. Period.
- You want to be a better coder:
- I promise, by the time I am done with you, you will be a Python
wizard.
- You want to be a captain, not a passenger.
- Everyone else can code and drive LLMs
- But who is learning how to efficiently learn control policies?
- It is necessary:
- The world has gone mad on complexity, on algorithms that are so
expensive that only a few large organizations can run the fashionable
algorithms.
- Is that wise? Is there an alternative?
- It is easy.
- AI is amazingly easy, if you look at it the right way.
- “Less is More”
– Ludwig Mies van der Rohe
- “Less, but better”
– Dieter Rams
- “Perfection is achieved, not when there is nothing more to add, but
when there is nothing left to take away.”
– Antoine de
Saint-Exupéry:
- It is good science.
- Here we learn how to
- change our minds.
- peek a little at the world, reflect on what was learned, then decide
what to do next.
- make good decisions, even before all the facts are it.
- Is this just about the engineering of smart software?
- Or is it about
- science in general?
- a philosophy for how to live in the real world?