Курс по теории разработки программного обеспечения.