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