سابقه تدریس مبانی علمی و مهندسی کامپیوتر در دانشگاه‌های ایران به ارائه رشته انفورماتیک در دانشکده ریاضی بعضی از دانشگاه‌ها در سال‌های دور برمی‌گردد. در سال ۱۳۷۷، پس از تصویب سرفصل‌ها و دروس رشته‌های مهندسی کامپیوتر با دو گرایش نرم‌افزار و سخت‌افزار توسط شورای عالی برنامه‌ریزی وزارت علوم، دانشکده‌های فنی و مهندسی ایران یکی پس از دیگری رشته کامپیوتر را در مقطع لیسانس ارائه کردند. طی دهه ۸۰ خورشیدی، به‌تدریج و هم‌گام با تحولات صنعت آی‌تی در ایران و جهان، بعضی دانشگاه‌های داخلی به ارائه اختصاصی رشته‌های جدیدی مانند فناوری اطلاعات اقدام کردند تا اینکه سرانجام در سال ۱۳۹۲ شورای عالی برنامه‌ریزی تقسیم‌بندی جدیدی معرفی کرد که تا به ‌امروز نیز مرجع تدوین رشته کامپیوتر در دانشگاه‌های ایرانی است. (۱) طبق این تقسیم‌بندی، دانشگاه‌های مورد تأیید وزارت علوم می‌توانند چهار رشته را در مقطع کارشناسی به دانشجویان علاقه‌مند ارائه کنند. از این میان، رشته «علوم کامپیوتر» عمدتاً توسط دانشکده‌های علوم و ریاضی ارائه می‌شود و رشته‌های «مهندسی کامپیوتر» و «مهندسی فناوری اطلاعات» توسط دانشکده‌های فنی و مهندسی تدریس می‌شوند. البته این مصوبه یک گرایش‌ تخصصی دیگر به نام «رایانش امن» نیز معرفی کرده است که برخی از دانشگاه‌ها مجاز به ارائه آن هستند.

علاوه بر شاخه‌های اصلی فوق، دانشجویان می‌توانند به‌صورت اختیاری دروسی را با تمرکز روی مباحث روز همچون شبکه‌های کامپیوتری، هوش مصنوعی، امنیت رایانه، بازی‌های کامپیوتری و چند عفاکتورین دیگر بگذرانند اما این تمرکزهای تخصصی لزوماً در عفاکتورین مدارک تحصیلی دوره لیسانس قید نمی‌شود. در ادامه به معرفی اجمالی سه رشته اصلی متداول در ایران می‌پردازیم و بحث مفصل‌تر در این زمینه را به شماره‌های آتی ماهنامه شبکه واگذار می‌کنیم. (۲)

مطلب پیشنهادی

از دوره‌های رایگان و آنلاین هاروارد تا ظرفیت دانشگاه‌های ایران و مجموعه آموزشی پایتون

مقالات ویژه آنلاین شماره ۱۹۷ ماهنامه شبکه بخش دانش کامپیوتر

رشته «علوم کامپیوتر»

