مهندسی کامپیوتر

مهندسی کامپیوتر (به انگلیسی: Computer engineering) دانشی مرکّب از مباحث رشته‌های مهندسی الکترونیک، مهندسی برق و طراحی نرم‌افزار است. این رشته برخلاف مهندسی نرم‌افزار با طراحی، توسعه و تولید سیستم‌های کامپیوتری در هر دو شاخه سخت‌افزار و نرم‌افزار سر و کار دارد.

مهندسی کامپیوتر شاخه ای از مهندسی است که چندین زمینه مورد نیاز از علوم کامپیوتر و الکترونیک را برای توسعه سخت‌افزار و نرم‌افزار کامپیوتر ادغام می‌کند. مهندسان کامپیوتر معمولاً علاوه بر مهندسی نرم‌افزار یا مهندسی الکترونیک کامپیوتر در طراحی نرم‌افزار و سخت‌افزار مهارت دارند. مهندسان در طراحی بسیاری از سخت‌افزارها و نرم‌افزارهای محاسباتی، شامل طراحی میکروکنترلرهای فردی، ریزپردازنده‌ها، رایانه‌های شخصی و ابررایانه‌ها و طراحی مدار مهارت دارند. این حوزه مهندسی نه تنها بر چگونگی کارکرد سیستم‌های کامپیوتری تمرکز دارد بلکه چگونگی کاربردی تر کردن آن نیز تمرکز دارد.[۱]

وظایف معمول مهندسان کامپیوتر شامل نوشتن نرم‌افزار و سیستم عامل برای میکروکنترلرهای جاسازی شده، طراحی تراشه‌های VLSI، طراحی سنسورهای آنالوگ، طراحی صفحات مدار و طراحی سیستم‌های عامل کامپیوتر است. مهندسان کامپیوتر نیز برای تحقیقات رباتیک مناسب هستند که به شدت بر استفاده از سیستم‌های کنترل و نظارت بر سیستم‌های الکتریکی مانند موتور، ارتباطات، و سنسورهای دیجیتال متکی هستند.[۲]

در بسیاری از موسسات، دانشجویان مهندسی کامپیوتر مجاز هستند تا زمینه‌های تحصیلات عالی را در سال‌های پایه و پایانی خود انتخاب کنند زیرا گستره وسیع دانش مورد استفاده در طراحی و کاربرد کامپیوترها فراتر از دامنه تحصیلات تکمیلی است. سایر موسسات ممکن است نیاز به دانش آموزان مهندسی کامپیوتر به عنوان تمرکز اصلی خود برای تکمیل یک یا دو سال مهندسی عمومی قبل از اعلان داشته باشند.[۳][۴][۵][۶]

تاریخچه

مهندسی کامپیوتر در سال ۱۹۳۹ آغاز شد، زمانی که جان وینسنت آتناواف و کلیفورد بری شروع به توسعه اولین کامپیوتر دیجیتال از طریق فیزیک، ریاضیات و مهندسی برق الکترونیک جهان کردند. جان وینسنت آتناواف یک استاد فیزیک و ریاضیات دانشگاه ایالتی آیووا و کلیفورد بری یک فارغ‌التحصیل سابق در زمینه مهندسی برق و فیزیک بود. آنها با هم، کامپیوتر Atanasoff-Berry را نیز بوجود آوردند که همچنین به عنوان ABC شناخته شده بود که برای تکمیل ۵ سال طول کشید. در حالی که ABC اصلی در دهه ۱۹۴۰ از بین رفته و دور انداخته شد، یک نسخه از ABC در سال ۱۹۹۷ ساخته شد[۷]


تاریخچه آموزش مهندسی کامپیوتر

