Agentic Software Engineering
BASIC DATA
course listing
A - main register
course code
ITS8091
course title in Estonian
Agentne tarkvaratehnika
course title in English
Agentic Software Engineering
course volume CP
-
ECTS credits
6.00
to be declared
yes
fully online course
not
assessment form
Graded assessment
teaching semester
spring
language of instruction
Estonian
English
Prerequisite(s)
Prerequisite 1
Web Application Project (ITI0302)
Study programmes that contain the course
code of the study programme version
course compulsory
IAPM02/26
no
Structural units teaching the course
IT - Department of Software Science
Course description link
Timetable link
View the timetable
Version:
VERSION SPECIFIC DATA
course aims in Estonian
Õppeaine eesmärk on:
- valmistada üliõpilasi ette juhtima ja vastutama tehisintellekti toel toimuva tarkvaraarenduse eest professionaalsetes meeskondades, kasutades spetsifikatsioonipõhist arendust koodiassistentide ja autonoomsete agentide suunamiseks ning nende väljundite kriitiliseks hindamiseks;
- arendada oskust kavandada, teostada ja mõõta LLM-toetatud töövooge kogu tarkvara elutsükli ulatuses, alates nõuetest ja disainist kuni teostuse, testimise, ülevaatuse ja hoolduseni;
- kujundada oskused agentse arenduse rakendamiseks olemasolevas (pärand)koodibaasis (brownfield), kus võõrast või pärandkoodi tuleb mõista, testida, refaktoreerida, parandada ja migreerida käitumist säilitades;
- kujundada arusaam agentsetest arhitektuuridest ja orkestreerimisvõtetest, nende turva-, valitsemis- ja vastutusriskidest ning agentse tarkvaratehnika värskeimatest teadustulemustest, et lõpetajad suudaksid neid kogemusi organisatsioonides vastutustundlikult juurutada.
course aims in English
The aim of this course is to:
- prepare students to lead and take responsibility for AI-assisted software development in professional teams, using specification-driven development to direct coding assistants and autonomous agents and to evaluate their outputs critically;
- develop the ability to design, implement and measure LLM-supported workflows across the software lifecycle, from requirements and design through implementation, testing, review and maintenance;
- build the skills to apply agentic development in existing (brownfield) codebases, where unfamiliar or legacy code must be understood, tested, refactored, repaired and migrated without breaking behaviour;
- build an understanding of agentic architectures and orchestration patterns, of their security, governance and accountability risks, and of current research on agentic software engineering, so that graduates can introduce these practices responsibly in organisations.
learning outcomes in the course in Est.
Õppeaine läbinud üliõpilane:
- analüüsib AI-koodiassistentide ja agentsete arendussüsteemide võimekust, piiranguid ja riske, toetudes tarkvaratehnika värskeimatele teadusuuringutele;
- kavandab spetsifikatsioonipõhiseid ja verifitseeritavaid agentseid töövooge tarkvara elutsükli eri etappide jaoks;
- kujundab ümber olemasolevat (pärand)koodibaasi agentse arenduse võtetega, säilitades süsteemi käitumist;
- hindab kriitiliselt AI-genereeritud artefakte ja neid loonud töövooge mõõdetavate kriteeriumide alusel;
- analüüsib agentse arenduse turva-, valitsemis- ja vastutusriske koos sobivate maandamismeetmetega;
- integreerib agentsed tööriistad olemasolevasse meeskonna arendusprotsessi, säilitades inimjärelevalve ja põhjendades otsuseid huvirühmadele.
learning outcomes in the course in Eng.
After completing this course, the student:
- analyses the capabilities, limitations and risks of AI coding assistants and agentic development systems on the basis of current software engineering research;
- designs specification-driven and verifiable agentic workflows for tasks across the software lifecycle;
- restructures an existing (brownfield) codebase with agentic development techniques while preserving its behaviour;
- evaluates critically AI-generated artefacts and the workflows that produced them against measurable criteria;
- analyses the security, governance and accountability risks of agentic development together with appropriate mitigations;
- integrates agentic tooling into an existing team development process with human oversight and with decisions justified to stakeholders.
brief description of the course in Estonian
Aine valmistab magistrante ette tööks keskkonnas, kus AI-koodiassistendid ja autonoomsed agendid on iga meeskonna osa. Aine tugineb agentsetele arhitektuuridele (tööriistade kasutamine, planeerimine, mälu, otsing) ja orkestreerimisvõtetele (olekumasinad, töövood, rollide jaotus) ning spetsifikatsioonipõhisele arendusele, kus struktureeritud nõuded seovad inimese kavatsuse agendi tegevusega ja teevad tulemuse prognoositavaks ja jälgitavaks.