این رشته در دانشکده علوم یا ریاضی دانشگاه‌های ایران ارائه می‌شود و معمولاً ظرفیت پذیرش آن حدود نصف ظرفیت رشته مهندسی کامپیوتر در همان دانشگاه است. (۳) اما نگاهی به دروس الزامی و تخصصی این رشته در مصوبه وزارت علوم نشان می‌دهد که سرفصل‌ها و حتی عناوین تقریباً ۷۰ درصد دروس آن با رشته مهندسی کامپیوتر مشابه است. تفاوت اصلی میان این دو رشته در دروس ریاضی است. در «مهندسی کامپیوتر» دروس ریاضی کمتری ارائه می‌شود و درعوض چند درس با گرایش سخت‌افزاری در برنامه تحصیلی دانشجویان گنجانده شده است. به عفاکتورین مثال، در «علوم کامپیوتر» دو درس «آمار و احتمال ۱ و ۲» ارائه می‌شوند، در حالی که «مهندسی کامپیوتر» فقط یک درس «آمار و احتمال» دارد. در هر دو رشته، درسی با عفاکتورین «ساختمان داده‌ها و الگوریتم‌ها» یا مشابه آن ارائه می‌شود. همچنین، دو درس «اصول سیستم‌های کامپیوتری ۱ و ۲» در این رشته، با وجود تفاوت اسمی، به‌لحاظ محتوا معادل دو درس «مدارهای منطقی» و «معماری کامپیوتری» در «مهندسی کامپیوتر» هستند. علاوه بر دروس عمومی (مشترک در تمام رشته‌های دانشگاهی ایران) و پایه (مشابه در اغلب رشته‌های علمی و فنی ایران)، این رشته ۲۷ درس اصلی، ۸ درس تخصصی و ۱۳ درس اختیاری دارد. این رشته تقریباً معادل رشته «دانش کامپیوتر» یا Computer Science در استاندارد جهانی است. «علوم کامپیوتر» چنان‌که از نامش پیدا است، نگاهی علمی به مبحث کامپیوتر دارد و برای کسانی که می‌خواهند در مباحث پیشرفته این رشته مانند «هوش مصنوعی» یا «داده‌کاوی» مطالعه کنند مناسب است. اغلب دانشگاه‌های برجسته دنیا این رشته و «مهندسی کامپیوتر» را در کنار هم و توسط یک دپارتمان یا دانشکده واحد ارائه می‌کنند و اصولاً رشته اصلی و مادر در دنیای کامپیوتر همین رشته است. در ایران اما بنا به دلایلی ناروشن چنین نیست و «علوم کامپیوتر» از «مهندسی کامپیوتر» جدا افتاده و این تصور اشتباه را در ذهن داوطلبان ایرانی پدید آورده است که رشته «علوم کامپیوتر» یک انتخاب درجه دو است، در حالی که با معیارهای جهانی کاملاً برعکس است. شاید علاقه ایرانیان به کلمه مهندس و بار اجتماعی آن در چنین وضعیتی بی‌تأثیر نبوده است.نکته بسیار مهم برای آن دسته از داوطلبان ورود به دانشگاه که قصد دارند پس از فراغت از تحصیل در حوزه نرم‌افزار مشغول به کار شوند این است که دو رشته «علوم کامپیوتر» و «مهندسی کامپیوتر» از نظر دروس تخصصی مرتبط با مهندسی نرم‌افزار بسیار شبیه هستند، مگر اینکه دانشجو قصد داشته باشد دروس تمرکز تخصصی «سیستم‌های نرم‌افزاری» در رشته «مهندسی کامپیوتر» را نیز بگذراند (۴ درس) و این دروس توسط دانشگاه محل تحصیل او ارائه شوند. بنابراین، اگر به نرم‌افزار علاقه دارید و حاضرید به‌جای چند درس سخت‌افزاری چند درس ریاضی بگذرانید، رشته «علوم کامپیوتر» همچنان انتخاب مناسبی است.

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

این رشته منحصراً در دانشکده‌های فنی و مهندسی ایران ارائه می‌شود و چهار گرایش تخصصی با نام‌های «نرم‌افزار»، «معماری سیستم‌های کامپیوتری»، «رایانش امن» و «فناوری اطلاعات» دارد. گرایش «معماری سیستم‌های کامپیوتری» در واقع همان گرایش «سخت‌افزار» است. تفاوت دو گرایش اصلی نرم‌افزار و سخت‌افزار با یکدیگر زیاد نیست. گرایش «نرم‌افزار» ۵ درس تخصصی اضافی دارد و گرایش «معماری سیستم‌های کامپیوتری» ۷ درس تخصصی اضافی دارد. اما دو گرایش «رایانش امن» و «فناوری اطلاعات» هرکدام ۹ درس تخصصی اضافی دارند. تمام این چهار گرایش در ۲۳ درس اصلی «مهندسی کامپیوتر» مشترک هستند.

دانشجویان همچنین می‌توانند درس‌های تخصصی و اختیاری با تمرکز روی یکی از هشت محور «سیستم‌های مجتمع»، «شبکه‌های کامپیوتری»، «هوش مصنوعی»، «سیستم‌های نرم‌افزاری»، «الگوریتم و محاسبات»، «بازی‌های کامپیوتری»، «سیستم‌های اطلاعاتی» و «امنیت رایانه» بگذرانند. هریک از این زمینه‌ها بین ۴ تا ۶ درس اختصاصی دارند. برخلاف گرایش‌های اصلی، ارائه این تمرکزهای تخصصی توسط دانشگاه‌ها اجباری نیست و لازم است داوطلبان قبل از انتخاب رشته با مراجعه به وب‌سایت دانشگاه از ارائه تمرکز مورد نظرشان اطمینان حاصل کنند. این رشته تقریباً معادل رشته‌ای با همین نام در استاندارد جهانی است، با این تفاوت که در استاندارد جهانی دروس گرایش‌های نرم‌افزاری و سخت‌افزاری (که در مصوبه وزارت علوم آمده) در کنار هم ارائه می‌شوند و با این وجود، فارغ‌التحصیل همچنان به‌عفاکتورین یک کارشناس سخت‌افزار شناخته می‌شود. علت این است که اولاً در پیشنهاد ارائه شده از سوی کمیته مشترک انجمن‌های بین‌المللی ACM و IEEE-CS برای تدوین رشته‌های کامپیوتر در دنیا رشته «مهندسی کامپیوتر» رشته‌ای با بار تخصصی سنگین‌تر در زمینه سخت‌افزار شناخته می‌شود. ثانیاً از یک مهندس کامپیوتر با گرایش سخت‌افزار انتظار می‌رود در زمینه نرم‌افزار و برنامه‌نویسی نیز قوی باشد تا بتواند در فرآیند طراحی و تولید دستگاه‌های کامپیوتری (۴) و یا درایور قطعات داخل یک پی‌سی یا لپ‌تاپ (۵) مشارکت کند.

