دانش و فناوری کامپیوتر به بررسی یا تحلیل و ارزیابی فرایندها و سامانههای دریافت، نگهداری، پردازش و استخراج اطلاعات در همه ابعاد و طراحی سیستمهای کارا برای اجرای آنها میپردازد. بخش نرمافزار آن به طراحی و تولید ابزارهای مهم نرمافزاری و نیز طراحی، تحلیل و پیاده سازی الگوریتمها و سیستمهای نرمافزاری مناسب معطوف است. با توجه به اهمیت و رشد روزافزون این دانش و فناوریهای آن، لازم است کارشناسانی تربیت شوند که بتوانند از عهده تحلیل و طراحی سیستمهای نرمافزاری و الگوریتمهای لازم برای حل مسائل مختلف آن برآیند و نیز به روش های مختلف مهندسی نرمافزار و ابزارها و زبانهای برنامهنویسی تسلط داشته باشند.
دوره کارشناسی مهندسی کامپیوتر به منظور تربیت دانش آموختگانی طراحی شده است که بتوانند با جذب در صنعت رو به رشد کامپیوتر در کشور، به غنای آن کمک نمایند و ضمناً با گذراندن دروس مختلف نظری و عملی در رشته مهندسی کامپیوتر، دانش کافی برای ادامه تحصیل در مقاطع کارشناسی ارشد و دکترا در زمینههای مختلف علوم و مهندسی کامپیوتر را کسب نمایند. از این نظر، این رشته حاوی ترکیبی مناسب از دروس است که هم ابعاد نظری این رشته را میپوشاند و هم جنبههای مهندسی آن در زمینههای مختلف طراحی سیستمها را غنا می بخشد. گروه نرمافزار متولی ارائه زیرمجموعه بزرگی از این دروس است که شامل دروس اصلی (اجباری)، تخصصی (انتخابی)، و اختیاری نرمافزاری به شرح زیر است:
1- اصلی : مبانی برنامهسازی، کارگاه کامپیوتر، ساختمانهای گسسته، برنامهسازی پیشرفته، ساختمان دادهها و الگوریتمها، طراحی کامپایلرها، سیستمهای عامل، آزمایشگاه سیستم عامل، طراحی پایگاه دادهها، و تحلیل و طراحی سیستمها.
2- تخصصی : طراحی الگوریتمها، مهندسی نرمافزار، طراحی زبانهای برنامهسازی، نظریه زبانها و ماشینها، و طراحی شیءگرای سیستمها.
3- اختیاری : برنامهسازی وب، برنامهسازی موبایل، ایجاد چابک نرمافزار، نظریه محاسبات، محاسبات عددی، نظریه بازیها، و آزمایشگاه مهندسی نرمافزار.