One of the flagship applications of AI is code generation, to such an extent that some are questioning the future of developers and the share prices of major software companies are falling. Code generated by LLM and Reinforcement Learning (with ‘Execution Feedback’) is one of the central topics of the course. The enormous amount of available code, the formal structure of formal languages and the existence of clear semantics, which underpin its deterministic execution, make learning particularly effective.
The course’s perspective is that the work of developing computer systems, in the broadest sense, is becoming a higher-level activity, leaving more basic programming tasks to AI assistants. How can we formally specify the desired code, and how can we verify this code in order to integrate it into an existing system, or one developed by humans?