مطلب پیشنهادی

جدول دروس رشته علوم کامپیوتر

ضمیمه آنلاین مقاله «آشنایی با رشته علوم کامپیوتر» در شماره ۱۹۷ ماهنامه

رشته «مهندسی فناوری اطلاعات» 

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

دروس تخصصی پیشنهاد شده از سوی شورای عالی برنامه‌ریزی وزارت علوم برای رشته «مهندسی فناوری اطلاعات» با دروس تخصصی گرایش نرم‌افزاری رشته «مهندسی کامپیوتر» و تمرکز «سیستم‌های نرم‌افزاری» آن از یک سو و نیز گرایش «فناوری اطلاعات» و تمرکز «سیستم‌های اطلاعاتی» در «مهندسی کامپیوتر» از سوی دیگر اشتراک محتوایی دارد. 

در میان دروس خاص این رشته، دو درس «مهندسی نرم‌افزار ۱ و ۲» و دو درس «شبکه‌های کامپیوتری ۱ و ۲» و دو درس با عفاکتورین «مهندسی فناوری اطلاعات ۱ و ۲» دیده می‌شوند. در رشته «مهندسی فناوری اطلاعات» نیز همچون «مهندسی کامپیوتر» ۲۳ درس اصلی پیش‌بینی شده است. علاوه بر این، ۹ درس تخصصی و ۱۰ درس اختیاری معرفی شده که دانشجویان می‌توانند بگذرانند.

از دروس مرتبط با وب و اینترنت در مصوبه وزارت علوم برای تمام رشته‌های مقطع کارشناسی می‌توان به درس «مهندسی اینترنت» اشاره کرد که هم در رشته «علوم کامپیوتر» و هم در گرایش نرم‌افزاری «مهندسی کامپیوتر» وجود دارد. همچنین، تمرکز تخصصی «سیستم‌های اطلاعاتی» در «مهندسی کامپیوتر» درسی با عفاکتورین «مبانی بازیابی اطلاعات و جست‌وجوی وب» را شامل می‌شود که بیشتر بحثی مرتبط با داده‌کاوی، الگوریتم و طراحی موتورهای جست‌‌وجو است. علاوه بر این، بعضی دانشگاه‌ها ممکن است یک درس با عفاکتورین «برنامه‌نویسی وب» به عفاکتورین درس اختیاری «گرایش نرم‌افزار» در «مهندسی کامپیوتر» ارائه دهند. در فهرست رسمی دروس رشته «مهندسی فناوری اطلاعات» درسی با عفاکتورین اختصاصی «وب» دیده نمی‌شود، اما احتمالاً این موضوع در دروس اختیاری بعضی دانشگاه‌ها پوشش داده شده است.

مطلب پیشنهادی

ظرفیت پذیرش دانشگاه‌ها در رشته‌های کامپیوتر (کنکور 96) + فهرست

مقاله ویژه آنلاین شماره ۱۹۷ ماهنامه شبکه – دروس دانشگاهی

درباره مهندسی نرم‌افزار

خوب است داوطلبان ورود به دانشگاه‌ها بدانند در حال حاضر، رشته‌ای مستقل با نام «مهندسی نرم‌افزار» در مقطع لیسانس که با تعریف پیشنهاد شده از سوی ACM و IEEE-CS هم‌خوانی داشته باشد، معرفی نشده یا ارائه نمی‌شود، بلکه فقط رشته‌ «مهندسی کامپیوتر» با گرایش نرم‌افزار داریم. با وجود این، علاقه‌مندان به شغل برنامه‌نویسی و تولید انبوه نرم‌افزار می‌توانند در رشته‌هایی مثل «علوم کامپیوتر» یا «مهندسی فناوری اطلاعات» که جنبه نرم‌افزاری پررنگ‌تری دارند تحصیل کنند یا گرایش و تمرکز نرم‌افزاری رشته «مهندسی کامپیوتر» را برای تکمیل دوره کارشناسی خود انتخاب کنند. 

