Навчальна дисципліна знайомить майбутніх програмістів з основними аспектами виробництва програмного забезпечення від початкових стадій створення специфікації до підтримки системи після здачі в експлуатацію.

Мета навчальної дисципліни - формування у майбутніх програмістів розуміння важливості застосування принципів програмної інженерії (software engineering) при розробленні програмного забезпечення (ПЗ), вивчення базових понять програмної інженерії та набуття навичок її використання для реалізації нескладних програмних систем. У курсі розглядається увесь спектр процесів, що ведуть до створення ПЗ: від початкової розробки системних вимог і далі через проєктування, безпосереднє програмування і атестацію до модернізації програмних систем. Крім того, курс знайомить студентів із соціальними та професіональними питаннями програмування, зокрема з професійною та етичною відповідальністю фахівця з програмної інженерії.