تازهواردهای رشتهٔ کامپیوتر اغلب Computer Science (علوم کامپیوتر) و Computer Engineering (مهندسی کامپیوتر) را با هم اشتباه میگیرند. گرچه این دو رشته نقاط مشترک زیادی دارند اما در عین حال تفاوتهای بسیار زیادی هم با یکدیگر داشته به طوری که علوم کامپیوتر با پردازش، ذخیرهسازی و انتقال دیتا سروکار دارد اما مهندسی کامپیوتر ترکیبی از مهندسی برق و علوم کامپیوتر است و آشنایی با چنین تفاوتهایی موجب میگردد تا حین انتخاب رشته از بین این دو، به زمینهٔ مورد علاقهٔتان توجه کرده و گزینهٔ مناسبتر را انتخاب کنید.
با خاصتر شدن و حرفهایتر شدن نیازها و درخواستها در صنعت فناوری اطلاعات، مدارک و گواهینامههایی که به افراد در مقاطع بالات اعطا میشوند هم خاصتر و اختصاصیتر شدهاند و این مسئله همچنین باعث ایجاد فرصتهای شغلی بهتر و شانس بیشتری برای دانشجویان برای تحصیل در رشتهٔ مورد علاقهٔشان شده است (البته ناگفته نماند که انتخاب گزینهٔ درست برای ادامهٔ تحصیل را هم چالشیتر کرده است.)
با استانداردتر شدن اسامی دورههای مخصوص به کامپیوتر، میتوان ایده و فضای ذهنی بهتری نسبت به آنچه قرار است مطالعه و یاد گرفته شود پیدا کرد اما با این حال افراد دقیقاً از تفاوتهای میان دو رشتهٔ علوم کامپیوتر و مهندسی کامپیوتر اطلاع چندانی ندارند.
علوم کامپیوتر محدود به برنامهنویسی نیست!
بزرگترین و رایجترین تصور غلطی که در رابطه با علوم کامپیوتر وجود دارد این است که افراد تصور میکنند تمام واحدهای این رشته محدود به برنامهنویسی میشود؛ اما اینطور نیست و این رشته چیزی بیش از اینها را شامل میگردد و در واقع Computer Science مانند چتری است که حوزههایی در رابطه با کامپیوتر پوشش میدهد که شامل دروس تئوری، زبانهای برنامهنویسی، الگوریتم و معماری نرمافزار میشوند.
در علوم کامپیوتر شما باید راجع به پردازش دیتا و نحوهٔ انتقال و ذخیرهٔ آن توسط دیوایسهای کامپیوتری مطالعه کرده که در نتیجه مسائلی همچون الگوریتمهای پردازش دیتا، ریپریزنتیشنهای سمبولیک، تکنیکهای نوشتن نرمافزار، پروتکلهای ارتباطی، سازماندهی دیتا در دیتابیس و مباحثی از این قبیل را خواهید آموخت. به زبان سادهتر، میآموزید که چه مشکلاتی توسط کامپیوتر قابلحل هستند، الگوریتم مینویسید و با نوشتن برنامهها، بهکارگیری دیتابیسها و سیستمهای امنیتی، برای دیگر کاربران سیستمهای کامپیوتری ایجاد میکنید.
در مورد واحدهای علوم کامپیوتری در مقطع کارشناسی باید گفت که این رشته طیف گستردهای از موضوعات را پوشش میدهد و به دانشجویان اجازهٔ کار و یادگیری در زمینههای گوناگون را میدهد. از سوی دیگر، در تحصیلات تکمیلی این رشته، تمرکز فقط معطوف به یک حوزه میشود و به به همین دلیل است که شما باید پیش از انتخاب رشته، به دنبال دانشگاه و رشتهٔ مناسب خود باشید.
مهندسی کامپیوتر سختافزاریتر است!
مهندسی کامپیوتر را میتوان ترکیبی از مهندسی برق و علوم کامپیوتر در نظر گرفت که با ترکیب دانش سختافزاری و نرمافزاری، مهندسین کامپیوتر تقریباً در تمام زمینههای مربوط به کامپیوتر مهارت پیدا میکنند. آنها عملکرد میکروپروسسورها و نحوهٔ طراحی و بهینهسازیشان را نظارت میکنند، چگونگی اتفاق افتادن انتقال دیتا را تحتنظر و کنترل میگیرند و همینطور نحوهٔ نوشته شدن و کامپایل نرمافزار برای پلتفرمهای سختافزاری متفاوت و گوناگون را بررسی میکنند. به زبان سادهتر، مهندسی کامپیوتر طراحی نرمافزار و مفاهیم پردازش دیتا را میسر میکند و یک مهندس کامپیوتر مسئول اجرای نرمافزاری است که توسط یک متخصص علوم کامپیوتر ایجاد شده است (در همین راستا، توصیه میکنیم به مقالهٔ آیا میدانستید که مهندسین نرمافزار و برنامهنویسان چه تفاوتهایی با یکدیگر دارند؟ مراجعه نمایید.)
سخن پایانی
در خاتمه باید گفت که این دو رشته در برخی زمینهها با هم دارای به اصطلاح Overlap (وجهاشتراک) نیز هستند و در صنعت کامپیوتر موضوعات و زمینههایی وجود دارند که به مانند پلی میان این دو هستند و این دو رشته را به هم مرتبط میکنند. همچنین در زمینهٔ تحصیلی هم باید گفت که هر دو رشته شامل واحدهای برنامهنویسی، ریاضیات و علوم پایهای کامپیوتر میشوند.
روی هم رفته، تمام اینها به ترجیح و علاقهٔ خودتان بستگی دارد بدین شکل که آیا بیشتر دوست دارید برنامهنویسی کنید و با الگوریتمها سروکار داشته باشید یا اینکه بیشتر کارهای زیرساختی را میپسندید؟ سعی کنید برای رسیدن به اهداف مورد نظرتان این دو رشته را سبکسنگین کرده و موردی که برایتان مناسبتر بوده و بیشتر به آن علاقه دارید را انتخاب کنید.