ستاره | سرویس علوم – رشته مهندسی کامپیوتر اکنون مدتها است که در بسیاری از دانشگاههای ایران تدریس میشود. از دانشگاه سراسری و آزاد گرفته تا دانشگاه پیام نور و سایر انواع مرکز آموزشی که اکثر آنها غیر دولتی بوده و روز به روز هم بر تعدادشان افزوده میشود. در مجموع شاید بتوان میزان گستردگی این رشتهی تحصیلی در دانشگاههای مختلف کشور را تا حدی قابل قبول دانست. علاوه بر آن امکان تحصیل در این رشته تا مقطع دکترا نیز در کشور وجود دارد.
اکنون حدود دو دهه است که ضریب نفوذ کامپیوتر در میان خانوادههای ایرانی رفته رفته افزایش یافته و میزان استفاده از آن حتی در میان افراد پا به سن گذاشته نیز سیر صعودی داشته است. تا پیش از آن کامپیوتر یک وسیلهی گران قیمت و تا حدی لوکس به شمار میرفت. از همین رو در گذشته برخی از افراد رشته مهندسی کامپیوتر را یک رشتهی پر خرج قلمداد میکردند. اما در حال حاضر چنین شرایطی وجود ندارد و فارغ از بحث شهریهی گزاف این رشته و سایر رشتههای مشابه در دانشگاههای غیر دولتی، رشته مهندسی کامپیوتر تفاوت چندانی با سایر رشتههای تحصیلی ندارد.
اهداف اصلی رشته مهندسی کامپیوتر
هدف اصلی رشته مهندسی کامپیوتر تربيت کردن افراد متخصصی است كه بتوانند در زمينهی طراحی، تحليل، ساخت، توسعه و راهاندازی دستگاهها یا سخت افزارهای جديد فعالیت کنند و همچنین دانش و توانایی نگهداری، بررسی، عیبیابی و تعمیر آنها را نیز داشته باشند. علاوه بر آن تمام موارد مذکور را علاوه بر بخش سخت افزار میتوان به بخش نرم افزار نیز تعمیم داد. به این معنی که مواردی نظیر طراحی نرمافزارهای مختلف در کنار شبيهسازی، پردازش، سنجش، ويرايش و آموزش آنها از جمله مواردی است که آموزش آن در بخش نرم افزاری رشته مهندسی کامپیوتر مد نظر قرار دارد.
در مجموع دانش آموختگان این رشته پس از پایان تحصیلات خود باید از توانایی شناخت نرم افزارها و سخت افزارهای مختلف، به خصوص آنهایی که به تازگی طراحی و تولید شدهاند، باخبر باشند و چگونگی به كارگيری آنها را بدانند. در حال حاضر بسیاری از شرکتهای صنعتی و خدماتی از وجود نرم افزارها و سخت افزارهای پیشرفته برای تسهیل فعالیتهای خود بهره میگیرند. از همین رو متخصصان رشته مهندسی کامپیوتر در صورت فعالیت در چنین بخشهایی باید بتوانند به خوبی سیستمهای فعال را شناسایی کرده و از وجود کمبودهای نرم افزاری و سخت افزاری مختلف در آنها باخبر شوند.
از دیگر تواناییهایی که متخصصان این رشتهی تحصیلی پس از فارغالتحصیل شدن باید از آن به خوبی آگاه باشند چگونگی نصب، اجرا و آزمایش طرحهای مختلف كامپيوتری است. علاوه بر آن باید این دسته از افراد بتوانند طرحهای مذکور را آموزش بدهند. مسلما تمام سیستمهای کامپیوتری فارغ از نرم افزاری یا سخت افزاری بودن آنها، علاوه بر توسعه به پشتيبانی و نگهداری هم نیاز خواهند داشت. از همین رو چگونگی پشتیبانی از آنها و عیب یابی این سیتمها از دیگر موضوعاتی است که در رشتهی تحصیلی مهندسی کامپیوتر مد نظر قرار دارد. ضمن آن که دانش آموختگان این رشته باید چگونگی ارتقا یافتن سیستمهای کامپیوتری مختلف را نیز بیاموزند.
البته مواردی که به آنها اشاره شد در مورد تمام گرایشهای این رشته صدق میکند. به این معنی که فارغالتحصیلان رشتهی تحصیلی مهندسی کامپیوتر نیاز نیست بر تمام این تواناییها مسلط باشند و تنها کافی است با توجه به گرایش انتخابی خود بخشی از آنها را به صورت اصولی و پایهای بیاموزند. به طور کل معمولا تفکیک واضحی میان جنبههای مختلف نرم افزاری و سخت افزاری در رشتهی تحصیلی مهندسی کامپیوتر وجود دارد.
گرایشهای رشته مهندسی کامپیوتر
رشته مهندسی کامپیوتر هم مانند برخی دیگر از رشتههای مهندسی که در همان دورهی کارشناسی بیش از یک گرایش برای انتخاب دارند، از دو گرایش نرم افزار و سخت افزار تشکیل شده است. البته این دو گرایش به ظاهر متفاوت، در مقطع کارشناسی ارشد از نظر کلی تفاوت چندانی با یکدیگر ندارند و اکثر تفاوتهای آنها در مقطع تحصیلات تکمیلی آشکار میشود.
در مجموع این رشتهی تحصیلی را میتوان در قالب شاخههای مختلفی مانند نرم افزار، معماری سیستمهای کامپیوتری، مهندسی فناوری اطلاعات و نظایر آن طبقهبندی کرد که برخی از آنها گرایشهای مختص به خود را دارند. به عنوان مثال شاخهی مهندسی فناوری اطلاعات در مقطع کارشناسی ارشد به زیرشاخهها یا گرایشهایی نظیر تجارت الکترونیکی، رایانش امن یا امنیت اطلاعات، شبکههای کامپیوتری و فناوری اطلاعات یا همان آیتی قابل دستهبندی خواهد بود.
۱. رشته مهندسی کامپیوتر گرایش نرم افزار
در گرایش نرم افزار از رشتهی تحصیلی مهندسی کامپیوتر تمرکز اصلی بر آموزش زبانهای مختلف برنامهنویسی و پژوهش در مورد آنها قرار دارد. زبانهای برنامهنویسی انواع و اقسام مختلفی را در بر میگیرد و نمونههای جدید، قدیمی، پر کاربرد، از دور خارج شده و امثال آن را شامل میشود. مسلما برای یک دانشجوی رشته مهندسی کامپیوتر تسلط کامل بر تمام زبانهای برنامهنویسی شناخته شده کار چندان راحتی نخواهد بود. اما در عین حال آنها باید تمام این زبانها را بشناسند و از نقاط و قوت و ضعف هر کدام از آنها باخبر باشند.
در واقع بهتر است که دانشجویان گرایش نرم افزار حداقل مدتی را با زبانهای مختلف برنامهنویسی کار کنند تا به یک شناخت نسبی از بخش عمدهی آنها برسند. پس از آن میتوان با توجه به علاقه و کشش نسبت به یک یا تعداد بیشتری از این زبانهای برنامهنویسی و همچنین میزان استفاده و کاربرد آنها در بازار کار، روی تعداد محدودی از آنها تسلط بیشتری یافت. علاوه بر موارد اشاره شده توضیح در مورد انواع و اقسام سیستم عامل کامپیوتری و طراحی نمونههای گوناگونی از الگوریتمهای کاربردی بر مبنای آنها نیز از دیگر اهداف گرایش تحصیلی نرم افزار به شمار میرود.
اگر بخواهیم کامپیوتر را به دو بخش مختلف تقسیم کنیم، یکی از آنها نرم افزار و دیگری سخت افزار خواهد بود. نرم افزار معمولا به آن دسته از برنامههایی گفته میشود که وظیفهی تعیین تکلیف اعمال و رفتار کامپیوتر را بر عهده دارند. به این معنی که به اجزای مختلف کامپیوتر دستور میدهند که چه عملی را انجام دهند. در عمل میتوان نرم افزار را برنامهای قلمداد کرد که موجب فعالیت هدفمند سخت افزار کامپیوتر میشود و نقش اصلی آن را تعیین میکند. به عنوان مثال نرم افزارهای گرافیکی موجب به کار افتادن سخت افزارهایی نظیر کارت گرافیک میشوند و نقش و وظیفه و ماهیت آنها را تعیین میکنند.
در گرایش نرم افزار از رشته مهندسی کامپیوتر دانشجویان به تدریج فرا میگیرند که چگونه میتوان نرم افزارهای مختلف را طراحی نمود. از نمونههای ساده و کم جزییات گرفته تا نرم افزارهای پیچیده و سطح بالایی که به منظور انجام اهداف خاص طراحی میشوند. البته چگونگی طراحی این نرم افزارها بیشتر به خلاقیت و تیزهوشی طراحان آنها باز میگردد. در واقع دانش آموختگان این رشتهی تحصیلی در طول دوران تحصیل خود تنها اصول طراحی نرم افزار را فرا میگیرند و باقی جزییات این کار به تلاش و پیگیری خود آنها بستگی دارد.
فرصتهای شغلی گرایش نرم افزار
نرم افزارهای کامپیوتری معمولا شامل نرم افزارهای کاربردی و نرم افزارهای سيستمی میشوند. نرم افزارهای کاربردی بیشتر توسط افراد یا شرکتهای ثالث طراحی میشوند. شرکتهایی که معمولا مستقل از شرکتهای تولید کنندهی سیستمها و سخت افزارهای کامپیوتری به فعالیت میپردازند. به عنوان مثال همین نرم افزارهای گرافیکی که در سطور پیشین این متن به آنها اشاره شد به طور عمده نرم افزارهای کاربردی به شمار میروند.
دانش آموختگان گرایش نرم افزار میتوانند پس از پایان یافتن دوران تحصیل خود در قالب شرکتهای ریز و درشت نرم افزاری یا به صورت مستقل به طراحی نرم افزارهای کاربردی بپردازند.
در سوی مقابل نرم افزارهای کاربردی، نرم افزارهای سيستمی قرار گرفتهاند. این دسته از نرم افزارها را میتوان برنامههايی نامید كه سیستمهای كامپيوتری برای فعالیت به آنها محتاج هستند و معمولا توسط همان شرکتهای تولید کنندهی سخت افزار طراحی میشوند. به عنوان مثال برنامههای فعال کنندهی پردازنده یا کارت گرافیک سیستمهای کامپیوتری که با نام درایور شناخته میشوند جزو این دسته از نرم افزارها قرار میگیرند. علاوه بر آن سیستم عاملهای کامپیوتری و برنامههایی نظیر ویندوز را هم میتوان جزو نرم افزارهای سیستمی به شمار آورد.
معمولا دانش آموختگان گرایش نرم افزار برای تولید نرم افزارهای سیستمی باید به خدمت شرکتهای تولید کنندهی سخت افزار در بیایند. اما از آنجایی که چنین شرکتهایی در ایران فعال نیستند، فعالیت دانش آموختگان گرایش نرم افزار در ایران تنها در قالب طراحی نرم افزارهای کاربردی امکانپذیر خواهد بود. در عمل نیز بخش عمدهای از نرم افزارهای موجود در بازار را نمونههای کاربردی تشکیل میدهند و نرم افزارهای سیستمی از نظر کمیت در رتبهی بعدی قرار میگیرند.
۲. رشته مهندسی کامپیوتر گرایش سخت افزار
در گرایش سخت افزار بیش از هر موضوع دیگری به قطعات و تجهیزات مختلف کامپیوتر پرداخته میشود. علاوه بر آن معماری سیستمهای گوناگون کامپیوتری نیز در این گرایش به شکل مفصل مورد بررسی قرار میگیرد. علاقهمندان به گرایش سخت افزار میتوانند در مقطع تحصیلات تکمیلی به سراغ زیر شاخهی معماری رایانه بروند. بستر تحصیلی مبتنی بر فعالیتهای عملی که تمرکز اصلی آن بر طراحی و ساخت کامپیوتر قرار دارد.
گرایش سخت افزار از رشته مهندسی کامپیوتر در مقطع ليسانس به مواردی نظیر مطالعه، بررسی، طراحی و كنترل سیستمهای کامپیوتری از نظر سخت افزاری میپردازد. در مقاطع تکمیلی نیز میتوان میزان دانش خود در این حوزهها را گسترش و افزایش داد. این روزها گرایش سخت افزار در ایران بیش از پیش شناخته شده است. این در حالی است که در طول دههی گذشته بسیاری از افراد مهندسان سخت افزار را بیش از هر چیز در قامت تعمیرکاران کامپیوتر به شمار میآوردند. البته این موضوع که فارغ التحصیلان گرایش سخت افزار در طول سالهای گذشته به دلیل مساعد نبودن بازار کار ناگزیر از فعالیت در شرکتهای فروش و تعمیر قطعات کامپیوتری بودند نیز چندان در این باور بیتاثیر نبوده است.
با تمام این اوصاف ناگفته پیدا است که کار یک مهندس سخت افزار تنها تعمیر قطعات کامپیوتری نیست. بلکه دانش آموختگان این گرایش در صورت برخورداری از آموزش درست و ادامه دادن تحصیلات خود در مقاطع تکمیلی قادر خواهند بود با دستهای خود سخت افزارهای مختلفی را طراحی کنند. علاوه بر آن امکان طراحی مدارهای مجتمع ديجيتالی نیز از دیگر فعالیتهایی است که میتوانند به انجام آن بپردازند. البته باید به این نکته اشاره کرد که دانشجویان گرایش سخت افزار در طول دوران تحصیل خود با انواع و اقسام قطعات سخت افزاری و شیوهی عیبیابی و تعمیر آنها آشنا میشوند.
شاید یکی دیگر از دلایلی که موجب شده است تا نوع نگاه برخی از افراد به مهندسان سخت افزاری در حد یک تعمیرکار قطعات کامپیوتری تنزل یابد، افزایش قابل توجه تعداد آموزشگاههای خصوصی کامپیوتر در طول سالهای گذشته بوده است. اگرچه در حال حاضر تعداد این آموزشگاهها به نوعی تعدیل شده است، اما در یک بازهی زمانی خاص شاهد رشد بیرویه آنها بودیم. مسلما افرادی که در این مراکز خصوصی آموزش دیدهاند دانشی در حد یک مهندس کامپیوتر ندارند.
فرصتهای شغلی گرایش سخت افزار
همان گونه که به آن اشاره شد در طول سالهای گذشته به دلیل نبود فرصتهای شغلی مناسب تعدادی از فارغ التحصیلان رشته مهندسی کامپیوتر و گرایش سخت افزار این رشته ناگزیر از کار در شرکتهای فروش و تعمیر قطعات سخت افزاری بودند. البته هنوز هم یکی از رایجترین کارهایی که دانش آموختگان این رشته پس از پایان تحصیلات خود انجام میدهند فعالیت در چنین شرکتهایی است.
البته این افراد امكان اشتغال در برخی از شركتهای توليدی را نیز خواهند داشت. شرکتهایی که از سخت افزارهای متعدد استفاده می کنند یا این که در تولید یا تعمیر بخشی از قطعات سخت افزاری دخیل هستند. علاوه بر آن یکی از زمینههای شغلی شناخته شدهای که دانش آموختگان گرایش سخت افزار میتوانند در آن فعالیت کنند حوزهی واردات قطعات سخت افزاری است. با توجه به رشد روز افزون استفاده از سیستمهای کامپیوتری در ایران شرکتهای فراوانی در زمینهی واردات قطعات سخت افزاری گوناگون به داخل کشور فعالیت میکنند. شرکتهایی که فارغ التحصیلان گرایش سخت افزار قادر به همکاری با آنها خواهند بود.
در پایان این مطلب میتوانید لیستی از مهمترین درسهای اصلی رشته مهندسی کامپیوتر را از نظر بگذرانید. با این توضیح که این درسها به طور عمده در هر دو گرایش نرم افزار و سخت افزار مشترک هستند.
- آزمايشگاه ۱ و ۲
- رياضی ۱ و ۲
- مبانی كامپيوتر و برنامهسازی
- آزمايشگاه كامپيوتر
- معادلات ديفرانسيل
- ساختمانهای گسسته
- برنامهسازی پيشرفته
- آمار و احتمالات مهندسی
- رياضی مهندسی
- مدارهای الكتريكی ۱
- آزمايشگاه مدارهای الكتريكی ۱
- ساختمان دادهها
- زبان ماشين و برنامهريزی سيستم
- مدارهای الكترونيكی
- آزمايشگاه مدارهای الكترونيكی
- مدارهای منطقی
- طراحی الگوريتمها
- طراحی و پيادهسازی زبانهای برنامهسازی
- ريز پردازنده ۱
- آزمايشگاه ريز پردازنده ۱
- معماری كامپيوتر
- آزمايشگاه معماری كامپيوتر
- شبكههای كامپيوتری
- آزمايشگاه شبكههای كامپيوتری
- سيستم هاي عامل
- كارگاه عمومی