اولین دوره کارشناسی مهندسی کامپیوتر در ایالات متحده در سال ۱۹۷۲ در دانشگاه کلیولند، اوهایو رزرواسیون در غرب ایالات متحده تأسیس شد.[۸] از تاریخ ۲۰۱۵, از سال ۲۰۱۵، ۲۵۰ برنامه مهندسی کامپیوتر با مجوز ABET در ایالات متحده[۹] از تاریخ ۲۰۱۵, وجود دارد. در اروپا، اعتبار بخشی از مدارس مهندسی کامپیوتر توسط بخش‌های مختلف سازمان از شبکه EQANIE انجام می‌شود. با توجه به افزایش تقاضای کار برای مهندسان که می‌توانند به‌طور همزمان سخت‌افزار، نرم‌افزار، سیستم عامل، و تمام انواع سیستم‌های کامپیوتری که در صنعت استفاده می‌شود را طراحی کنند بعضی از موسسات عالی‌رتبه در سراسر جهان، مدرک لیسانس را به‌طور کلی به نام مهندسی کامپیوتر ارائه می‌دهند. هر دو مهندسی کامپیوتر و مهندسی الکترونیک شامل طراحی مدار آنالوگ و دیجیتال در برنامه درسی خود می‌باشد. مانند همهٔ رشته‌های مهندسی، داشتن دانش ریاضی و علوم برای مهندسان کامپیوتر ضروری است.

تحصیلات

مهندسی کامپیوتر در برخی از دانشگاه‌ها به عنوان علوم رایانه و مهندسی شناخته می‌شود. بیشترین مشاغل مهندسی کامپیوتر نیاز به حداقل یک مدرک لیسانس در مهندسی کامپیوتر (یا علوم کامپیوتر و مهندسی) دارد. مهندسین کامپیوتر به‌طور معمول باید یک شاخه از ریاضیات مانند حسابداری، جبر و مثلثات و بعضی کلاس‌های علم کامپیوتر را یاد بگیرند. از آنجا که مهندسان سخت‌افزار معمولاً با سیستم‌های نرم‌افزاری کامپیوتری کار می‌کنند داشتن زمینه ای قوی در برنامه‌نویسی کامپیوتر ضروری است. طبق آمار دفتر آمار ایالات متحده رشته مهندسی کامپیوتر شبیه به مهندسی برق است، اما برخی از دوره‌های علوم کامپیوتر به برنامه درسی اضافه شده‌است. برخی از شرکت‌های بزرگ یا شغل‌های تخصصی نیاز به مدرک کارشناسی ارشد دارند. همچنین برای مهندسان کامپیوتر بسیار مهم است که با پیشرفت‌های سریع در تکنولوژی منطبق شوند؛ بنابراین، بسیاری یادگیری را در سراسر حرفه خود ادامه می‌دهند. این می‌تواند مفید باشد، به ویژه هنگامی که به یادگیری یا بهبود مهارت‌های جدید موجود می‌رسد.[۱۰]"Feabhas_Infographic_FINAL" (pdf). feabhas. Feabhas.</ref>


کاربردها

دو بخش عمده در مهندسی کامپیوتر وجود دارد: سخت‌افزار و نرم‌افزار.

مهندسی سخت‌افزار کامپیوتر

طبق آمار دفتر آمار ایالات متحده (BLS)، رشد شغلی ده درصدی از سال ۲۰۱۴ تا ده سال آینده برای مهندسی سخت‌افزار کامپیوتر تخمین زده می‌شود. در سال۲۰۱۴برای مهندسی سخت‌افزار کامپیوتر حدود ۳٪ بود و در مجموع ۷۷٬۷۰۰ شغل در همان سال وجود داشت.[۱۱] امروزه سخت‌افزار کامپیوتر به نوعی برابر با مهندسی الکترونیک و کامپیوتر (electrical computer engineering) است. مهندسی (ECE) و به بسیاری از زیر شاخه‌ها تقسیم شده‌است که مهمترین آن طراحی سیستم جاسازی شده‌است.[۱۲][۱۳]


مهندسی نرم‌افزار کامپیوتر

