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

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

مهندسی رایانه یا مهندسی کامپیوتر دانشی است مرکب از مباحث نرم‌افزاری. این رشته برخلاف مهندسی نرم‌افزار با طراحی و توسعه و تولید سیستم‌های رایانه‌ای در هر دو شاخهٔ سخت‌افزار و نرم‌افزار سر و کار دارد.

مهندسی کامپیوتر
مهندسی رایانه یا مهندسی کامپیوتر دانشی است مرکب از مباحث نرم‌افزاری.

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

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

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

تاریخچه

ویرایش

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

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

ویرایش

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

تحصیلات

ویرایش

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

کاربردها

ویرایش

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

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

ویرایش

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

مهندسی نرم‌افزار رایانه

ویرایش

طب‍‍‎‎ق آمار دفتر آمار ایالات متحده (BLS)، مهندسان نرم‌افزارهای رایانه‌ای و نرم‌افزارهای سیستم‌های رایانه‌ای در مقایسه با سایر شغل‌ها قرار است سریعتر رشد کنند. رشد هفده درصدی از سال ۲۰۱۴ تا ده سال آینده برای مهندسی نرم‌افزار رایانه‌ای تخمین زده می‌شود و در مجموع ۱۱۴ هزار شغل در همان سال وجود خواهد داشت.[۱۴] علاوه بر این، نگرانی‌های روزافزون در مورد امنیت سایبری، باعث شده تا مهندسی نرم‌افزار رایانه دارای بیشترین نرخ متوسط افزایش تقاضای بازار کار برای همه زمینه‌ها باشد.[۱۵][۱۶][۱۷] با توجه به این، رشد شغلی بیشتر از آنچه در طول دهه گذشته بوده‌است، خواهد بود.[۱۸] علاوه بر این، چشم‌انداز شغل برای برنامه نویسان رایانه ،۸ درصد کمتر از کسانی است که برنامه‌های رایانه‌ای را می‌نویسند (یعنی سیستم‌های جاسازی شده) که جزو توسعه دهندگان نرم‌افزار رایانه نیستند.[۱۸]

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

ویرایش
 
یک آردوینوA Arduino Uno board.

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

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

ویرایش

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

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

ویرایش

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

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

ویرایش

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

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

ویرایش

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

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

ویرایش

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

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

ویرایش

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

بینایی رایانه و روباتیک

ویرایش

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

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

ویرایش

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

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

ویرایش

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

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

ویرایش

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

جستارهای وابسته

ویرایش

منابع

ویرایش
  1. Trinity College Dublin. "What is Computer System Engineering". Retrieved April 21, 2006., "Computer engineers need not only to understand how computer systems themselves work, but also how they integrate into the larger picture. Consider the car. A modern car contains many separate computer systems for controlling such things as the engine timing, the brakes and the air bags. To be able to design and implement such a car, the computer engineer needs a broad theoretical understanding of all these various subsystems & how they interact.
  2. «Trinity College Dublin :: Engineering at Trinity :: What is Computer Engineering :: Introduction». www.tcd.ie. بایگانی‌شده از اصلی در ۱۷ دسامبر ۲۰۱۸. دریافت‌شده در ۲۰۱۹-۰۲-۰۴.
  3. "Changing Majors @ Clemson". Clemson University. Retrieved September 20, 2011.
  4. "Declaring a College of Engineering Major". University of Arkansas. Archived from the original on 12 October 2014. Retrieved September 20, 2011.
  5. "Degree Requirements". Carnegie Mellon University. Retrieved September 20, 2011.
  6. "Programas de Materias" (به اسپانیایی). Universidad Católica Argentina.
  7. "John Vincent Atanasoff - the father of the computer". www.columbia.edu. Retrieved 2017-12-05.
  8. ۸٫۰ ۸٫۱ "History". engineering.case.edu. Case School of Engineering.
  9. "Computer Hardware Engineers". Bureau of Labor Statistics. January 8, 2014. Retrieved July 20, 2012.
  10. "Feabhas_Infographic_FINAL" (pdf). feabhas. Feabhas.
  11. "Computer Hardware Engineers: Occupational Outlook Handbook". U.S. Bureau of Labor Statistics.
  12. https://www.bls.gov/opub/regional_reports/200908_silicon_valley_high_tech.htm
  13. https://www.designnews.com/design-hardware-software/soon-be-extinct-embedded-software-engineer/39152617858743?ADTRK=UBM&elq_mid=4305&elq_cid=37479
  14. "Software Developers: Occupational Outlook Handbook". U.S. Bureau of Labor Statistics.
  15. "Computer Software Engineer". Bureau of Labor Statistics. March 19, 2010. Archived from the original on July 26, 2013. Retrieved July 20, 2012.
  16. خطای یادکرد: خطای یادکرد:برچسب <ref>‎ غیرمجاز؛ متنی برای یادکردهای با نام softdev وارد نشده است. (صفحهٔ راهنما را مطالعه کنید.).
  17. "Software Developers". Bureau of Labor Statistics. January 8, 2014. Retrieved July 21, 2012.
  18. ۱۸٫۰ ۱۸٫۱ "Computer Programmers: Occupational Outlook Handbook". U.S. Bureau of Labor Statistics.
  19. ۱۹٫۰۰ ۱۹٫۰۱ ۱۹٫۰۲ ۱۹٫۰۳ ۱۹٫۰۴ ۱۹٫۰۵ ۱۹٫۰۶ ۱۹٫۰۷ ۱۹٫۰۸ ۱۹٫۰۹ "Computer Engineering Overview" (PDF). Sloan Career Cornerstone Center. Archived from the original (PDF) on 16 September 2012. Retrieved July 20, 2012.

