در گرایش نرمافزار در مقطع کارشناسی ارشد دانشجویان با سیستمهای عامل پیشرفته، بانکهای اطلاعاتی، تکنولوژیهای برنامهنویسی پیشرفته و الگوریتمهای پردازش موازی و ... آشنا میشوند. گرایش نرمافزار بیشتر به ساخت و تولید نرمافزارهای جدید، ارتقای سیستمهای کامپیوتری، مدیریت پروژههای عظیم نرمافزاری و غیره میپردازد که طرفداران این گرایش، بسیار بیشتر از گرایشات دیگرند.
از دلایل این امر بازار کار بسیار خوب و همچنین وجود موارد امتحانی کمتر نسبت به گرایشات دیگر است؛ تا آنجا که دانشجویان رشتههای ریاضی، فیزیک، آمار و به طور کلی رشتههایی غیر از رشتهی کامپیوتر به این گرایش بیشتر علاقه نشان میدهند؛ بنابراین رقابت در آن سختتر است. این گرایش در کنار گرایش الگوریتم و محاسبات از گرایشهایی است که دانشجویان دارای مدرک کارشناسی از گرایش نرمافزار میتوانند به طور مستقیم و بدون نیاز به گذراندن واحدهای جبرانی به تحصیل در آن بپردازند.
تفاوت این دو گرایش در ضریب درسهای تخصصی نرمافزار در کنکور کارشناسی ارشد است. به این صورت که این درسها در گرایش مهندسی نرمافزار با ضریب 2 اعمال میشوند، حال آنکه در گرایش الگوریتم و محاسبات ضریب 3 منظور میشوند. در نتیجه دانشجویانی که تسلط کاملتری به درسهای نرمافزاری دارند برای تحصیل در رشتهی مهندسی نرمافزار باید نسبت به دانشجویانی که قصد ادامهی تحصیل در گرایش الگوریتم و محاسبات را دارند، دارای تواناییهای ریاضی و کامپیوتری پایهای بیشتری باشند.
با توجه به درسهایی که در این گرایش از گرایشهای کارشناسی ارشد ارائه میشوند، دانشجو میتواند تواناییهای متفاوتی را کسب کند که در زیر به آنها اشاره میشود:
طراحی و پیادهسازی پایگاه دادهها: با توجه به آنچه یک کارشناس مهندسی نرمافزار در طول تحصیل فرامیگیرد، یک کارشناس ارشد قدرت طراحی و پیادهسازی پایگاههای دادهی پیچیدهتر و دقیقتر با حداقل خطا و همرنگتر با سیستمهای روز دنیا را دارا خواهد شد.
مهندسی نرمافزار: به خودی خود مقولهی بسیار پیچیدهای در مورد روشهای مدیریت، طراحی، پیادهسازی و نگهداری برنامهها و پروژههای نرمافزاری است و کارشناس ارشد، روش کنترل تمام موارد بالا را در برنامههای عظیم نرمافزاری خواهد آموخت.
سیستمهای عامل: دانشجویان کارشناسی در طول تحصیل خود به صورت تئوری با سیستمهای عامل و زیر و بمهای آنها آشنا میشوند؛ حال آنکه کارشناس ارشد مهندسی نرمافزار تا جایی پیش میرود که بتواند یک سیستمعامل مستقل و جدید و در عین حال شایسته را پیادهسازی کند.
اتوماسیون اداری: در این مبحث دانشجویان اتوماتیک کردن روند فعالیتهای یک اداره، مؤسسه یا سازمان به وسیلهی کامپیوتر را فراخواهند گرفت.
برنامهنویسی همروند: به وجود آوردن همزمان چند برنامه در کامپیوتر و مدیریت آنها را گویند.
الگوریتمهای موازی: شکستن الگوریتمها به قسمتهایی که میتوانند به صورت همزمان توسط چند پردازنده انجام شوند به منظور افزایش سرعت اجرای الگوریتم.
طراحی و ساخت کامپایلرها: برخلاف کارشناسان نرمافزار که نسبت به کامپایلرها شناخت پیدا میکنند، کارشناسان ارشد، طراحی و ساخت این قسمت مهم از دنیای تولید نرمافزار را خواهند آموخت.