سابقه تدریس مبانی علمی و مهندسی کامپیوتر در دانشگاههای ایران به ارائه رشته انفورماتیک در دانشکده ریاضی بعضی از دانشگاهها در سالهای دور برمیگردد. در سال 1377، پس از تصویب سرفصلها و دروس رشتههای مهندسی کامپیوتر با دو گرایش نرمافزار و سختافزار توسط شورای عالی برنامهریزی وزارت علوم، دانشکدههای فنی و مهندسی ایران یکی پس از دیگری رشته کامپیوتر را در مقطع لیسانس ارائه کردند. طی دهه 80 خورشیدی، بهتدریج و همگام با تحولات صنعت آیتی در ایران و جهان، بعضی دانشگاههای داخلی به ارائه اختصاصی رشتههای جدیدی مانند فناوری اطلاعات اقدام کردند تا اینکه سرانجام در سال 1392 شورای عالی برنامهریزی تقسیمبندی جدیدی معرفی کرد که تا به امروز نیز مرجع تدوین رشته کامپیوتر در دانشگاههای ایرانی است. (1) طبق این تقسیمبندی، دانشگاههای مورد تأیید وزارت علوم میتوانند چهار رشته را در مقطع کارشناسی به دانشجویان علاقهمند ارائه کنند. از این میان، رشته «علوم کامپیوتر» عمدتاً توسط دانشکدههای علوم و ریاضی ارائه میشود و رشتههای «مهندسی کامپیوتر» و «مهندسی فناوری اطلاعات» توسط دانشکدههای فنی و مهندسی تدریس میشوند. البته این مصوبه یک گرایش تخصصی دیگر به نام «رایانش امن» نیز معرفی کرده است که برخی از دانشگاهها مجاز به ارائه آن هستند.
علاوه بر شاخههای اصلی فوق، دانشجویان میتوانند بهصورت اختیاری دروسی را با تمرکز روی مباحث روز همچون شبکههای کامپیوتری، هوش مصنوعی، امنیت رایانه، بازیهای کامپیوتری و چند عنوان دیگر بگذرانند اما این تمرکزهای تخصصی لزوماً در عنوان مدارک تحصیلی دوره لیسانس قید نمیشود. در ادامه به معرفی اجمالی سه رشته اصلی متداول در ایران میپردازیم و بحث مفصلتر در این زمینه را به شمارههای آتی ماهنامه شبکه واگذار میکنیم. (2)
این رشته در دانشکده علوم یا ریاضی دانشگاههای ایران ارائه میشود و معمولاً ظرفیت پذیرش آن حدود نصف ظرفیت رشته مهندسی کامپیوتر در همان دانشگاه است. (3) اما نگاهی به دروس الزامی و تخصصی این رشته در مصوبه وزارت علوم نشان میدهد که سرفصلها و حتی عناوین تقریباً 70 درصد دروس آن با رشته مهندسی کامپیوتر مشابه است. تفاوت اصلی میان این دو رشته در دروس ریاضی است. در «مهندسی کامپیوتر» دروس ریاضی کمتری ارائه میشود و درعوض چند درس با گرایش سختافزاری در برنامه تحصیلی دانشجویان گنجانده شده است. به عنوان مثال، در «علوم کامپیوتر» دو درس «آمار و احتمال 1 و 2» ارائه میشوند، در حالی که «مهندسی کامپیوتر» فقط یک درس «آمار و احتمال» دارد. در هر دو رشته، درسی با عنوان «ساختمان دادهها و الگوریتمها» یا مشابه آن ارائه میشود. همچنین، دو درس «اصول سیستمهای کامپیوتری 1 و 2» در این رشته، با وجود تفاوت اسمی، بهلحاظ محتوا معادل دو درس «مدارهای منطقی» و «معماری کامپیوتری» در «مهندسی کامپیوتر» هستند. علاوه بر دروس عمومی (مشترک در تمام رشتههای دانشگاهی ایران) و پایه (مشابه در اغلب رشتههای علمی و فنی ایران)، این رشته 27 درس اصلی، 8 درس تخصصی و 13 درس اختیاری دارد. این رشته تقریباً معادل رشته «دانش کامپیوتر» یا Computer Science در استاندارد جهانی است. «علوم کامپیوتر» چنانکه از نامش پیدا است، نگاهی علمی به مبحث کامپیوتر دارد و برای کسانی که میخواهند در مباحث پیشرفته این رشته مانند «هوش مصنوعی» یا «دادهکاوی» مطالعه کنند مناسب است. اغلب دانشگاههای برجسته دنیا این رشته و «مهندسی کامپیوتر» را در کنار هم و توسط یک دپارتمان یا دانشکده واحد ارائه میکنند و اصولاً رشته اصلی و مادر در دنیای کامپیوتر همین رشته است. در ایران اما بنا به دلایلی ناروشن چنین نیست و «علوم کامپیوتر» از «مهندسی کامپیوتر» جدا افتاده و این تصور اشتباه را در ذهن داوطلبان ایرانی پدید آورده است که رشته «علوم کامپیوتر» یک انتخاب درجه دو است، در حالی که با معیارهای جهانی کاملاً برعکس است. شاید علاقه ایرانیان به کلمه مهندس و بار اجتماعی آن در چنین وضعیتی بیتأثیر نبوده است.نکته بسیار مهم برای آن دسته از داوطلبان ورود به دانشگاه که قصد دارند پس از فراغت از تحصیل در حوزه نرمافزار مشغول به کار شوند این است که دو رشته «علوم کامپیوتر» و «مهندسی کامپیوتر» از نظر دروس تخصصی مرتبط با مهندسی نرمافزار بسیار شبیه هستند، مگر اینکه دانشجو قصد داشته باشد دروس تمرکز تخصصی «سیستمهای نرمافزاری» در رشته «مهندسی کامپیوتر» را نیز بگذراند (4 درس) و این دروس توسط دانشگاه محل تحصیل او ارائه شوند. بنابراین، اگر به نرمافزار علاقه دارید و حاضرید بهجای چند درس سختافزاری چند درس ریاضی بگذرانید، رشته «علوم کامپیوتر» همچنان انتخاب مناسبی است.
رشته «مهندسی کامپیوتر»
این رشته منحصراً در دانشکدههای فنی و مهندسی ایران ارائه میشود و چهار گرایش تخصصی با نامهای «نرمافزار»، «معماری سیستمهای کامپیوتری»، «رایانش امن» و «فناوری اطلاعات» دارد. گرایش «معماری سیستمهای کامپیوتری» در واقع همان گرایش «سختافزار» است. تفاوت دو گرایش اصلی نرمافزار و سختافزار با یکدیگر زیاد نیست. گرایش «نرمافزار» 5 درس تخصصی اضافی دارد و گرایش «معماری سیستمهای کامپیوتری» 7 درس تخصصی اضافی دارد. اما دو گرایش «رایانش امن» و «فناوری اطلاعات» هرکدام 9 درس تخصصی اضافی دارند. تمام این چهار گرایش در 23 درس اصلی «مهندسی کامپیوتر» مشترک هستند.
دانشجویان همچنین میتوانند درسهای تخصصی و اختیاری با تمرکز روی یکی از هشت محور «سیستمهای مجتمع»، «شبکههای کامپیوتری»، «هوش مصنوعی»، «سیستمهای نرمافزاری»، «الگوریتم و محاسبات»، «بازیهای کامپیوتری»، «سیستمهای اطلاعاتی» و «امنیت رایانه» بگذرانند. هریک از این زمینهها بین 4 تا 6 درس اختصاصی دارند. برخلاف گرایشهای اصلی، ارائه این تمرکزهای تخصصی توسط دانشگاهها اجباری نیست و لازم است داوطلبان قبل از انتخاب رشته با مراجعه به وبسایت دانشگاه از ارائه تمرکز مورد نظرشان اطمینان حاصل کنند. این رشته تقریباً معادل رشتهای با همین نام در استاندارد جهانی است، با این تفاوت که در استاندارد جهانی دروس گرایشهای نرمافزاری و سختافزاری (که در مصوبه وزارت علوم آمده) در کنار هم ارائه میشوند و با این وجود، فارغالتحصیل همچنان بهعنوان یک کارشناس سختافزار شناخته میشود. علت این است که اولاً در پیشنهاد ارائه شده از سوی کمیته مشترک انجمنهای بینالمللی ACM و IEEE-CS برای تدوین رشتههای کامپیوتر در دنیا رشته «مهندسی کامپیوتر» رشتهای با بار تخصصی سنگینتر در زمینه سختافزار شناخته میشود. ثانیاً از یک مهندس کامپیوتر با گرایش سختافزار انتظار میرود در زمینه نرمافزار و برنامهنویسی نیز قوی باشد تا بتواند در فرآیند طراحی و تولید دستگاههای کامپیوتری (4) و یا درایور قطعات داخل یک پیسی یا لپتاپ (5) مشارکت کند.
این رشته یک زمینه جدید در دانشگاههای ایران است و تنها چند سال است که ارائه میشود. برای کسانی که به گرایش نرمافزاری رشته کامپیوتر علاقه دارند، این رشته نیز مانند «علوم کامپیوتر» انتخاب مناسبی است. در اینجا آن دسته از دروس تخصصی و اصلی که در «مهندسی کامپیوتر» گرایش سختافزاری دارند با دروسی در زمینه شبکه، اینترنت و فناوری اطلاعات جایگزین شدهاند. از این نظر، برای آن دسته از داوطلبان تحصیل در رشته کامپیوتر که نه به دروس سختافزاری علاقه دارند و نه دروس ریاضی «علوم کامپیوتر» چنگی به دلشان میزند، انتخاب سومی فراهم میکند که هم با مباحث روز (مانند وب و اینترنت) مرتبط است، هم نرمافزاریتر از «مهندسی کامپیوتر» است و هم عنوان مهندسی را بر خود دارد و به اشتهای ایرانیان برای استفاده از کلمه مهندس پاسخ میدهد!
دروس تخصصی پیشنهاد شده از سوی شورای عالی برنامهریزی وزارت علوم برای رشته «مهندسی فناوری اطلاعات» با دروس تخصصی گرایش نرمافزاری رشته «مهندسی کامپیوتر» و تمرکز «سیستمهای نرمافزاری» آن از یک سو و نیز گرایش «فناوری اطلاعات» و تمرکز «سیستمهای اطلاعاتی» در «مهندسی کامپیوتر» از سوی دیگر اشتراک محتوایی دارد.
در میان دروس خاص این رشته، دو درس «مهندسی نرمافزار 1 و 2» و دو درس «شبکههای کامپیوتری 1 و 2» و دو درس با عنوان «مهندسی فناوری اطلاعات 1 و 2» دیده میشوند. در رشته «مهندسی فناوری اطلاعات» نیز همچون «مهندسی کامپیوتر» 23 درس اصلی پیشبینی شده است. علاوه بر این، 9 درس تخصصی و 10 درس اختیاری معرفی شده که دانشجویان میتوانند بگذرانند.
از دروس مرتبط با وب و اینترنت در مصوبه وزارت علوم برای تمام رشتههای مقطع کارشناسی میتوان به درس «مهندسی اینترنت» اشاره کرد که هم در رشته «علوم کامپیوتر» و هم در گرایش نرمافزاری «مهندسی کامپیوتر» وجود دارد. همچنین، تمرکز تخصصی «سیستمهای اطلاعاتی» در «مهندسی کامپیوتر» درسی با عنوان «مبانی بازیابی اطلاعات و جستوجوی وب» را شامل میشود که بیشتر بحثی مرتبط با دادهکاوی، الگوریتم و طراحی موتورهای جستوجو است. علاوه بر این، بعضی دانشگاهها ممکن است یک درس با عنوان «برنامهنویسی وب» به عنوان درس اختیاری «گرایش نرمافزار» در «مهندسی کامپیوتر» ارائه دهند. در فهرست رسمی دروس رشته «مهندسی فناوری اطلاعات» درسی با عنوان اختصاصی «وب» دیده نمیشود، اما احتمالاً این موضوع در دروس اختیاری بعضی دانشگاهها پوشش داده شده است.
خوب است داوطلبان ورود به دانشگاهها بدانند در حال حاضر، رشتهای مستقل با نام «مهندسی نرمافزار» در مقطع لیسانس که با تعریف پیشنهاد شده از سوی ACM و IEEE-CS همخوانی داشته باشد، معرفی نشده یا ارائه نمیشود، بلکه فقط رشته «مهندسی کامپیوتر» با گرایش نرمافزار داریم. با وجود این، علاقهمندان به شغل برنامهنویسی و تولید انبوه نرمافزار میتوانند در رشتههایی مثل «علوم کامپیوتر» یا «مهندسی فناوری اطلاعات» که جنبه نرمافزاری پررنگتری دارند تحصیل کنند یا گرایش و تمرکز نرمافزاری رشته «مهندسی کامپیوتر» را برای تکمیل دوره کارشناسی خود انتخاب کنند.
از میان دروس تخصصی مرتبط با مهندسی نرمافزار میتوان به درس «اصول طراحی نرمافزار» در رشته «علوم کامپیوتر»، درس «مهندسی نرمافزار» در گرایش نرمافزاری «مهندسی کامپیوتر» و دروس «آزمون نرمافزار» و «روشهای رسمی در مهندسی نرمافزار» در تمرکز تخصصی سیستمهای نرمافزاری برای رشته «مهندسی کامپیوتر» اشاره کرد. در ضمن دو درس با نامهای «مهندسی نرمافزار 1 و 2» در رشته «مهندسی فناوری اطلاعات» توجه ویژهای به این موضوع نشان داده است.
از جمله مباحث مهم مهندسی نرمافزار که در مقطع کارشناسی غایب هستند، ولی شایسته برخورداری از یک درس مستقل و کامل سهواحدی هستند، میتوان به «روشهای برنامهنویسی برای بازیابی اطلاعات از پایگاه دادهها» اشاره کرد که پاشنه آشیل تمام برنامهنویسان کامپیوتر است. یا مثلاً میتوان دو سه درس کاربردی و اختیاری با نامهایی مانند «اصول برنامهنویسی ویندوز» یا «اصول برنامهنویسی لینوکس» تدوین کرد. همچنین، جای مباحث مرتبط با کسب و کار تولید نرمافزار مانند مدیریت تیمهای برنامهنویسی (کابوس تمام شرکتهای تولید نرمافزار)، روشهای مدرن مدیریت پروژههای نرمافزاری (مانند اجایل)، مهندسی نیازمندهای مشتری (مانع زودهنگام در راه بسیاری از پروژهها) و روشهای استقرار، بهروزرسانی و پشتیبانی نرمافزار (عامل تداوم موفقیت شرکتهای معتبر) خالی است. (6)
در پیشنهادات ارائه شده از سوی کمیته مشترک ACM و IEEE-CS با تکیه بر تجربه موفق برخی دانشگاههای برجسته دنیا توصیه شده است که این دروس مهم در مهندسی نرمافزار با همکاری دانشکدههای مدیریت، بازرگانی و کسب و کار تدوین شوند.
ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را میتوانید از کتابخانههای عمومی سراسر کشور و نیز از دکههای روزنامهفروشی تهیه نمائید.
ثبت اشتراک نسخه کاغذی ماهنامه شبکه
ثبت اشتراک نسخه آنلاین
کتاب الکترونیک +Network راهنمای شبکهها
- برای دانلود تنها کتاب کامل ترجمه فارسی +Network اینجا کلیک کنید.
کتاب الکترونیک دوره مقدماتی آموزش پایتون
- اگر قصد یادگیری برنامهنویسی را دارید ولی هیچ پیشزمینهای ندارید اینجا کلیک کنید.
نظر شما چیست؟