توصیه هایی برای دانشجویان آینده رشته های علوم کامپیوتر(IT،مهندسی و علوم)
بعد از بحت هایی که در پست رشته های پر طرفدار شد دیدم بهتره که یک مقداری در مورد ویژگی ها و تواناییهای لازم برای موفقیت در تحصیل در این رشته ها صحبت کنم.
در ایجا منظور من از CS همه رشته های مرتبط با کامپیوتر است.
همینطور که میدونید دامنه کاری و زمینه های کار در علوم کامپیوتر(Computer Science) به طور عام، بسیار زیاده. و دانشجویان این رشته ها در صورت داشتن علاقه و پشتکار ، قطعا می توانند زمینه کاری دلخواه خودشون رو پیدا کنند. زمینه هایی مثل برنامه نویسی (پایه تمام شاخه های این رشته و در عین حال ابتدایی ترین و مهمترین مهارتی که هر فرد شاغل در این رشته باید داشته باشه )، گرافیک کامپیوتری(طراحی Game ، شبیه سازی گرافیکی فرایندهای صنعتی و پزشکی و ...)، شبکه و مباحث مرتبط با اون (پرو تکلها،امنیت و ...) ،بانکهای اطلاعاتی،داده کاوی ،محاسبات علمی،پردازش تصاویر و صوت، هوش مصنوعی و سیستم های خبره،امنیت اطلاعات و داده ها،تجارت الکترونیک ،سیستم های توزیع شده،مهندسی اینترنت و وب ،طراحی الگوریتم های جدید و بهینه برای مسائل علمی و صنعتی ،طراحی سیستم عامل،و .....
خوب می بینید که زمینه های کاری بسیار زیاده، اگر چه واقعا در ایران ممکنه خیلیاش رو فقط اسمشون رو بشنویم.که ما وارد این جنبه هاش نمی شیم.(در تاپیک رشته های پر طرفدار امسال یه کمی توضیح دادم که معایب رشته کامپیوتر در ایران چیه و چرا تو انتخاب این رشته باید با چشم باز عمل کرد.)
حالا بریم سراغ مهارت هایی که حتما یه دانشجوی CS باید داشته باشه تا موفق بشه:
1-داشتن تفکر الگوریتمی و توانایی حل مسائل به شیوه الگوریتمی و نهایتا توانایی و مهارت در برنامه نویسی:
هر فردی که فارغ التحصیل CS هست باید بتونه خوب و راحت برنامه نویسی کنه.حالا در هر زمینه ای که مرتبط با کارش هست.منظور من از برنامه نویسی ،بلد بودن یه زبون خاص مثل C# نیست بلکه منظور من اینه که بتونه برای مساله ای که با اون مواجه هست یک الگوریتم پیدا کنه و اون الگوریتم رو به یه برنامه کامپیوتری تبدیل کنه.
این شرط لازم برایه هر متخصص کامپیوتره حال می خواد تخصص اش تو زمینه شبکه باشه یا سخت افزار .نرم افزاری ها هم که دیگه واضحه.
اگر لازم باشه می تونم به طور مفصل توضیح بدم.
خوب حالا ما از کجا بفهمیم که قدرت تفکر الگوریتمی رو داریم یا نه؟
تفکر الگوریتمی یه مهارت اکتسابیه یعنی با تمرین و تکرار فراوون به دست می اد.تنها راهش همینه و هر چه زودتر دانشجو به این مهارت دست پیدا کنه خیلی خیلی جلو می افته.
متاسفانه اکثریت افراد با برنامه نویسی مشکل دارن و فکر می کنن خیلی سخته.دلیل اصلی اش هم اینه که اونها می خوان برنامه نویسی رو به همون شیوه ای که دیفرانسیل و فیزیک می خونن یاد بگیرن که این امر غیر ممکنه. یاد گرفتن برنامه نویسی یک لم داره و این لم رو هم نمی شه به کسی یاد داد بلکه فقط به صورت تجربی به دست می آد . هرکسی یک روش خاصی برایه خودش داره و مثل دوچرخه سواری و شنا که بعد از یه مدت تمرین با شخص عجین میشه و به صورت عادی در میاد ،الگوریتمی فکر کردن و برنامه نویسی کردن هم برایه فردی که تلاش کرده کاملا یک فرآیند عادی میشه.
اما راهنمایی های کلی هست که می تونه به شخص کمک کنه.من به هر کس که واقعا علاقه داره و می خواد کامپیوتر رو به عنوان رشته آیندهاش انتخاب کنه میگم که تو همین تابستون بره و یک کتاب در مورد الگوریتم و فلوچارت که حاوی مساله های متنوع و پاسخ اونها هست رو تهیه کنه.این کتاب نباید در مورد برنامه نویسی باشه.این مرحله ما نمی خایم یه زبون برنامه نویسی رو یاد بگیریم بلکه هدفمون یاد گرفتن نگاه الگوریتمیک به مسائل هست.دقت کنید که کتاب فقط باید در مورد الگوریتم و فلوچارت باشه نه در مورد هیچ چیز دیگری.این خیلی مهمه.
شروع کنید به حل مسائل و خیلی باید صبور باشید. ممکنه در ابتدا برایه خیلی ها سخت باشه ولی در مدت کوتاهی ذهن شما این شیوه رو یاد میگیره..یاد گرفتن این شیوه در تمامی مراحل زندگی به شما کمک میکنه.
واقعا این شیوه نگاه به دنیا و مسائل یه برکته.این جوری می تونید به تمامی مشکلات رندگی یک نگاه عقلانی داشته باشید.
بعد از مدتی که احساس کردید می تونید حالابه شیوه الگوریتمی به مسائل نگاه کنید وقتشه که برید سراغ کامپیوتر و برنامه نویسی.توصیه می کنم که با زبان پاسکال شروع کنید.پاسکال یه زبونیه که دقیقا با اهداف آموزشی طراحی شده و دارای ساختاریه که برای نو آموزان کامپیوتر بسیار مناسبه.البته این زبان،بسیار قدرت مند هم هست و خیال نکنید که یه بازیچه هست.اصول اولیه اون رو و نوشتن برنامه های ساده با اون رو یاد بگیرید. در سطحی که بتونید با حلقه ها و زیر برنامه ها کار کنید خوبه.باقیش رو بهتره بذارید تو دانشگاه اساتید بهتون بگن چون یه مقدار نیاز داره تا روش بحث بشه.
اینجوری مطمئن باشید که پایه خودتون رو حسابی برای موفقیت بستید.ترم اول ترمیه که شما باید این مهارت رو بدست بیارید و گرنه عقب می افتید.
2-زبان انگلیسی
هر چقدر که می تونی زبانتون رو تفویت کنید و عادت کنید که منابع درسی رو به زبون انگلیسی بخونید.باور کنید از نون شب واجب تره.
3-علاقه مند به یادگیری مطالب جدید:
همتون حتما می ذونید که سرعت تغغیر وتحوا توی CS خیلی سریعه .شما باید عادت کنید که تقریبا هر 2 سال 50% دانسته تون باید بروز بشه و چیزهای جدید جایگزین اونها بشه.
4- دروسی که در دانشگاه می خونید همگی لازم هستند و باید خوب یاد بگیرید.ولی برای بازار کار شما باید 4-5 برابر کل دروس رسمی دانشگاهی مطالعه آزاد داشته باشید.به طور مثال شما 3 واحد شبکه می خونید ،اگه بخواهید فقط به اندازه این که بگید من با شبکه آشنا هستم اطلاعات داشته باشید باید به اندازه 6 واحد دیگه خودتون مطالعه کنید(تازه میشه آشنایی کلی با شبکه و نه مهارت در زمینه شبکه).
5-نکته مهم:
آگر از نظر بینایی ،نزدیک بین هستید و میزان نزدیک بینی شما 3- دیوپتر به بالا است،قبل از انتخاب این رشته با چشم پزشک مشورت کنید،به او بگویید که می توانید کامپیوتر یا رشته دیگری را انتخاب کنید، و توصیه او را بخواهید که در شرایط یکسان که امکان انتخاب بین کامپیوترو رشته دیگری به همان خوبی و در آمد و پرستیژ کامپیوتر باشد آیا از نظر شرایط چشمی او کامپیوتر را پیشنهاد می کند یاخیر؟
باور کنید که این قضیه شوخی بردار نیست،نزدیک بینی بالا متاسفانه عوارض پنهانی دارد که کار طولانی با کامپیوتر ممکن است آنها را تشدید کند.یادتان باشد که اگر شما کامپیوتر را برای َشغل آینده انتخاب کنید بایستی روزی حداقل 10 ساعت با آن کار کنید.
خیلی هم به لیزیکو این چیزها دلتان را خوش نکنید.بیشتر شبیه وسائل آرایشی است که عیب های اصلی را میپوشانند در حالیکه که مشکل حاد و اصلی باقی است.
این نکته 5 از هر 4 نکته قبلی مهمتره،اونرو خیلی جدی بگیرید
اگر سوالی بود در ادامه همین تاپیک مطرح کنید.و خوشحال می شم که بقیه هم اگر نظری دارند بنویسند تا این تاپیک نتیجه مفیدی برای خوانندگان در بر داشته باشه