طبق آمار دفتر آمار ایالات متحده (BLS)، مهندسان نرم‌افزارهای کامپیوتری و نرم‌افزارهای سیستم‌های کامپیوتری در مقایسه با سایر شغل‌ها قرار است سریعتر رشد کنند. رشد هفده درصدی از سال ۲۰۱۴ تا ده سال آینده برای مهندسی نرم‌افزار کامپیوتری تخمین زده می‌شود و در مجموع ۱۱٫۱۴ هزار شغل در همان سال وجود خواهد داشت."Software Developers: Occupational Outlook Handbook". U.S. Bureau of Labor Statistics.</ref> علاوه بر این، نگرانی‌های روزافزون در مورد امنیت سایبری، باعث شده تا مهندسی نرم‌افزار کامپیوتر دارای بیشترین نرخ متوسط افزایش تقاضای بازار کار برای همه زمینه‌ها باشد.[۱۴][۱۵] And, further down from the 30% 2010 to 2020 BLS estimate.[۱۶] با توجه به این، رشد شغلی بیشتر از آنچه در طول دهه گذشته بوده‌است، خواهد بود.[۱۷] علاوه بر این، چشم‌انداز شغل برای برنامه نویسان کامپیوتر ،۸ درصد کمتر از کسانی است که برنامه‌های کامپیوتری را می‌نویسند (یعنی سیستم‌های جاسازی شده) که جزو توسعه دهندگان نرم‌افزار کامپیوتر نیستند.[۱۷] for those who program computers (i.e. embedded systems) who are not computer application developers.[۱۸][۱۹]


زمینه‌های تخصصی

زمینه‌های تخصصی بسیار زیادی در رشته مهندسی کامپیوتر وجود دارد.

برنامه‌نویسی، رمزنگاری و محافظت از اطلاعات

مهندسان کامپیوتر روی برنامه‌نویسی، رمزنگاری و محافظت از اطلاعاتی مانند تصاویر دیجیتال و موسیقی برای ایجاد روش‌های جدید برای محافظت از انواع مختلف داده و روی ارتباطات بی‌سیم، سیستم‌های چند آنتن، انتقال نوری کار می‌کنند.[۲۰]


ارتباطات و شبکه‌های بی‌سیم

کسانی که روی ارتباطات و شبکه‌های بی‌سیم تمرکز می‌کنند، در سیستم‌های مخابراتی و شبکه‌ها (به خصوص شبکه‌های بی‌سیم) به صورت تخصصی و پیشرفته کار می‌کنند. مدولاسیون و کدگذاری خطا و نظریه اطلاعات و طراحی شبکه با سرعت بالا، طراحی و تجزیه و تحلیل سیستم تحمل خطا، و طرح‌های ذخیره‌سازی و انتقال همه بخشی از این تخصص است.[۲۰]


کامپایلرها و سیستم عامل

این تخصص بر طراحی و توسعه کامپایلرها و سیستم عامل‌ها تمرکز دارد. مهندسین در این زمینه سیستم عامل جدیدی را توسعه می‌دهند. معماری سیستم، تکنیک‌های تحلیل برنامه و تکنیک‌های جدید برای اطمینان از کیفیت نمونه‌هایی از کار در این زمینه است.[۲۰]


علم محاسباتی و مهندسی

علوم و مهندسی محاسبات یک رشته نسبتاً جدید است. کار افراد در این زمینه، کشف روش‌های محاسباتی برای فرموله کردن و حل مشکلات پیچیده ریاضی در مهندسی و علوم فیزیکی و اجتماعی است. طراحی هواپیما، طراحی مدار VLSI، سیستم‌های تشخیص رادار، انتقال یون از طریق کانال‌های بیولوژیکی نمونه‌هایی از کار در این زمینه است.[۲۰]


شبکه‌های کامپیوتری محاسبات همراه و سیستم‌های توزیع شده

