علـــــوم کامپیــــوتر
علوم کامپیوتر یکی از رشته های گروه ریاضی و فیزیک است که در دسته ی رشته های علوم پایه قرار می گیرد.
در واقع علوم کامپیوتر راه ارتباطی میان کامپیوتر و ریاضیات است و اساسا با رشته ی مهندسی کامپیوتر تفاوت های اساسی دارد.
در واقع این رشته قصد دارد افراد متخصصی که دید ریاضی و منطقی به حل مسائل دارد تربیت کند.
مهمترین هدف این رشته، دستیابی به بهترین روش برای حل یک مسئله، در کمترین زمان و با بالاترین دقت است.
فارغ التحصیلان این رشته افرادی با دید ریاضی نسبت به مسائل منطقی در حوزههای مختلف مرتبط و غیر مرتبط با کامپیوتر است.
نگرش فارغ التحصیلان این رشته به صورت پایهای نسبت به موضوعات است و به عنوان مثال در آن، علاوه بر اموختن زبانهای برنامهنویسی، نحوه ساخت آنها (زبانهای برنامهنویسی) هم مورد بررسی قرار میگیرد.
اساس رشته علوم کامپیوتر بر علم ریاضیات است، بنابراین برای موفقیت در این رشته، تسلط بر مفاهیم ریاضی ضروری است.
ویژگی های عمومی برای موفقیت در رشته علوم کامپیوتر:
ذات کنجکاو و پرسشگر.
خلاقیت، به ویژه در حس مسائل.
علاقه به حل مسائل و معماها.
شیوه تفکر منطقی و گام به گام.
از زوایای نامتعارف به مسائل نگاه کردن.
به دنبال یادگیری مسائل جدید به صورت روزمره بودن.
تحمل دورههای طولانی عدم موفقیت.
گرایش های علوم کامپیوتر
در مقطع کارشناسی علوم کامپیوتر، 4 گرایش محاسبات علمی، نظریه الگوریتمها، سختافزار و سیستمهای اطلاعاتی وجود دارد.
گرایش محاسبات علمی:
کاربرد ریاضیات در کامپیوتر مطالعه میشود و زمینههای برنامهریزی خطی، غیرخطی، آنالیز عددی و نرمافزار در ریاضی مورد بحث قرار میگیرند.
گرایش نظریه الگوریتمها:
به بررسی راههای مختلف حل مسئله میپردازد تا با بکارگیری روشهای سریعتر و بهتر، الگوریتمهای بهینهای پیادهسازی شوند.
گرایش سختافزار:
این گرایش مربوط به معماری و ساختار کامپیوتر است و گرایش سیستمهای اطلاعاتی به مدیریت پروژههای نرمافزاری و سیستمهای اطلاعاتی میپردازد.
علاوه بر 4 گرایش اصلی، رشتههای هوش مصنوعی، بیوانفورماتیک، گرافیک کامپیوتری، توسعه بازی، شبکهسازی، رباتیک و ایمنی هم جزء گرایشهای علوم کامپیوتر محسوب میشوند.
دروس اصلی دانشگاهی رشته علوم کامپیوتر:
دروس مهم این رشته در فهرست زیر آورده شدهاند:
مبانی کامپیوتر و برنامهنویسی
آنالیز عددی
برنامهسازی پیشرفته
منطق ریاضی
نظریه محاسبات
ساختمان دادهها و الگوریتمها
کامپایلر
مدارهای منطقی
طراحی زبانهای برنامهنویسی
شبیهسازی سیستمهای گسسته
نظریه زبانها و ماشینها
درس هوش مصنوعی
این دروس که جزء دروس مشترک برای تمامی گرایشها هستند، شالوده علوم کامپیوتر در ایران را تشکیل میدهند. هر چند در گرایشهای مختلف، تمرکز روی مباحث متفاوت است.
در گرایش نظریه الگوریتمها، تمرکز روی نظریهها برای ارائه راهکار جدید و متفاوت حل مسئله است، تا ضمن افزایش سرعت الگوریتم بتوان به دقت محاسبه و پاسخ آن هم اعتماد کرد.
در این گرایش، دروس زیر اهمیت بیشتری دارند:
نظریه گراف
نظریه محاسبات
نظریه زبانها و اتوماتا
نظریه کدگذاری
بهینهسازی
تمرکز گرایش سختافزار نیز بر روی دروس زیر قرار گرفته است:
طراحی مدار و ریزپردازنده
آشنایی با معماری کامپیوتر
نهایتا در گرایش سیستمهای اطلاعاتی، دروس زیر از جمله دروس مهم این رشته به شمار میآیند:
طراحی سیستمهای اطلاعاتی (با انواع متدولوژی از جمله RUP)
تحلیل سیستمهای اطلاعاتی
مدیریت و طراحی سیستمهای شئ گرا
مدیریت پروژه
بازار کار رشته علوم کامپیوتر :
با توجه به پیشرفت روز افزون تکنولوژی، برای دانش آموخته رشته علوم کامپیوتر فرصتهای شغلی متعدد و متنوعی وجود دارد:
توسعهدهنده نرمافزار:
توسعهدهندگان نرمافزار، برنامههای نرم افزاری برای انواع پلتفرمها تولید میکنند.
یک توسعهدهنده مسئول تمام فرایندهای توسعه، تست و نگهداری محصول نرمافزاری است.
توسعهدهنده نرمافزار باید با خلاقیت خود بتواند نیاز کاربران را شناسایی کرده، سپس برای برطرف کردن آن برنامهریزی کند و در نهایت با به کارگیری دانش فنیاش در زمینه کدنویسی، اقدام به تولید نرمافزار در همین راستا کند.
مدیر پایگاه داده:
مدیران پایگاه داده نیازهای کاربران را تجزیه و تحلیل و ارزیابی میکنند؛
منابع را برای ذخیره و بازیابی اطلاعات توسعه و بهبود میبخشند.
برنامهریزی برای تغییر سیستمها و راهکارهای موجود نیز از جمله دیگر وظایف آنها است.
تحلیلگر سیستمهای کامپیوتری:
تحلیلگران سیستمهای کامپیوتری، سیستمهای سازمان را ارزیابی و تغییرات لازم در سختافزار و نرمافزار، جهت بهینه شدن و افزایش کارایی آنها را اعلام میکنند.
این شغل مستلزم برقراری ارتباط منظم با مدیران و کارکنان است، به همین دلیل نیاز به مهارتهای ارتباطی قوی نیاز دارد.
تحلیلگران سیستم باید در مورد تکنولوژی و سیستمهای به روز و پیشرفته به صورت مداوم در حال تحقیق و یادگیری باشند.
مدیر پروژههای نرمافزاری:
مدیر پروژه، فعالیتهای تیم برنامهنویسی و تحلیلگران را برای تکمیل پروژه، مدیریت و هماهنگ میکند.
در مورد مسائل فنی برای سازمان و مشتری، نقش مشاور را ایفا میکند و راه حلها و نکاتی که باعث بالا رفتن بهرهوری میشوند را در قالب پیشنهاد مطرح میکند.