تخصص ها

در این قسمت می توانید تخصص ها را مشاهده نمایید



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


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

واژه کامپیوتر اولین بار از قرن شانزدهم در اسناد و مدارک به کار رفته است و به کسی اطلاق می‌شده که کار محاسبات را انجام می‌داده. استفاده از این واژه با این معنا تا قرن نوزدهم ادامه داشت. تا وقتی که در سال 1822 اولین دستگاه مکانیکی محاسبه‌گر توسط چارلز بابیج طراحی شد. طراح این دستگاه در آن زمان موفق به ساخت دستگاه خود نشد و این دستگاه به تازگی از روی طراحی بابیج، ساخته شده است و در موزه نگهداری می‌شود. این دستگاه با نام موتور محاسبات بابیج هیچ شباهتی با آنچه که ما با نام کامپیوتر می‌شناسیم ندارد.
این دستگاه تحول یافت تا سال 1946 که اولین دستگاه قابل برنامه‌ریزی با نام انیاک ساخته شد. دستگاهی به بزرگی یک اتاق که 5000 عمل جمع و تفریق را در یک ثانیه انجام می‌داد. این سیر تحولات تا سال 1953 ادامه پیدا کرد و منجر به ساخت اولین کامپیوتر تجاری در IBM شد. با این حال تا سال 1972 رشته‌ای به نام سخت افزار در دانشگاه‌ها وجود نداشت. اولین دوره‌ی آموزش سخت افزار در سال 1972 در آمریکا برای مطالعه، تحقیق و آموزش در حوزه سخت‌افزار برگزار شد. در ایران دانشجویان مقطع کارشناسی مهندسی کامپیوتر می‌توانند در دو گرایش سخت‌افزار و نرم‌افزار تحصیل کنند. علاقمندان به گرایش سخت‌افزار برای ادامه‌ی تحصیل در مقطع کارشناسی ارشد، گرایش معماری سیستم‌های کامپیوتری را ادامه می‌دهند.
مهندسی سخت‌افزار علوم ریاضیات، مهندسی الکترونیک و نرم‌افزار را در کنار هم می‌آورد تا به محدوده‌ی وسیعی از فعالیت‌های تولیدی و خدماتی مربوط به سخت‌افزارهای کامپیوتری بپردازد. محدوده‌ای که متخصص این رشته می‌تواند در آن فعالیت کند، با توجه به پیشرفت‌های تکنولوژی امروز حوزه‌های وسیعی از فعالیت‌های اقتصادی و اجتماعی بشر را دربرمی‌گیرد. به طور کلی می‌توان گفت از طراحی بردهای مداری و تهیه‌‌ی مدارهای مجتمع تا طراحی و بهبود و آزمایش و تعمیرات و نگهداری تجهیزات کامپیوتری نظیر دستگاه‌های مربوط به شبکه‌ها تا معماری کامپیوترها و شبکه‌ها و هوش مصنوعی و رباتیک و مهندسی پزشکی تا نرم افزار و بهبود سخت‌افزار کامپیوتری برای پاسخ‌گویی به تغییرات نرم‌افزارها، همه زیرمجموعه‌ی مهندسی سخت‌افزار قرار می‌گیرند.
یکی از حوزه‌های تحقیقات و فعالیت‌ها در این رشته شبکه‌های کامپیوتری و سیستم‌های توزیع شده است که خود دربرگیرنده‌ی بهبود سیستم‌های موبایل و ATM است. مهندسین سخت‌افزار همچنین می‌توانند بر حسب علاقه‌ای که دارند در پروژه‌ها طراحی پردازنده‌ها و پردازنده‌های موازی و همچنین توسعه‌ی الگوریتم‌ها و نظریه‌هایی برای بهبود عملکرد کامپیوترها فعالیت کنند. سنسورها و رباتیک حوزه‌ی وسیع دیگری برای علاقمندان به مطالعه و پژوهش در این گرایش است. حس کردن محیط، شناسایی و دستکاری در محیط، مانند دوربین‌هایی که با اهداف پزشکی و یا اهداف جست‌وجو و نجات (در زمان بروز بحران‌ها و حوادث طبیعی) و یا تجهیزات مربوط به اهداف نظامی مانند پهبادها و تجهیزات کنترل و فرمان از آن جمله به شمار می‌آیند.
اولین طرح کامپیوتری یا اولین الگوریتم دستور کامپیوتری در سال 1822 برای دستگاه محاسباتی مکانیکی چارلز بابیج طراحی شد. این برنامه را ادا لاولیس (کنت اگوستا ادا بایرون، فرزند یک لرد انگلیسی) نوشت. هرچند که این دستگاه و این برنامه در زمان زندگی این دو طراح ساخته نشدند، اما او را اولین ایده‌پرداز پچیزی می‌شناسند که آلن تورینگ بیش از صد سال بعد، سال 1935 آن را نرم‌افزار نامید. در واقع اولین ایده‌ی نرم‌افزار پیش از ساخت یک کامپیوتر ایده‌پردازی شده بود. با این حال نرم‌افزار، با نامی که ما امروز می‌شناسیم، تا سال 1946 وجود نداشتند. اولین دستگاه‌‌های برنامه ریزی شده، با تغییرات سیم‌کشی کار می‌کردند.
نرم افزارهای کامپیوتری بر اساس اهداف و کاربردهایی که دارند به سه دسته تقسیم می‌شوند: نرم‌افزارهای کاربردی، نرم‌افزارهای سیستمی (سیستم‌عامل‌ها و درایورها) و بدافزارها
مهندسی پزشکی به طراحی، تولید و نگهداری لوازم پزشکی، دندانپزشکی، بیماری و آزمایشگاهی می‌پردازد. از وسایلی نظیر الکتروکاردیوگراف و دستگاه‌های رادیولوژی تا دستگاه‌های لیزر، اولتراسونیک و MRI و بسیاری دیگر از تجهیزات پزشکی در این شاخه از مهندسی برق طراحی و ساخته می‌شوند. چنانکه مشخص است این شاخه‌ی مهندسی برق نیز بسیار به گرایش مهندسی الکترونیک نزدیک است و برای طراحی و تولید این تجهیزات مهندسان الکترونیک در کنار متخصصان مهندسی پزشکی و مکاترونیک فعالیت می‌کنند.
مهندسی نرم‌افزار عبارت است از طراحی دستورالعمل‌ها و دستورات نظام‌مند برای راه‌اندازی کلی و استفاده از قابلیت‌های یک سیستم کامپیوتری. مهندس نرم‌افزار شیوه‌های پذیرفته‌شده‌ی این رشته را برای انجام این طراحی به کار می‌بندد. پس مهندسی نرم‌افزار، بر خلاف تصور رایج تنها برنامه‌نویسی نیست. یک مهندس نرم‌افزار باید تفکر کند که نرم‌افزاری که قرار است طراحی کند در چه دستگاهی مورد استفاده قرار می‌گیرد؟ این نرم‌افزار چگونه می‌تواند قابلیت‌های مختلف این سخت‌افزار را به کار بیندازد؟ و چه مواردی برای بهبود عملکرد این دستگاه و قابلیت اطمینان این نرم‌افزار باید در نظر گرفته شوند؟ سپس گزینه‌های برنامه‌نویسی موجود را بررسی می‌کند و بهترین گزینه را با توجه به کارایی نرم‌افزاری که می‌خواهد طراحی کند، انتخاب می‌کند.
مهندسی نرم‌افزار جدیدترین رشته‌ی مهندسی است که وارد دانشگاه‌های جهان شده است. طبق بیانیه‌ی سازمان مهندسی برق و الکترونیک، مهندسی نرم‌افزار با هدف به کارگیری علم مهندسی در علم برنامه‌نویسی طراحی شده است.
محصولی که مهندسی نرم‌افزار طراحی می‌کند یک محصول قابل لمس نیست. بلکه کدهایی است که در دستگاه دیگری قرار می‌گیرند تا آن دستگاه بتواند فعالیت کند. هر چند که این محصول یک محصول قابل لمس نیست، اما اگر به درستی طراحی نشود می‌تواند خسارت‌های قابل لمسی را برای دستگاه‌ها و افرادی که از این دستگاه‌ها استفاده می‌کنند سبب شود.
با گسترش اینترنت و نرم‌افزارها وابستگی ما به این نرم‌افزار و فضای مجازی رشد فزاینده‌ای پیدا کرده است. ما هر روزه بسیاری از فعالیت‌های خود را با اعتماد به نرم‌افزارها انجام می‌دهیم. مهم‌ترین این فعالیت‌ها فعالیت‌های مالی و اقتصادی و فعالیت‌های مربوط به فضای خصوصی ما هستند. جز این، بسیاری از زیرساخت‌های حساس کشورها به شدت وابسته به نرم‌افزارها هستند.
تصور کنید به نرم‌افزارهای تاسیسات تولید برق یک کشور حمله شود و خساراتی به دستگاه‌ها وارد کند که برای آنها نیاز به یک هفته زمان باشد. تصور کنید برای سیستم حمل و نقل آن کشور چه اتفاقی خواهد افتاد وقتی که هیچ پمپ بنزینی برق نداشته باشد؟ یا برق سردخانه‌هایی که مواد غذایی مورد نیاز کشور را ذخیره می‌کنند برای چند روز قطع شود؟ یا معاملات تجاری و بورس برای چند روز مختل شوند؟
مهندسی نرم‌افزار علاوه بر طراحی برنامه‌هایی برای راه‌اندازی دستگاه‌ها و استفاده از قابلیت‌های مختلف آنها باید امنیت دستگاه‌ها را نیز دربرابر حملات یا حوادث احتمالی حفظ کند.
در ایران دانشجوی مهندسی نرم‌افزار در مقطع کارشناسی ارشد باید پیش‌زمینه‌ی علمی کافی در دروس ریاضیات مهندسی و آمار و احتمال و محاسبات عددی، ساختمان‌های گسسته، ساختمان داده، نظریه زبان‌ها و ماشین‌ها، سیستم عامل، طراحی الگوریتم، پایگاه داده وبرنامه‌نویسی داشته باشد. در مقطع کارشناسی ارشد، پس از گذراندن واحدهای درسی مورد نیاز، دانشجو باید پایان نامه کامپیوتر در گرایش مهندسی نرم‌افزار تنظیم نماید.

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