در این تخصص، مهندسان محیط‌های یکپارچه را برای محاسبات، ارتباطات و دسترسی به اطلاعات ایجاد می‌کنند. مانند شبکه‌های بی‌سیم، مدیریت منابع در سیستم‌های مختلف و بهبود کیفیت خدمات در موبایل و دستگاه‌های خودپرداز و کار بر روی سیستم‌های شبکه‌های بی‌سیم از نمونه‌های کار در این زمینه است.[۲۰]


سیستم‌های کامپیوتری: معماری، پردازش موازی و قابلیت اطمینان

مهندسین کار در سیستم‌های کامپیوتری بر روی پروژه‌های تحقیقاتی کار می‌کنند که برای کامپیوتر قابل اعتماد، امن و با کارایی بالا امکان‌پذیر است. سیستم‌های پروژه‌هایی مانند طراحی پردازنده‌های چند رشته‌ای و پردازش موازی در این زمینه گنجانده شده‌است. مثالهای دیگر از کار در این زمینه شامل توسعه نظریه‌های جدید، الگوریتم‌ها و سایر ابزارهایی است که به سیستم‌های کامپیوتری ربط داده شده‌است. معماری کامپیوتر شامل طراحی واحد مرکزی پردازش، چیدمان سلسله مراتب ذخیره‌سازی و سازمان حافظه است.[۲۰]


بینایی کامپیوتر و روباتیک

در این تخصص، مهندسان کامپیوتر بر روی توسعه تکنولوژی حسگر بصری تمرکز می‌کنند تا یک محیط را درک کند، نمایه ای از یک محیط زیست و دستکاری در محیط زیست. سپس اطلاعات جمع‌آوری شده سه بعدی برای اجرای وظایفی پردازش می‌شود. انواع وظایف شامل بهبود مدل‌سازی انسان، ارتباطات تصویری و رابط‌های انسانی و کامپیوتر است. دستگاه‌هایی مانند دوربین‌های ویژه با سنسور بینایی همه‌کاره[۲۰]


سیستم‌های جاسازی شده

افرادی که در این زمینه کار می‌کنند، تکنولوژی را برای افزایش سرعت، قابلیت اطمینان و عملکرد سیستم‌های جاسازی شده در بسیاری از آنها طراحی می‌کنند. سیستم‌های جاسازی شده در بسیاری ازدستگاه‌ها از یک رادیو FM کوچک تا شاتل فضایی یافت می‌شود. تحولات جاری در سیستم‌های جاسازی شده شامل موارد زیر است: وسایل نقلیه خودکار و تجهیزات برای انجام جستجو و نجات خودکار و سیستم‌های حمل و نقل و هماهنگی انسان و ربات برای تعمیر تجهیزات درفضا. از سال ۲۰۱۸، تعبیه تخصص مهندسی کامپیوتر شامل طراحی سیستم بر روی تراشه، معماری محاسبات لبه و اینترنت اشیا است.[۲۰]


مدارهای مجتمع، طراحی VLSI، تست و CAD

این تخصص مهندسی کامپیوتر نیاز به دانش کافی از الکترونیک و سیستم‌های الکتریکی دارد. مهندسانی که در این کار هستند بر روی افزایش سرعت، قابلیت اطمینان و بهره‌وری انرژی نسل بعدی مدارهای مجتمع (VLSI) مقیاس بسیار بزرگ و میکروسیستم کار می‌کنند یک مثال از این تخصص کار بر روی کاهش مصرف انرژی الگوریتم‌های VLSI و معماری است.[۲۰]


پردازش سیگنال، تصویر و گفتار

مهندسان کامپیوتر در این زمینه به بهبود در تعامل انسان و کامپیوتر می‌پردازند، از جمله تشخیص گفتار و سنتز، تصویربرداری پزشکی و علمی یا سیستم‌های ارتباطی. دیگر کارها در این زمینه شامل توسعه چشم کامپیوتر مانند تشخیص ویژگی‌های صورت انسان است.[۲۰]