کارشناسی ارشد مهندسی کامپیوتر گرایش مهندسی نرم افزار
کارشناسی ارشد مهندسی کامپیوتر گرایش مهندسی نرم افزار
در گرایش مهندسی نرمافزار در مقطع کارشناسی ارشد دانشجویان با سیستمهای عامل پیشرفته، بانکهای اطلاعاتی، برنامهنویسی پیشرفته و تحت WEB، الگوریتمهای پردازش موازی و ... آشنا میشوند. این گرایش در کنار گرایش الگوریتم و محاسبات از گرایشهایی است که دانشجویان دارای مدرک کارشناسی از گرایش نرم افزار میتوانند بطور مستقیم و بدون نیاز به گذراندن واحدهای جبرانی به تحصیل در آن بپردازند. در نتیجه دانشجویانی که تسلط کاملتری به دروس نرم افزاری دارند برای تحصیل در رشته مهندسی نرم افزار میبایست نسبت به دانشجویانی که قصد ادامه تحصیل در گرایش الگوریتم و محاسبات را دارند، دارای توانایی های ریاضی و کامپیوتر پایه بیشتری باشند.
دروس کارشناسی ارشد مهندسی نرم افزار
با توجه به دروسی که در این گرایش از گرایشهای کارشناسی ارشد، ارائه میشوند دانشجو میتواند توانایی های متفاوتی را کسب کند که در زیر به آنها اشاره میشود:
طراحی و پیاده سازی پایگاه داده ها
با توجه به آنچه که یک کارشناس مهندسی نرم افزار در طول تحصیل فرا میگیرد، یک کارشناس ارشد قدرت طراحی و پیاده سازی پایگاه های داده پیچیده تر و دقیق تر با حداقل خطا و همرنگتر با سیستم های روز دنیا را دارا خواهد شد.
مهندسی نرم افزار
به خودی خود معقوله بسیار پیچیده ای در مورد روشهای مدیریت، طراحی، پیاده سازی و نگهداری برنامهها و پروژههای نرم افزاری است و کارشناس ارشد، قدرت کنترل تمام موارد بالا را در برنامه های عظیم نرم افزاری خواهد آموخت.
سیستم های عامل
دانشجویان کارشناسی در طول تحصیل خود به طور تئوری و غیر سنگینی با سیستمهای عامل و زیر و بم های آنها آشنا میشوند حال آنکه کارشناس ارشد مهندسی نرم افزار تا جایی پیش میرود که بتواند یک سیستم عامل مستقل و جدید و در عین حال شایسته را پیاده سازی کند.
اتوماسیون اداری
اتوماتیک کردن روند فعالیتهای یک اداره موسسه یا سازمان به وسیله کامپیوتر.
برنامه نویسی همروند
به وجود آوردن همزمان چند برنامه در کامپیوتر و مدیریت آنها.
الگوریتمهای موازی
شکستن الگوریتمها به قسمت هایی که میتوانند به صورت همزمان توسط چند پردازنده انجام شوند به منظور افزایش سرعت اجرای الگوریتم.
طراحی و ساخت کامپایلرها
بر خلاف کارشناسان نرم افزار که نسبت به کامپایلرها شناخت پیدا میکنند، کارشناسان ارشد، قدرت طراحی و ساخت این قسمت مهم از دنیای تولید نرم افزار را خواهند آموخت.
شبیه سازی و گرافیک کامپیوتری
شبیه سازی و گرافیک کامپیوتری هم در معقوله مهندسی نرم افزار طبقه بندی شده و کارشناس ارشد از آموزشهای قدرتمندی جهت انجام آنها بهره خواهد برد.
برنامه درسی و تعداد واحدهای کارشناسی ارشد مهندسی نرم افزار
دروس جبرانی
تعداد واحد |
نام درس |
ردیف |
3 |
نظریه زبان ها و ماشین ها |
1 |
3 |
پایگاه داده ها |
2 |
3 |
مهندسی نرم افزار |
3 |
3 |
معماری کامپیوتر |
4 |
3 |
طراحی الگوریتم ها |
5 |
3 |
سیستم های عامل |
6 |
در صورت عدم گذراندن درس در دوره کارشناسی و یا به تشخیص دانشکده، تا دو درس جبرانی اختصاص می یابد.
دروس پایه (گروه اول)
تعداد واحد |
نام درس |
ردیف |
3 |
پردازش موازی |
1 |
3 |
سیستم های عامل پیشرفته |
2 |
3 |
مهندسی نرم افزار پیشرفته |
3 |
3 |
الگوریتم های پیشرفته |
4 |
3 |
پایگاه داده پیشرفته |
5 |
3 |
معماری نرم افزار |
6 |
3 |
ارزیابی کارایی سیستم های کامپیوتری |
7 |
3 |
داده کاوی |
8 |
اخذ حداقل3 درس از درس های گروه 1 برای دانشجویان کارشناسی ارشد الزامی است.
گذارندن حداقل 4 درس از یکی از تمرکزهای گروه 2 زیر (یکی از جداول 1 الی 4) به عنوان تمرکز اصلی و حداقل 1 درس از تمرکز های دیگر (به غیر از تمرکز اصلی ) برای دانشجویان کارشناسی ارشد الزامی است.
دروس پایه (گروه دوم) با تمرکز سیستم ها
تعداد واحد |
نام درس |
ردیف |
3 |
سیتسم های توزیع شده |
1 |
3 |
ارزیابی کارایی سیستم های کامپیوتری |
2 |
3 |
سیستم های نرم افزاری اتکا پذیر |
3 |
3 |
رایانش ابری |
4 |
3 |
شبکه های کامپیوتری پیشرفته |
5 |
3 |
امنیت شبکه پیشرفته |
6 |
3 |
مدل های رایانش همروند |
7 |
3 |
رایانش گرید و خوشه ای |
8 |
3 |
سیستم های بی درنگ و نهفته |
9 |
3 |
سیستم های عامل پیشرفته |
10 |
3 |
کامپایلر پیشرفته |
11 |
3 |
رایانش فراگیر و خودمختار |
12 |
3 |
درستی یابی خودکار |
13 |
دروس پایه (گروه دوم) با تمرکز مدیریت داده ها
تعداد واحد |
نام درس |
ردیف |
3 |
پایگاه داده پیشرفته |
1 |
3 |
داده کاوی |
2 |
3 |
نظریه اطلاعات و کدینگ |
3 |
3 |
موتورهای جستجو و وب کاوی |
4 |
3 |
تحلیل ها و سیستم های داده های حجیم |
5 |
3 |
وب معنایی |
6 |
3 |
بازاریابی پیشرفته اطلاعات |
7 |
3 |
سیستم های تصمیم یار |
8 |
3 |
پایگاه داده های چند رسانه ای |
9 |
3 |
امنیت پایگاه داده ها |
10 |
3 |
پایگاه داده توزیعی و سیار |
11 |
2 |
مدیریت پایگاه دانش |
12 |
2 |
شبکه های پیچیده پویا |
13 |
دروس پایه (گروه دوم) با تمرکز مهندسی نرم افزار
تعداد واحد |
نام درس |
ردیف |
3 |
مهندسی نیازمندی ها |
1 |
3 |
معماری نرم افزار |
2 |
3 |
تکامل نرم افزار |
3 |
3 |
سیستم های نرم افزاری مقیاس وسیع |
4 |
3 |
متدولوژی ایجاد نرم افزار |
5 |
3 |
الگوها در مهندسی نرم افزار |
6 |
3 |
آزمون نرم افزار |
7 |
3 |
مدیریت پروژه های نرم افزار |
8 |
3 |
توصیف و وارسی برنامه ها |
9 |
3 |
تولید برنامه از توصیف صوری |
10 |
3 |
معماری سازمانی |
11 |
2 |
مهندسی نرم افزار پیشرفته |
12 |
دروس پایه (گروه دوم) با تمرکز الگوریتم ها
تعداد واحد |
نام درس |
ردیف |
3 |
پردازش موازی |
1 |
3 |
الگوریتم های پیشرفته |
2 |
3 |
الگوریتم های پیشرفته |
3 |
3 |
الگوریتم های تقریبی |
4 |
3 |
داده ساختارهای پیشرفته |
5 |
3 |
نظریه الگوریتمی بازی ها |
6 |
3 |
نظریه پیچیدگی |
7 |
3 |
نظریه محاسبات پیشرفته |
8 |
3 |
الگوریتم های تصادفی |
9 |
3 |
هندسه محاسباتی |
10 |
3 |
هندسه محاسباتی پیشرفته |
11 |
اخذ حداکثر 1 درس از درس های گروه 3 برای دانشجویان کارشناسی ارشد مجاز است. دروس اختصاصی دوره دکترا در قالب مفاهیم پیشرفته با تایید دانشکده ارائه می شوند.
درس های گروه 3 که به صورت مباحث، جدید رشته و یا یک درس از سایر دانشکده ها یا گرایش ها دیده شده اند با تشخیص دانشکده می توانند جایگزین یکی از درس های گروه 1 و یا گروه 2 گردند.
گروه سوم
تعداد واحد |
نام درس |
ردیف |
3 |
مباحث ویژه در نرم افزار 1 |
1 |
3 |
مباحث پیشرفته در نرم افزار 1 |
2 |
3 |
مباحث ویژه در نرم افزار 2 |
3 |
3 |
مفاهیم پیشرفته در نرم افزار2 |
4 |
3 |
مباحث ویژه در نرم افزار 3 |
5 |
3 |
مفاهیم پیشرفته در نرم افزار3 |
6 |
3 |
یک درس از سایر گرایش ها یا دانشکده ها با تایید دانشکده |
7 |
بازار کار کارشناسی ارشد مهندسی نرم افزار
بازار کار نرم افزار در مهندسی کامپیوتر بسیار عالیست. در حال حاضر شماره یک رشته های فنی و مهندسی به رشته کامپیوتر رسیده است. دو گرایش نرم افزار و هوش مصنوعی بیشترین سهم را از این بازار کار دارند. در مجموع به خاطر رشد و بهیود بازار کلی مهندسی کامپیوتر اوضاع تمامی گرایشهای آن بهتر شده است. در حوزه نرم افزار، کار برای فارغ التحصیلان از طراحی نرم افزار تا پیاده سازی پایگاه داده و برنامه نویسی با زبانهای مختلف بسیار متداول شده است. برای مهندسین نرم افزار بازار کار خوبی ایجاد شده است ولی اینکه چه سطح درآمدی داشته باشند دقیقا بستگی دارد که به چه زبانی برنامه نویسی کنند و چه مهارتی را بیشتر در خود تقویت کنند تا آن مهارت برای آنها به صورت تخصص درآید. تفاوت در سطح درآمدی دقیقا بستگی به این دارد که شما چه تخصصی از برنامه نویسی، چه حوزه ای از برنامه نویسی و چه نوع شغلی از برنامه نویسی را اتخاذ کنید. رشد روزافزون استارتاپها و کسب و کارهای مرتبط با اینترنت و فناوری کامپیوتر نیز به شدت در بهبود بازار کار تاثیرگذار بوده است.