از میان دروس تخصصی مرتبط با مهندسی نرم‌افزار می‌توان به درس «اصول طراحی نرم‌افزار» در رشته «علوم کامپیوتر»، درس «مهندسی نرم‌افزار» در گرایش نرم‌افزاری «مهندسی کامپیوتر» و دروس «آزمون نرم‌افزار» و «روش‌های رسمی در مهندسی نرم‌افزار» در تمرکز تخصصی سیستم‌های نرم‌افزاری برای رشته «مهندسی کامپیوتر» اشاره کرد. در ضمن دو درس با نام‌های «مهندسی نرم‌افزار ۱ و ۲» در رشته «مهندسی فناوری اطلاعات» توجه ویژه‌ای به این موضوع نشان داده است.

از جمله مباحث مهم مهندسی نرم‌افزار که در مقطع کارشناسی غایب هستند، ولی شایسته برخورداری از یک درس مستقل و کامل سه‌واحدی هستند، می‌توان به «روش‌های برنامه‌‌نویسی برای بازیابی اطلاعات از پایگاه داده‌ها» اشاره کرد که پاشنه آشیل تمام برنامه‌نویسان کامپیوتر است. یا مثلاً می‌توان دو سه درس کاربردی و اختیاری با نام‌هایی مانند «اصول برنامه‌نویسی ویندوز» یا «اصول برنامه‌نویسی لینوکس» تدوین کرد. همچنین، جای مباحث مرتبط با کسب و کار تولید نرم‌افزار مانند مدیریت تیم‌های برنامه‌نویسی (کابوس تمام شرکت‌های تولید نرم‌افزار)، روش‌های مدرن مدیریت پروژ‌ه‌های نرم‌افزاری (مانند اجایل)، مهندسی نیازمندهای مشتری (مانع زودهنگام در راه بسیاری از پروژه‌‌ها) و روش‌های استقرار، به‌روزرسانی و پشتیبانی نرم‌افزار (عامل تداوم موفقیت شرکت‌های معتبر) خالی است. (۶)

در پیشنهادات ارائه شده از سوی کمیته مشترک ACM و IEEE-CS با تکیه بر تجربه موفق برخی دانشگاه‌های برجسته دنیا توصیه شده است که این دروس مهم در مهندسی نرم‌افزار با همکاری دانشکده‌های مدیریت، بازرگانی و کسب و کار تدوین شوند. 

 

پی‌نوشت‌ها:

(۱)  فایل ۱۷۳ صفحه‌ای کامل مصوبه شورای عالی برنامه‌ریزی شامل مشروح تمام سرفصل‌های این رشته‌ها را می‌توانید در بخش انتهایی این مقاله دانلود کنید.

(۲) رشته رایانش امن در این مقاله بررسی نشده است، اما جدول دروس تخصصی این رشته را می‌توانید در فایل مصوبه شورای عالی برنامه‌ریزی مطالعه کنید.

(۳) با استناد به جدول انتخاب رشته داوطلبان ورود به دانشگاه‌ها از طریق کنکور سراسری طی دو سال گذشته

(۴)  منظور از دستگاه‌های کامپیوتری، وسایلی مانند دستگاه کارت‌خوان بانکی یا کیت‌های آموزشی مانند رزبری‌پای است. 

(۵) نرم‌افزارهای موسوم به Driver یا راه‌انداز میان‌افزارهایی هستند که امکان کار یک قطعه به‌خصوص از کامپیوتر (مثلاً سیستم صوتی) را فراهم می‌کنند. این نرم‌افزارها که باید دقت و کیفیت بالایی داشته باشند، توسط تیم مشترکی از مهندسان کامپیوتر با گرایش عمدتاً سخت‌افزاری نوشته می‌شوند.

(۶) در حال حاضر، بعضی از این مباحث در مقطع کارشناسی ارشد مهندسی نرم‌افزار در ایران تدریس می‌شوند، ولی در صورت تدوین یک رشته اختصاصی برای مهندسی نرم‌افزار در مقطع کارشناسی می‌توان ضمن حذف بعضی از دروس سخت‌افزاری مقطع کارشناسی «مهندسی کامپیوتر»، دروس مفیدی را از مقطع کارشناسی ارشد نرم‌افزار به مقطع کارشناسی منتقل کرد و به‌جای آن روی مباحث پیشرفته‌تری مانند «زبان‌های برنامه‌نویسی وب»، «برنامه‌نویسی موبایل» و «برنامه‌نویسی رایانش ابری» و «داده‌کاوی» برای کارشناسی ارشد تکیه کرد.