Aines osalevalt üliõpilaselt eeldatakse programmeerimise ja rakenduste loomise oskust ning tarkvaratehnika baasoskusi.

Aine käsitleb tööd nii uues kui olemasolevas (pärand)koodibaasis. Just olemasolevates, sageli võõrastes süsteemides on agentseid tööriistu kõige raskem hästi kasutada. Üliõpilased kasutavad agente päritud süsteemi mõistmiseks, kirjutavad enne muudatusi karakteriseerivad testid, refaktoreerivad samm-sammult tehnilise võla vähendamiseks, reprodutseerivad ja parandavad vigu ning migreerivad sõltuvusi käitumist säilitades. Kontrollimehhanismid jäävad tsükli sisse: testid, tüübikontroll ja validaatorid toimivad agendi tööriistadena ning iga muudatuse vaatab üle inimene.

Üliõpilased õpivad oma töövooge tõenduspõhiselt hindama: nad ehitavad väikesed hindamisraamistikud, jälgivad korrektsust, kulu, tokenite kasutust ja vigade määra ning seostavad tulemusi avaldatud võrdlusaluste ja tootlikkusuuringutega. Turvalisust ja haldust käsitletakse inseneriprobleemidena: viiba süstimine, saladuste käitlemine, genereeritud koodi litsentsid ja päritolu, omandkoodi andmekaitse ning organisatsiooni AI-reeglid. Üliõpilased valmistavad salved ja tarnetöövood agentide jaoks ette (agendijuhised, tööriistade integreerimine, agentide kasutamine CI/CD-s ja koodiülevaatuses), töötavad vähemalt kahe eri assistendiga, võrdlevad kommerts ning kohalikke või avatud kaaludega mudeleid ning hoiavad teadlikult alal oma inseneriotsustust
brief description of the course in English
The course prepares master's students for software engineering where AI coding assistants and autonomous agents are part of every team. It builds on agentic architectures (tool use, planning, memory, retrieval) and orchestration patterns (state machines, pipelines, role decomposition), and on specification-driven development, in which structured specifications bind human intent to agent execution and make results predictable and accessible.

Students are expected to be fluent in programming and building software applications and to know the principles of software engineering.

The distinctive focus of the course is brownfield development. Most professional work happens in existing, often unfamiliar or legacy codebases, where agentic tools are hardest to use well. Students use agents to understand an inherited system, write characterisation tests before any change, refactor incrementally to reduce technical debt, reproduce and repair defects, and migrate dependencies while preserving behaviour. Verification stays inside the loop: tests, type checks and validators act as agent tools, and every change is reviewed by a human.

Students learn to evaluate their own workflows with evidence: they build small evaluation harnesses, track correctness, cost, token usage and defect rates, and relate the results to published benchmarks and productivity studies. Security and governance are treated as engineering concerns: prompt injection, secret handling, licensing and provenance of generated code, data protection for proprietary code, and organisational AI policies. Students prepare repositories and delivery pipelines for agents (agent instructions, tool integration, agent use in CI/CD and code review), work with at least two different assistants, compare hosted with local or open-weight models, and deliberately keep their own engineering judgement sharp alongside AI use.
type of assessment in Estonian
-
type of assessment in English
-
independent study in Estonian
-
independent study in English
-
study literature
Õppejõu poolt koostatud õppematerjalid ja spetsifikatsioonimallid / Course materials and specification templates provided by the instructor.
Kursusel kasutatavate AI-koodiassistentide ja agentide ametlik dokumentatsioon / Official documentation of AI coding assistants and agents used in the course.
Fowler, M. (2018). *Refactoring: Improving the Design of Existing Code*, 2nd ed. Addison-Wesley.
study forms and load
daytime study: weekly hours
4.0
session-based study work load (in a semester):
lectures
2.0
lectures
-
practices
2.0
practices
-
exercises
0.0
exercises
-
lecturer in charge
Andres Käver, lektor (IC - IT kolledž)
type (CBL/PBL)
not specified
LECTURER SYLLABUS INFO
semester of studies
teaching lecturer / unit
language of instruction
Extended syllabus
2026/2027 spring
Andres Käver, IC - IT College
Estonian
    Course description in Estonian
    Course description in English