نرم افزار واسط میان انسان و سخت افزار کامپیوتر است. نرم افزار داده ها و دستوراتی است که عمل مورد نظر انسان را به سخت افزار فرمان می دهد. انواع مختلفی از نرم افزارها در زمینه های مختلف وجود دارد. نرمافزارهای سیستمی برنامههایی هستند که کامپیوتر برای فعال شدن یا سرویس دادن به آن نیاز دارد و مهمترین آنها سیستم عامل است. نرمافزارهای کاربردی نیز برنامههایی هستند که بیشتر به مکانیزه کردن فرایندهای کسب و کار می پردازند و پایگاه داده از اجزا اصلی آنها به شمار می رود.
مهندس نرمافزار می آموزد که چگونه نرمافزارهای بزرگ و عظیم را طراحی و برنامهریزی کند، تست و ارزیابی نهایی نماید و در نهایت مستند سازی انجام دهد. هدف از گرایش نرمافزار مهندسی کامپیوتر، آموزش و پژوهش در زمینه زبانهای مختلف برنامهنویسی، سیستمهای عامل مختلف و طراحی انواع الگوریتمها میباشد.
ذخیره و بازیابی اطلاعات، اصول طراحی و ساخت کامپایلرها، اصول طراحی پایگاه دادهها، پروژه آزمایشگاه سیستم عامل، پروژه آزمایشگاه پایگاه دادهها، شبیهسازی کامپیوتری، مهندسی نرمافزار، تحلیل و طراحی سیستمها از مهمترین دروس تخصصی گرایش نرمافزار هستند.