در این مبحث،هر دو گرایش توضیح داده میشوند.سخت افزار و نرم افزار
گرایشهای مهندسی کامپیوتر (مقطع فوق لیسانس)
۱. معماری کامپیوتر
۲. مهندسی نرمافزار
۳. هوش مصنوعی
۴. الگوریتم ها و محاسبات
۵. مکاترونیک
۶. مهندسی فناوری اطلاعات
برای ورود به دوره ی کارشناسی ارشد باید مثل همه ی مقاطع در ایران از سد کنکور گذشت ، البته در بعضی از دانشگاهای آزاد برای معدل های بالای ۱۷ ثبت نام بدون کنکور هستش :
۱- زبان عمومی وتخصصی (با ضریب ۱)
۲-ریاضیات: ریاضی مهندسی،آمارواحتمالات، محاسبات عددی ، ساختمان های گسسته (با ضریب ۲)
۳- دروس مشترک: ساختمان داده ها، نظریه ی زبان ها و ماشین ها، مدارهای منطقی، معماری کامپیوتر، سیستم عامل (با ضریب ۴)
۴- الف) دروس تخصصی معماری کامپیوتر: مدارهای الکتریکی، VLSI، الکترونیک دیجیتال ، انتقال داده
ب) دروس تخصصی هوش مصنوعی: مدارهای الکتریکی، طراحی الگوریتم ها، هوش مصنوعی
ج) دروس تخصصی نرم افزار: کامپایلر، زبان های برنامه سازی، طراحی الگوریتم، پایگاه داده
(با ضریب ۲)
بررسی گرایش هوش مصنوعی در ارشد:
طول دوره تحصیل
طول این دوره بطور متوسط ۲ سال و شکل نظام آن بصورت نیمسالی است.
تعداد واحدها
تعداد واحدهای درسی این دوره علاوه بر دروس جبرانی برابر ۳۲ واحد بصورت زیر است
دروس گروه ۱ ۱۲ واحد یا بیشتر
دروس گروه ۲ ۱۲ واحد یا کمتر
سمینار ۲ واحد
پایان نامه ۶ واحد
تعداد واحدهای درسی گروه ۲ به گونه ای انتخاب می شود که مجموع واحدهای دروس گروه ۱ و۲ برابر ۲۴ واحد باشد.
دروس جبرانی:
دروس جبرانی هر دانشجو باتوجه به سابقه تحصیلی دانشجو توسط گروه مجری تعیین میگردد.
نقش و توانایی یا کارایی
فارغ التحصیلان این دوره می توانند دارای کارهائی زیر باشند:
– پیاده سازی اتوماسیون پیشرفته در صنعت مانند طراحی سیستم های رباتیک هوشمند وکنترل کیفیت اتوماتیک
– طراحی سیستم های پیشرفته نظامی شامل انواع سلاحهای هوشمند
– طراحی سیستم های امنیتی مانند انواع مسائل تایید هویت و تشخیص اتوماتیک
– طراحی سیستم های خبره برای انواع کاربردها
– کار در زمینه زبانشناسی محاسباتی مانند ایجاد مترجم های کامپیوتری
– طراحی نرم افزارهای هوشمند کامپیوتری مانند انواع بازیها
– تحلیل کامپیوتری تصاویر برای کاربردهای مختلف
– همکاری با موسسات آموزشی کشور
– هدایت پروژه های تحقیقاتی در زمینه های فوق درمراکز تحقیقاتی کشور
بررسی گرایش معماری کامپیوتر:
معماری کامپیوتر دانش طراحی مفهومی و شناخت اجزای رایانه است.
عنوان یکی از گرایشهای کامپیوتر است. در این گرایش با اجزای داخلی کامپیوتر که مراحل انجام یک دستور را بر عهده دارند و چگونگی کار آنها آشنا میشویم. در این گرایش واحد کنترل مرکزی و حافظه به عنوان دو بخش اصلی کامپیوتر معرفی میشوند و در ادامه به بررسی ارتباط آنها و ساختار درونی آنها میپردازند. برای درک موضوعات مطرح شده در این گرایش آشنائی با مبحث مدارهای منطقی لازم و ضروری است.
بررسی گرایش مهندسی نرم افزار
مهندسی نرمافزار پیشهای است که به یاری دانش رایانه و دیگر فناوریها و روشها به آفریدن و نگاهداری نرمافزار رایانهای میپردازد.
مسائل اصلی مهندسی نرمافزار تولید نرمافزار بر اساس موارد زیر است:
• الزامات تعیین شده
• در زمان تعیین شده
• در محدودهٔ بودجه پیشبینی شده
مهندسی نرمافزار طراحی، برنامه نویسی، توسعه، مستندسازی و نگهداری نرمافزار با بکارگرفتن روشهای فنی و عملی از علوم کامپیوتر، مدیریت پروزه، مهندسی، محدوده کاربرد، طراحی رابط، مدیریت تجهیزات دیجیتال و سایر زمینهها است.
کاربردهای مهندسی نرمافزار دارای ارزشهای اجتماعی و اقتصادی هستند، زیرا بهرهوری مردم را بالا برده، چند و چون زندگی آنان را بهتر میکنند. مردم با بهرهگیری از نرمافزار، توانایی انجام کارهایی را دارند که قبل از آن برایشان شدنی نبود. نمونههای از این دست نرمافزارها عبارتاند از: سامانههای توکار، نرمافزار اداری، بازیهای رایانهای، و اینترنت.
فناوریها و خدمات مهندسی نرمافزار به کاربران برای بهبود بهرهوری و کیفیت یاری میرساند. نمونههایی از زمینههای بهبود: پایگاه دادهها، زبانها، کتابخانهها، الگوها، فرآیندها و ابزار.
مهندسی نرمافزار به مفهوم توسعه و بازبینی یک سیستم نرمافزاری مربوط میباشد. این رشته علمی با شناسایی، تعریف، فهمیدن و بازبینی خصوصیات مورد نیاز نرمافزار حاصل سر و کار دارد. این خصوصیات نرمافزاری ممکن است شامل: پاسخگویی به نیازها، اطمینانپذیری، قابلیت نگهداری، در دسترس بودن، آزمونپذیری، استفاده آسان، قابلیت حمل و سایر خصوصیات باشد.
مهندسی نرمافزار ضمن اشاره به خصوصیات فوق، مشخصات معین طراحی و فنیای را آماده میکند که اگر بدرستی پیادهسازی شود، نرمافزاری را تولید خواهد کرد که میتواند بررسی شود که آیا این نیازمندیها را تامین میکند یا خیر.
مهندسی نرمافزار همچنین با خصوصیات پروسه توسعه نرمافزاری در ارتباط است. در این رابطه، با خصوصیاتی مانند هزینه توسعه نرمافزار، طول مدت توسعه نرمافزار و ریسکهای توسعه نرمافزار درگیر است.
نیاز به مهندسی نرمافزار
نرمافزار عموماً از محصولات و موقعیتهایی شناخته میشود که قابلیت اطمینان زیادی از آن انتظار میرود، حتی در شرایط طاقت فرسا، مانند نظارت و کنترل نیروگاههای انرژِی هستهای، یا هدایت یک هواپیمای مسافربری در هوا، چنین برنامههایی شامل هزاران خط کد هستند، که از نظر پیچیدگی با پیچیدهترین ماشینهای مدرن قابل مقایسهاند. بهعنوان مثال یک هواپیمای مسافربری چند میلیون قطعه فیزیکی دارد (و یک شاتل فضایی خدود ده میلیون بخش دارد)، در حالی که نرمافزار هدایت چنین هواپیمایی میتواند تا ۴ میلیون خط کد داشته باشد.
تکنولوژیها و روشهای عملی
مهندسین نرمافزار طرفدار تکنولوژیها و روشهای عملی بسیار متفاوت و مختلفی هستند، که با هم ناسازگارند. این بحث در سالهای دهه ۶۰ میلادی شروع شد و ممکن است برای همیشه ادامه پیدا کند. مهندسین نرمافزار از تکنولوژیها و روشهای عملی بسیار متنوعی استفاده میکنند. کسانی که کار عملی میکنند از تکنولوژیهای متنوعی استفاده میکنند : کامپایلرها، منابع کد، پردازشگرهای متن. کسانی که کار عملی میکنند از روشهای عملی بسیار متنوعی استفاده میکنند تا تلاشهایشان را اجرا و هماهنگ کنند : برنامه نویسی در دستههای دونفری، بازبینی کد، و جلسات روزانه. هدف هر مهندس نرمافزار بایستی رسیدن به ایدههای جدید خارج از مدلهای طراحی شده قبلی باشد، که باید شفاف بوده و بخوبی مستند شده باشد.
با وجود رشد فزاینده اقتصادی و قابلیت تولید فزایندهای که توسط نرمافزار ایجاد شده، هنوز هم بحث و جدلهای ماندگار درباره کیفیت نرمافزار ادامه دارند.
ماهیت مهندسی نرمافزار
دیوید پارناس گفتهاست که مهندسی نرمافزار یک شکل از مهندسی است. استیو مککانل گفتهاست که هنوز اینطور نیست، ولی مهندسی نرمافزار باید یک شکل از مهندسی بشود. دونالد کنوت گفتهاست که برنامه نویسی یک هنر است.
دیوان فعالیتهای آماری آمریکا مهندسان نرمافزار را به عنوان زیرگروهی از «متخصصین کامپیوتر»، با فرصتهای شغلیای مانند «دانشمند کامپیوتر»، «برنامه نویس» و «مدیر شبکه» دسته بندی کردهاست. BLS تمام مهندسین دیگر این شاخه علمی، که شامل مهندسین سختافزار کامپیوتر نیز هست، را بهعنوان «مهندسین» دسته بندی میکند.
دکترا:
و در مقطع دکترا از دروس زیر برای سه گرایش سؤال مطرح می شود:
۱- مهندسی کامپیوتر _ نرم افزار
الف) مواد امتحان عمومی : ۱-پایگاه داده۲- نظریه ی زبان ها و ماشین ها۳- ساختمان داده ها۴- طراحی الگوریتم ها ۵- کامپایلر ۶- طراحی وپیاده سازی زبان های برنامه سازی۷- سیستم عامل(۴۰%)
ب) مواد امتحان اختصاصی: ۱- سیستم عامل پیشرفته ۲- پایگاه داده ی پیشرفته۳- الگوریتم های موازی (۶۰%)
۲- مهندسی کامپیوتر _ معماری کامپیوتر
الف) مواد امتحان عمومی: ۱- معماری کامپیوتر۲- الکترونیک دیجیتال۳- انتقال داده ها۴- شبکه های کامپیوتری ۵- سیستم عامل VLS-6
(۴۰%)
ب) مواد امتحان اختصاصی:۱- معماری کامپیوتر پیشرفته ۲- شبکه های کامپیوتری پیشرفته۳- مدل سازی سخت افزار و متد های طراحی آن (۶۰%)
۳- مهندسی کامپیوتر _ هوش مصنوعی
الف) مواد امتحان عمومی:۱- مدار منطقی ۲- نظریه ی زبان ها و ماشین ها۳- ساختمان داده ها ۴- طراحی الگوریتمها ۵- هوش مصنوعی ۶-سیگنال ها وسیستم ها(۴۰%)
ب-) مواد امتحان اختصاصی: ۱- سیستم های خبره(۵۰%) و منطق فازی (۵۰%)۲- شناسایی آماری الگو ۳- شبکه های عصبی ۴- پردازش تکاملی ۵- یکی از دروس پردازش و شناسایی گفتار، تصویر پردازی رقمی (۶۰%)
لیسانس:
در اجرای اصول قانون اساسی جمهوری اسلامی ایران از جمله بند”ب” اصل دوم و بندهای ۲و۱۲و اصل سوم و ایجاد شرایط تحقق بند ۴ همین اصل و نیز اجرای اصل سی ام بند ۷ چهل و سوم و ایجاد شرایط تحقق بندهای ۸و ۹ این اصل و اصول دیگر و نظر به اهمیت روز افزون فن و دانش کامپیوتر و گسترش تصادی کاربرد آن در تمام زمینه های حیات بشری و نیاز فزاینده تکنولوژی و علوم معاصر به کامپیوتر پس از بررسی و مطالعه در ابعاد گسترده این صنعت دوره کارشناسی مهندسی کامپیوتر با مشخصات زیر تدوین شده است.
طول دوره تحصیل
طول متوسط این دوره ۴ سال است و برنامه درسی آن برای ۸ ترم طرح ریزی شده است. طول هر ترم ۱۷ هفته آموزش کامل، مدت هر واحد درس نظری ۱۷ ساعت، عملی و آزمایشگاهی و کارگاهی ۵۱ ساعت و طول مدت کارآموزی ۲ ماه کاری میباشد.
تعداد واحدها
دروس عمومی ۲۰ واحد
دروس پایه ۲۱ واحد
دروس اصلی ۵۹ واحد
دروس تخصصی ۲۵ واحد
دروس اختیاری ۱۵ واحد
دروس اختیاری ۱۵ واحد
جمع کل واحدها ۱۴۰ واحدها
نقش و توانایی یا کارایی
فارغ التحصیلان این دوره قابلیت و مهارتهای زیر را خواهند داشت:
۱- بررسی و شناسایی سیستمهای کامپیوتری به منظور انتخاب و سفارش سخت افزار و یا نرم افزار بهینه، هدایت و نظارت در نصب و بهره برداری ازآنها.
۲- ارائه روشهای عیب یابی اصلاح و تکمیل سیستمهای سخت افزاری و یا نرم افزاری موجود و نظارت بر این امور.
۳- طراحی، ساخت و راه اندازی سیستمهای جدید سخت افزاری و یا نرم افزاری
۴-تشخیص لزوم استفاده از کامپیوتر در کنترل عملیات در محیط های مختلف
۵-شناسایی تکنیکهای جدید طراحی و ساخت کامپیوتر ، ارزیابی و بکارگیری آنها
ضرورت و توانایی
تربیت کارشناسان مهندسی کامپیوتر با توجه به موارد روشن میشود.
۱- توسعه و گسترش روز افزون تکنولوژی کامپیوتر و دانش آن
۲- نقش حیاتی دانش و تکنولوژی کامپیوتر در جمع زمینه های علمی ، صنعتی، اقتصادی، مدیریتی آموزش و پژوهشی
۳- لزوم ارتقاء سطح دانش جامعه در زمینه دانش و تکنولوژی کامپیوتر
۴- لزوم همگانی جامعه با پیشرفتهای نوین در جوامع پیشرفته