معرفی کامل رشته علوم کامپیوتر
مقدمه
علوم كامپیوتر یکی از کلاسیک ترین رشته ها در گروه رشته های کامپیوتر است که بر مبانی و اصول کامپیوتر تاکید بسیار دارد. علوم كامپیوتر پل ارتباطی دانش كامپیوتر و ریاضی است و مهمترین هدف آن دستیابی به بهترین الگوریتمهای موجود (روشهای حل مسأله) در كمترین زمان و با كمترین خطا و بیشترین دقت است.
به عبارت دیگر هدف این رشته تربیت گروهی متخصص كامپیوتر است كه با دید ریاضیتر و منطقیتر به حل مسائل مطرح شده در علوم كامپیوتر یا ریاضی بپردازند.
پیشرفت سریع علم کامپیوتر و گسترش روزافزون کاربرد آن در تحقیقات علمی، صنایع، اقتصاد پزشکی و…، ضرورت دستیابی و بهره برداری هرچه بیشتر از این علم را آشکار میسازد؛ بنابراین لازم است که دوره های آموزشی متناسب با افزایش نیاز و کاربرد جامعه، تأسیس شود تا کشور به خودکفایی علمی و تکنولوژیکی در زمینهی علوم کامپیوتر دست یابد. دوره ی کارشناسی رشته ی علوم کامپیوتر یکی از دوره های آموزشی در نظام آموزشی عالی است که برای رسیدن به چنین هدفی، ارائه می شود.
اهداف دیگر این رشته عبارت اند از:
۱- کسب آگاهی جامع از نظریه های علمی موجود در علوم کامپیوتر به نحوی که دانشجویان، مفاهیم این علم را درک و نظرات عمیق آن را بالقوه کسب کنند؛
۲- آماده سازی دانشجویان و فارغ التحصیلان برای به کارگیری دانش کامپیوتر در حل مسائل بنیادی علوم کامپیوتر؛
۳- ایجاد پایه های علمی و تخصصی لازم در تعریف دقیق مسائل و پیگیری، حل و اجرا در مراحل طراحی، پیاده سازی و اثبات منطقی صحت آنها جهت کاربردهای کامپیوتر
۴- انطباق با روند تحولات علمی، تکنولوژیکی و اجتماعی در رابطه با کامپیوتر.
علوم کامپیوتر پل ارتباطی دانش کامپیوتر و علم ریاضی است و مهمترین هدف آن، دستیابی به بهترین الگوریتم های موجود (روش های حل مسئله) در کمترین زمان و با کمترین خطا و بیشترین دقت است. از همین جا می توان به تفاوت این رشته با رشته ی مهندسی کامپیوتر نیز پی برد. به طور کلی، در بیشتر دانشگاه های مهم دنیا، فارغ التحصیلان علوم کامپیوتر در دو مکان تربیت می شوند؛ یکی در دانشکده ی فنی (برق و کامپیوتر) است که بیشتر جنبه های سخت افزاری و الکترونیکی و همچنین طراحی و ساخت و نگهداری را شامل می شود؛ دیگری در دانشکده های ریاضی و تحت عنوان علوم کامپیوتر که در آنجا سعی می شود افرادی که توان طراحی و تجزیه و تحلیل سیستم ها، برنامه ریزی، طراحی شبکه ها، تحلیل داده ها، تولید – نرم افزارها، بانک های اطلاعاتی، انجام محاسبات علمی، طراحی الگوریتم ها، برنامه نویسی، سیستم های هوشمند، امور انفورماتیکی و … را دارند، تربیت شوند. امر دوم آشکارا نیازمند داشتن فکر قوی و دانش ریاضی است. رشته ی علوم کامپیوتر برخلاف مهندسی کامپیوتر، فاقد درسی های آزمایشگاهی و کارگاهی است و بیشتر جنبه ی تحقیقات نظری دارد.
این رشته دارای چهار حیطه ی محاسبات علمی، نظریه ی الگوریتم ها، سخت افزار و سیستم های اطلاعاتی است. محاسبات علمی در زمینه ی برنامه ریزی خطی، غیر خطی، آنالیز عددی و نرم افزار در ریاضی است؛ یعنی در این گرایش کاربرد ریاضیات در کامپیوتر مطالعه می شود.
نظریه ی الگوریتم ها به بررسی راه های مختلف حل مسئله به یاری روش های بهینه تر، سریع تر و بهتر می پردازد. به عبارت دیگر، هدف این گرایش پیاده سازی و بهینه کردن الگوریتم است. معماری یا ساختار کامپیوتر نیز در حیطه ای سخت افزار مطالعه می شوند و سیستم های اطلاعاتی هم به مدیریت پروژه های نرم افزاری و سیستم های اطلاعاتی میپردازند.
فرصت های شغلی
شرط اول موفقیت در رشته ی علوم کامپیوتر، تسلط و علاقه به ریاضیات است و دانشجوی این رشته باید بتواند با استدلال ریاضیاتی با مسائل برخورد کند. باید اطلاعات عمومی خوبی داشته باشد و حتی پس از فارغ التحصیلی به مطالعه و تحقیق پشت نکند؛ زیرا در طی تحصیل تنها اطلاعات پایه ای و کلی را فرامی گیرد و برای حضور در بازار کار باید خود تلاش کند و اهل مطالعه و تحقیق باشد. فرصت های شغلی فارغ التحصیل علوم کامپیوتر در مقطع کارشناسی، شباهت بسیاری با فارغ التحصیل مهندسی کامپیوتر گرایش نرم افزار دارد؛ اما در مقاطع بالاتر، فارغ التحصیلان این رشته بیشتر به حل مسائل تئوریک مطرح شده در علم کامپیوتر می پردازند. همچنین در یک قانون کار استاندارد، به ازای هر چهار نفر مهندس نرمافزار کامپیوتر به یک کارشناس علوم کامپیوتر نیاز است تا مدیریت گروه را بر عهده بگیرد. در ضمن انتخاب راه حل مسائل و حل آنها، همچنین تقسیم الگوریتم ها در بین چهار نفر مهندسی نرم افزار و در انتها جمع کردن قسمت های توزیع شده، بر عهده ی کارشناسی علوم کامپیوتر است. نقش دانش آموخته ی علوم کامپیوتر به عنوان مدیر و هماهنگ کننده بسیار مهم و قابل توجه است و به همین دلیل، دانشجویان این رشته درسی هایی در زمینه ی اصول مدیریت، مبانی اقتصاد و ریاضیات مطالعه می کنند. فارغ التحصیلان رشته ی علوم کامپیوتر نقش بسیار مهمی در توسعه ی کشور خواهند داشت؛ زیرا با در نظر گرفتن پتانسیلی که در آنها با توجه به مواد درسی و موضوعات مربوط ایجاد می شود، میتوانند در بسیاری از مراکز بزرگ صنعتی و مراکز تحقیقاتی و سازمان ها و شرکت ها و وزارت خانه ها وظایف مهمی را بر عهده گیرند و با شرکت در پروژه های مهم، نقش باارزشی را به ویژه در بعد نرم افزاری، محاسباتی، انفورماتیکی، اطلاعاتی و ارتباطاتی و برنامه ریزی داشته باشند. فارغ التحصیلان این رشته نه تنها در کشور اشتغال ایجاد میکنند، بلکه می توانند از طریق تولید و فروش نرم افزارهای علمی، آموزشی، تحقیقاتی و محاسباتی، ارزآوری کلانی برای کشور داشته باشند؛ همانگونه که بعضی از کشورهای پیشرفته هم اکنون سالیانه چند میلیارد دلار از این طریق درآمد ارزی دارند.
تفاوت با مهندسی کامپیوتر
بسیاری از اشخاص مهندسی نرم افزار را با علم کامپیوتر یکی می دانند. این دید بسیار محدود کننده و غلط است. در واقع مهندسی نرم افزار را می توان مستقل از علم کامپیوتر دانست. هر چند پیش نیاز کاری مهندسین نرم افزار آشنایی با علوم کامپیوتری است اما اساسا، علم کامپیوتر با تئوریها و روش هایی سر و کار دارد که به کامپیوترها و سیستم های نرم افزاری مربوط می شود، در حالی که مهندسی نرم افزار با مسائل عملی تعیین مشخصات، تحلیل، پیاده سازی و تولید نرم افزار سر و کار دارد. البته بدیهی است که مهندسی نرم افزار و علم کامپیوتر رابطه تنگاتنگی با هم دارند و پیشرفت در علم کامپیوتر نیاز به پیشرفت علم نرم افزار را می طلبد. داشتن برخی از علوم کامپیوتر برای مهندسین نرم افزار ضروری است(همان طور که دانش فیزیک برای مهندسین الکترونیک ضرروی است).
در حالت ایده آل، کل مهندسی نرم افزار از تئوری های علم کامپیوتر ساخته می شود، اما واقعیت چیز دیگری است. مهندسین نرم افزار اغلب باید از رهیافت های ذهنی برای توسعه نرم افزار استفاده کنند و احتمالا ایده ای که تا به حال شکل نگرفته را عملی کنند. تئوری های علم کامپیوتر را همیشه نمی توان به مسائل واقعی پیچیده ای اعمال کرد که نیازمند راه حل های نرم افزاری اند.
در واقع مهندسین نرم افزار باید مسائل پیچیده واقعی را با تفکر نرم افزاری مبتنی بر علم کامپیوتر حل کنند. این گونه مسائل واقعی کاملا با تئوری های علم کامپیوتر در تناقض است و در این میان وظیفه مهندسین نرم افزار تحلیل و رفع تناقضات مسئله با علوم کامپیوتری و ایجاد سیستم نرم افزاری مبتنی بر علم کامپیوتر می باشد.
به طور مثال ساخت یک نرم افزار اتوماسیون اداری که قرار است تمامی سیستم های یک سازمان بزرگ از جمله سیستم حسابداری، تولید ، فروش ، انبارداری وغیره را پیاده سازی نماید، نیاز به داشتن دانش مهندسی نرم افزار دارد. چنین سیستمی را نمی توان با تئوری و منطق کامپیوتری پیاده سازی نمود چون این گونه سیستم ها نیاز به تحلیل های تشریحی دارند که با علوم کامپیوتر که فقط قادر با حل مسائل منطقی است کاملا در تضاد می باشد.
کاربرد و زیر شاخه ها
کاربردها در علم رایانه
۱- یک تعریف رسمی برای محاسبات و محاسبه پذیری و اثبات مسائلی که غیرقابل حل و سخت است.
۲- مفهوم زبان برنامه نویسی ابزاری برای بیان دقیق اطلاعات تحلیل پذیر در سطوح مختلف انتزاع است.
کاربردها خارج از علم رایانه
۱- موجب بوجود آمدن انقلاب دیجیتال شد که به عصر اطلاعات فعلی منجر شد.
۲-در رمزنگاری شکسته شدن کد انیگما کمکی اساسی برای پیروزی متفقین در جنگ جهانی دوم شده است.
۳- محاسبات علمی مطالعه پیشرفت ذهن و بررسی ژنوم انسانی در پروژه ژنوم انسانی را ممکن ساخت.
زیر شاخه ها
این رشته دارای چهار حیطه محاسبات علمی، نظریه الگوریتمها، سختافزار، سیستمهای اطلاعاتیاست.محاسبات علمی در زمینه برنامهریزی خطی ، غیرخطی ، آنالیز عددی و نرمافزار در ریاضی است ؛ یعنی در این گرایش كاربرد ریاضیات در كامپیوتر مطالعه میشود.
نظریه الگوریتمها به بررسی راههای مختلف حل مسئله به یاری روشهای بهینهتر ، سریعتر و بهتر میپردازد . به عبارت دیگر هدف این گرایش پیادهسازی و بهینه كردن الگوریتم است.
معماری یا ساختار كامپیوتر نیز در حیطه سختافزار مطالعه میشوند و سیستمهای اطلاعاتی هم به مدیریت پروژههای نرمافزاری و سیستمهای اطلاعاتی پرداخته است .
نظریه الگوریتمها به بررسی راههای مختلف حل مسئله به یاری روشهای بهینهتر ، سریعتر و بهتر میپردازد . به عبارت دیگر هدف این گرایش پیادهسازی و بهینه كردن الگوریتم است.
معماری یا ساختار كامپیوتر نیز در حیطه سختافزار مطالعه میشوند و سیستمهای اطلاعاتی هم به مدیریت پروژههای نرمافزاری و سیستمهای اطلاعاتی پرداخته است .
تسلط و علاقه به ریاضیات شرط اول موفقیت در رشته علوم كامپیوتر است و دانشجوی این رشته باید بتواند با استدلال ریاضی با مسائل برخورد نماید . در ضمن باید اطلاعات عمومی خوبی داشته و حتی پس از فارغالتحصیلی به مطالعه و تحقیق پشت نكند چون در طی تحصیل تنها اطلاعات پایهای و كلی را فرا میگیرد و برای حضور در بازار كار باید خود تلاش كند و اهل مطالعه و تحقیق باشد.
موقعیتهای شغلی فارغالتحصیل علوم كامپیوتر شباهت بسیاری با مهندسی كامپیوتر گرایش نرمافزار دارد اما در كل نقش فارغالتحصیل این رشته به عنوان مدیر و هماهنگ كننده بسیار مهم و قابل توجه است. فردی كه مسئول انتخاب راهحل مسائل و حل آنها همچنین تقسیم الگوریتمها در بین مهندسین نرمافزار و در انتها جمع كردن قسمتهای توزیع شده میباشد.
سر فصل دروس علوم کامپیوتر و تعداد واحدها :
تعداد کل واحدها : حداقل 132 واحد
دروس عمومی : 20 واحد
دروس مشترک (در مجموعه علوم ریاضی) : 24 واحد
دروس هسته (الزامي مشترک، الزامي و انتخابي) : 60 تا 62 واحد (2 واحد در اختيار دانشجو)
دروس اختياري : 30 واحد (2+ يا 2- واحد در اختيار دانشجو)
درسهاي اين رشته در طول تحصيل :
دروس اصلي و تخصصي مشترك در گرايشهاي مختلف علوم كامپيوتر:
رياضي عمومي، فيزيك پايه، آمار و احتمال، اصول كامپيوتر، اصول سيستمهاي كامپيوتري، جبر خطي عددي، رياضيات گسسته، آناليز عددي، ساختمان دادهها و الگوريتمها، نظريه اتوماتا و زبانها، كامپايلر، نظريه محاسبات، اصول طراحي نرمافزار، منطق، ذخيره و بازيابي اطلاعات، پايگاه دادهها، اصول سيستمهاي عامل، شبيهسازي كامپيوتري، زبانهاي برنامهسازي، اصول مديريت، مباني اقتصاد.
دروس تخصصي گرايش محاسبات علمي :
برنامهريزي خطي، برنامهريزي غيرخطي، نرمافزار رياضي، آناليز عددي، طراحي هندسي كامپيوتري.
دروس تخصصي گرايش نظريه الگوريتمها :
برنامهريزي پويا، نظريه گراف، بهينهسازي تركيبي و آناليز شبكهها، نظريه كدگذاري، سيستمهاي صفي و مدلهاي كارآيي.
دروس تخصصي گرايش سختافزار :
مدارهاي منطقي، معماري كامپيوتر، ريزپردازنده
دروس تخصصي گرايش سيستمهاي اطلاعاتي :
تحليل و طراحي سيستمهاي اطلاعاتي، متدولوژي ساخت سيستمهاي اطلاعاتي، مديريت پروژههاي نرمافزاري، سيستمهاي اطلاعاتي مديريت.
دیدگاهتان را بنویسید