[۱][۲][۳][۴][۵][۶][۷][۸][۹][۱۰][۱۱][۱۲][۱۳][۱۴][۱۵][۱۶][۱۷][۱۸][۱۹][۲۰][۲۱][۲۲][۲۳]

  1. خطای یادکرد: خطای یادکرد:برچسب <ref>‎ غیرمجاز؛ متنی برای یادکردهای با نام ReferenceA وارد نشده است. (صفحهٔ راهنما را مطالعه کنید.).
  2. خطای یادکرد: خطای یادکرد:برچسب <ref>‎ غیرمجاز؛ متنی برای یادکردهای با نام designnews.com وارد نشده است. (صفحهٔ راهنما را مطالعه کنید.).
  3. «نسخه آرشیو شده». بایگانی‌شده از اصلی در ۷ ژوئیه ۲۰۱۸. دریافت‌شده در ۳۰ ژانویه ۲۰۱۹.
  4. «نسخه آرشیو شده». بایگانی‌شده از اصلی در ۳۰ ژانویه ۲۰۱۹. دریافت‌شده در ۳۰ ژانویه ۲۰۱۹.
  5. «نسخه آرشیو شده». بایگانی‌شده از اصلی در ۱۱ سپتامبر ۲۰۱۸. دریافت‌شده در ۳۰ ژانویه ۲۰۱۹.
  6. Jump up to: a b c d e f g h i j "Computer Engineering Overview" (PDF). Sloan Career Cornerstone Center. Retrieved July 20, 2012.
  7. Jump up to: a b "Computer Programmers: Occupational Outlook Handbook
  8. ^ "Software Developers". Bureau of Labor Statistics. January 8, 2014. Retrieved July 21, 2012.
  9. ^ "Computer Software Engineer". Bureau of Labor Statistics. March 19, 2010. Archived from the original on July 26, 2013. Retrieved July 20, 2012.
  10. Jump up to: a b "Software Developers: Occupational Outlook Handbook". U.S. Bureau of Labor Statistics.
  11. Jump up to: a b "Computer Hardware Engineers: Occupational Outlook Handbook". U.S. Bureau of Labor Statistics.
  12. "Feabhas_Infographic_FINAL" (pdf). feabhas. Feabhas.
  13. Jump up to: a b "Computer Hardware Engineers". Bureau of Labor Statistics. January 8, 2014. Retrieved July 20, 2012.
  14. "Find an ABET-Accredited Program | ABET". main.abet.org. Retrieved 2015-11-29.
  15. "History". engineering.case.edu. Case School of Engineering.
  16. "Iowa State replica of first electronic digital computer going to Computer History Museum - News Service - Iowa State University". www.news.iastate.edu. Retrieved 2017-12-05.
  17. "John Vincent Atanasoff - the father of the computer". www.columbia.edu. Retrieved 2017-12-05.
  18. "Programas de Materias" (in Spanish). Universidad Católica Argentina.
  19. "Degree Requirements". Carnegie Mellon University. Retrieved September 20, 2011.
  20. "Declaring a College of Engineering Major". University of Arkansas. Retrieved September 20, 2011.
  21. "Changing Majors @ Clemson". Clemson University. Retrieved September 20, 2011.
  22. IEEE Computer Society; ACM (December 12, 2004). Computer Engineering 2004: Curriculum Guidelines for Undergraduate Degree Programs in Computer Engineering (PDF). p. iii. Retrieved December 17, 2012. Computer System engineering has traditionally been viewed as a combination of both electronic engineering (EE) and computer science (CS).
  23. Trinity College Dublin. "What is Computer System Engineering". Retrieved April 21, 2006. , "Computer engineers need not only to understand how computer systems themselves work, but also how they integrate into the larger picture. Consider the car. A modern car contains many separate computer systems for controlling such things as the engine timing, the brakes and the air bags. To be able to design and implement such a car, the computer engineer needs a broad theoretical understanding of all these various subsystems & how they interact.