پایان نامه کامپیوتر در رشته مهندسی نرم‌افزار می‌تواند در زمینه‌ی پایگاه‌های داده، سیستم‌های هوشمند و شبکه‌های عصبی، الگوریتم‌های ژنتیکی، تجارت الکترونیک، امنیت شبکه‌های مخابراتی و اطلاعاتی، حریم خصوصی و فضای مجازی، پردازش‌گرها و پردازش موازی و زمینه‌های بسیار گسترده‌ی دیگری در تئوری نرم‌افزار و مهندسی نرم‌افزار را پوشش دهد.
برای تنظیم پایان نامه مهندسی کامپیوتر پیش‌زمینه‌های مطالعاتی مناسب درس‌های ریاضیات گسسته، ریاضیات پیشرفته در مهندسی کامپیوتر مورد نیاز است و دانشجویان به مطالعه، تحقیق و توسعه در زمینه‌ی معماری کامپیوتر پیشرفته، معماری شبکه، معماری کامپیوترهای توزیع شده و سیستم‌های ابر، طراحی مدارهای مجتمع پیشرفته، معماری پردازنده‌های موازی، آسنکرون، و آرایه‌ای، معماری شبکه‌های عصبی و ... می‌پردازند. در دوره کارشناسی ارشد، پس از گذراندن تعداد واحدهای مورد نیاز، دانشجویان می‌توانند به تنظیم پایان نامه کامپیوتر خود در گرایش سخت‌افزار بپردازند. پایان نامه کامپیوتر در رشته مهندسی سخت‌افزار مجموعه‌ای از مطالعات تخصصی پردازش تصویر و صدا، پردازش سیگنال، مدارهای سوییچ و مدارهای کنترل و مدارهای مخابراتی و نظامی، سیستم‌های تایید هویت، سیستم‌های رمزنگاری و رمزگشایی را دربرمی‌گیرد.