কোন ভার্সিটিতে সিএসই পড়ব ?

সিএসই পড়ব, প্রাইভেট ইউনিভার্সিটিগুলোর মধ্যে কোনটা ভালো হবে? এই প্রশ্ন আমার ইনবক্সে, বইয়ের ফেসবুক পেজে, বিভিন্ন গ্রুপে দেখতে দেখতে আমি হয়রান। উত্তরটা লিখে দেই এখানে। উত্তর পছন্দ হলে কেউ এই প্রশ্নটা করলে তাকে উত্তরটা দিয়ে দিবেন। লক্ষ রাখতে হবে, আমার বক্তব্য কেবল সিএসই বা অনুরূপ বিষয়ের জন্য প্রযোজ্য, আর এগুলো আমার ব্যক্তিগত মতামত।

বাংলাদেশে কম্পিউটার সায়েন্স পড়ার দুইটা উদ্দেশ্য থাকতে পারে, এক কম্পিউটার বিজ্ঞানী হওয়া, দুই সফটওয়্যার ইঞ্জিনিয়ার হওয়া। আরেকটা অবশ্য আছে, সার্টিফিকেট পাওয়া, তবে তারা আমার আলোচনার বিষয়বস্তু না।

যারা কম্পিউটার বিজ্ঞানী হবে, তারা যেকোনো একটা বিশ্ববিদ্যালয়ে পড়লেই হয়, কারণ আমাদের দেশের কোনো প্রাইভেট ভার্সিটিই বিদেশে খুব পরিচিত নয়। তাই এখানে কোনো অতিরিক্ত সুবিধা পাবে না। যেখান থেকেই পড়, জিপিএ ভালো থাকলে এবং জিআরই-টোফেলে ভালো স্কোর থাকলে তোমার সুযোগ থাকবে।

এবার আসি যারা সফটওয়্যার তৈরির কাজ করতে চাও। ভালো সফটওয়্যার ইঞ্জিনিয়ারদের চাকরির সুযোগ অনেক (দেশে এবং বিদেশে) আর বেতনও ভালো। আমি যদ্দূর জানি, এই কারণেই পোলাপান সিএসই পড়তে চায়।

ধরা যাক, বাংলাদেশে ৮০টা প্রাইভেট ইউনিভার্সিটি আছে, এবং সেগুলোর একটা ranking করা হলো। এখন সমান মেধার দুই বন্ধুর একজন ১ নম্বর ভার্সিটিতে পড়ল, আরেকজন পড়ল ৮০ নম্বর ভার্সিটিতে। ৮০ নম্বরেরটায় যে পড়বে, সে যদি ঠিকমতো প্রোগ্রামিং শেখে, চর্চা করে, সফটওয়্যার তৈরির কলাকৌশল সম্পর্কে খোঁজখবর রাখে, আর ১ নম্বর ভার্সিটিতে পড়ুয়া বন্ধু যদি কেবল গায়ে হাওয়া লাগিয়ে ঘুরে বেড়ায়, তাহলে ক্যারিয়ারের শুরুতে প্রথম জন, যে ৮০ নম্বর বিশ্ববিদ্যালয়ে পড়ছে, সে অনেক সুবিধাজনক অবস্থানে থাকবে। কারণ সফটওয়্যার প্রকৌশলবিদ্যায় ভালো করতে হলে কাজ জানা প্রয়োজন এবং পরিশ্রমীরাই এখানে ভালো করে।

একটি বিশ্ববিদ্যালয়ের ব্যাপারে খোঁজ নিতে গেলে প্রথমেই জানতে হবে, শিক্ষকরা কেমন। কথা হচ্ছে, কম্পিউটার সায়েন্স কিন্তু অন্য বিষয়ের মতো নয়, যে অমুক ভার্সিটিতে ভালো পড়ায়, তাই সেখানের শিক্ষার্থীরা ভালো। বেশিরভাগই নিজে নিজে শিখতে হয়, শিক্ষক কেবল অনুপ্রেরণা দেন। এখানে একজন তরুণ শিক্ষকও অনেক অনুপ্রেরণা দিতে পারেন, আবার পিএচইডি করা শিক্ষকও শিক্ষার্থীদের কাছে বিষয়বস্তু বোরিং করে তুলতে পারেন। তাই ডিগ্রীর দিকে না তাকিয়ে খোঁজ নিতে হবে, কোন ভার্সিটিতে এমন শিক্ষক বেশি যারা মনমানসিকতায় তরুন, শিক্ষার্থীদের সাথে বন্ধুর মতো ব্যবহার করেন – অনেকটা Dead Poets Soceity-এর মিস্টার কিটিংসের মতো। শিক্ষকরাই পারেন অন্যরকম একটি কালচার তৈরি করতে।

এছাড়া যেসব বিষয় মাথায় রাখতে হবে :
খরচ : শুধু টিউশন ফি ছাড়াও ভার্সিটিতে আরো অনেক খরচ থাকে। তাই খুব ভালো করে খোঁজ নিতে হবে।
যাতায়াত : বাসা থেকে দূরত্বের ব্যাপারটিও হিসাবে আনতে হবে। ভার্সিটিতে যাতায়াত করতে প্রতিদিন রাস্তার তিনঘণ্টা সময় ব্যায় করা কোনো সৃজনশীল ছাত্রের কাজ হতে পারে না। ব্যপারটি অস্বাস্থ্যকরও বটে।
বন্ধু : তোমার ভালো বন্ধুরা কোথায় পড়বে, সেটাও একটা বিবেচ্য বিষয় হতে পারে।

আর ভর্তি হওয়ার পরে ক্লাস শুরুর আগ পর্যন্ত যে সময়টা পাওয়া যায়, সেসময়ে একটা প্রোগ্রামিং ল্যাঙ্গুয়েজ শিখে ফেললে সবচেয়ে ভালো হয়। তাহলে ক্লাস শুরু হলে কোনো চাপ পরে না, নইলে প্রোগ্রামিং নিয়ে হিমশিম খেতে হয়। আর এই বিষয়গুলো শিক্ষক ক্লাসে পড়ান আর নাই পড়ান, নিজে নিজে পড়ে বা বন্ধুদের সাহায্য নিয়ে আয়ত্বে আনতে হবে। এগুলো না শিখলে রেজাল্ট ভালো হলেও বিপদে পড়বে।

স্ট্রাকচার্ড প্রোগ্রামিং, অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং, ডিসক্রিট ম্যাথমেটিকস, ডাটা স্ট্রাকচার, অ্যালগরিদম, ডাটাবেজ, কম্পিউটার নেটওয়ার্কিং, আর্টিফিশিয়াল ইন্টিলিজেন্স, ওয়েব প্রোগ্রামিং, সফটওয়্যার ইঞ্জিনিয়ারিং, সফটওয়্যার অ্যানালাইসিস ও ডিজাইন। মোটামুটি সব ভার্সিটিতেই এগুলো পড়ায়। এসব বিষয়ে ওস্তাদ হয়ে যেতে হবে।

আর ক্যারিয়ার বিষয়ক এই লেখাটাও দেখতে পারো :  http://blog.subeen.com/?p=175

তোমাদের জীবন সুন্দর হোক, ভালো প্রোগ্রামার হও, পাশ করে ভালো চাকরি পাও, অনেক টেকাটুকা কামাও, এই দোয়া রইল। 🙂

প্রোগ্রামিং ক্যারিয়ার গড়তে ৫টি টিপস্

ধরা যাক, তুমি প্রোগ্রামিং ভালোই পারো। তোমার হয়ত কম্পিউটার সায়েন্সের উপর কোনো ডিগ্রী নেই, কিন্তু তুমি প্রোগ্রামিং ক্যারিয়ার গড়তে আগ্রহী।  কিংবা ডিগ্রী নিচ্ছ কিন্তু বুঝতে পারছ না যে কিভাবে তুমি তোমার সিভিতে নিজেকে এমনভাবে তুলে ধরতে পারবে যাতে কোম্পানীগুলো বুঝতে পারে যে তুমি আসলেই কাজ জানো। প্রোগ্রামিং ক্যারিয়ারে কাজ করতে পারাটাই আসল, ডিগ্রী না থাকলেও চলে।

কিভাবে নিজের দক্ষতা প্রকাশ করবে?

১) প্রোগ্রামিং প্রতিযোগিতায় অংশগ্রহন : তুমি যদি বিশ্ববিদ্যালয় পড়ুয়া শিক্ষার্থী হও, তাহলে প্রোগ্রামিং প্রতিযোগিতাগুলোতে নিয়মিত অংশগ্রহন করতে পারো। এসিএম আইসিপিসি’র ঢাকা রিজিওনাল প্রতিযোগিতায় শীর্ষ দুই বা তিনটি দলের মধ্যে থাকলে তোমার গুগল বা ফেসবুকে ইন্টারভিউ দেওয়ার জোরালো সম্ভাবনা তৈরি হয়। তুমি কম্পিউটার সায়েন্সে পড় নাকি ফিজিক্সে পড়, এটি নিয়ে তাদের মাথাব্যাথা থাকবে না। আরেকটি সুবিধা হবে, দেশের শীর্ষ প্রোগ্রামারদের সাথে তোমার জানাশোনা হবে।

২) প্রোগ্রামিং ব্লগ : তুমি প্রোগ্রামিং বিষয়ক ব্লগ লেখতে পারো। প্রতিদিন প্রোগ্রামিং করতে গিয়ে তুমি যা শেখো, সেগুলো লিখে রাখতে পারো নিজের ভাষায়। কোনো সমস্যায় পড়লে কিভাবে সেই সমস্যার সমাধান করলে, সেটিও লিখে রাখতে পারো। এতে অন্যরা যেমন উপকৃত হবে, তেমনি তোমার একটি পরিচিতি তৈরি হবে এবং সিভিতে তুমি তোমার ব্লগের লিঙ্ক দিয়ে দিবে। এতে যিনি তোমার ইন্টারভিউ নিবেন, তিনি সেটি দেখে তোমার দক্ষতা সম্পর্কে খানিকটা ধারণা পাবেন। কিন্তু খবরদার, নিজের ব্লগে অন্যের লেখা চুরি করবে না।

৩) ওয়েব অ্যাপ্লিকেশন তৈরি : তুমি নিজে বিভিন্ন ওয়েব অ্যাপ্লিকেশন তৈরি করে সেগুলো ইন্টারনেটে হোস্ট করে রাখতে পারো। আর নিজের একটি ওয়েবসাইট তৈরি করে সেখানে সবকিছু সাজিয়ে রাখো, এটাকে পোর্টফোলিও (Portfolio) বলে। তুমি কোন লেভেলের ওয়েব ডেভেলাপার, সেটা তোমার পোর্টফোলিওই বলে দেবে।

৪) মোবাইল অ্যাপ : তুমি যদি মোবাইল অ্যাপ তৈরি করতে পারো, তাহলে নিজে নিজে কিছু আইডিয়া বের করে, বা অন্যের আইডিয়া দেখে কয়েকটি মোবাইল অ্যাপ্লিকেশন বানিয়ে ফেলো এবং হোস্ট করে রাখো। আর ইন্টারভিউ দেওয়ার সময় একটি অ্যান্ড্রয়েড (বা আইফোন, তুমি যেই প্ল্যাটফর্মে কাজ করো) মোবাইল সাথে রাখবে যেখানে তোমার তৈরি অ্যাপগুলো ইনস্টল করা থাকবে।

৫) বিভিন্ন ফোরামে অংশগ্রহন : বিভিন্ন ফোরামে কিংবা গ্রুপে মাঝে-মধ্যে সময় দাও। সেখানে অন্যরা যেসব সমস্যা দিয়ে সাহায্য চেয়েছে, সেগুলো সমাধান করে দাও (ক্লাশের এসাইনমেন্ট করে দিবে না কিন্তু!)। এতে তোমার দক্ষতা যেমন বাড়তে, তেমনি অন্য প্রোগ্রামারদের নজরেও তুমি পড়ে যাবে!

তোমার জন্য শুভকামনা রইল।

বি.দ্র. আরো কোনো টিপস্ জানা থাকলে দয়া করে মন্তব্যে লিখুন। ধন্যবাদ।

সিএসই বিভাগের ক্লাস শুরুর আগে

তোমরা যারা বিভিন্ন বিশ্ববিদ্যালয়ে কম্পিউটার সায়েন্স বা কাছাকাছি কোনো বিষয়ে ভর্তি হয়েছ এবং ক্লাশ শুরুর অপেক্ষা করছ, তাদের জন্য আমার অভিজ্ঞতা থেকে কিছু পরামর্শ। উল্লেখ্য যে, এই লেখায় যেসব বইয়ের কথা বলেছি, সেগুলো আমারই লেখা।

screen-shot-2016-12-02-at-9-17-16-am

তোমার যদি কম্পিউটার না থাকে, তাহলে কম্পিউটার কিনে ফেলো, যত কম টাকায় পারা যায় (প্রোগ্রামিং করার জন্য দামি ল্যাপটপের প্রয়োজন নেই)। ডেস্কটপের চেয়ে ল্যাপটপ কেনাই ভালো হবে, কারণ বিদ্যুৎ না থাকলেও ব্যাটারিতে চলবে। ক্লাশ শুরুর আগে তুমি যদি প্রোগ্রামিং (সি ল্যাঙ্গুয়েজ) মোটামুটি শিখে ফেলতে পারো, তাহলে অনেক এগিয়ে যাবে এবং ভার্সিটি লাইফ তোমার জন্য অনেক সহজ ও আনন্দময় হয়ে যাবে। প্রোগ্রামিং শেখার জন্য বাংলায় ‘কম্পিউটার প্রোগ্রামিং (প্রথম খণ্ড)‘ বইটি পড়তে পারো।

cpbook1img

এটি নীলক্ষেতে ও রকমারি ডট কম (rokomari.com) -এ কিনতে পাওয়া যায়। আর টাকার সমস্যা থাকলেও অসুবিধা নাই। বইটি অনলাইনে ফ্রি পড়া যায়। আর বইয়ের সাথে সাথে তোমরা চাইলে অনলাইনে একটি প্রোগ্রামিং কোর্স করে ফেলতে পারো। এটিও সম্পূর্ণ ফ্রি, কোনো টাকাপয়সা লাগবে না। একা একা কিংবা বন্ধুরা কয়েকজন মিলে শিখতে পারো। বই এবং (অথবা) কোর্স করার পরে তোমরা কম্পিউটার প্রোগ্রামিং বইয়ের ওয়েবসাইটে দেওয়া প্রবলেমগুলো সলভ করার চেষ্টা করতে পারো। আর সমস্যাগুলোর সমাধান নিয়ে আলোচনা করেছি ‘৫২টি প্রোগ্রামিং সমস্যা ও সমাধান‘ বইতে। এই সমস্যাগুলোর সমাধানের চেষ্টা করলে তোমার প্রোগ্রামিং ও সি ল্যাঙ্গুয়েজের বেসিক শক্ত হয়ে যাবে। ভার্সিটির ক্লাশ শুরুর আগে এতটুকু ভালোভাবে রপ্ত করতে পারলে তোমার আর পেছনে ফিরে তাকাতে হবে না।

ক্লাশ শুরু হওয়ার পরে বইগুলো আবার পড়বে (হ্যাঁ, প্রোগ্রামিং বই কেবল একবার পড়ার জন্য নয়)। তারপরে “কম্পিউটার প্রোগ্রামিং ২য় খণ্ড” বইটি পড়া শুরু করে দাও। বইতে প্রোগ্রামিং ও সি ল্যাঙ্গুয়েজের বেশ কিছু জটিল ও গুরুত্বপূর্ণ বিষয় নিয়ে আলোচনা করা হয়েছে।

cpbook2pp         52_book_cover

(বইগুলো রকমারি ডট কম ছাড়াও ঢাকায় নীলক্ষেতের হক লাইব্রেরি ও মানিক লাইব্রেরি-তে পাওয়া যায়।)

rokimg_20150817_102370

আর ভার্সিটিতে অনেক সিনিয়র ভাইয়া-আপুরা তাদের নিজেদের দূর্বলতা ঢেকে রাখার জন্যই হোক, কিংবা নিজেদের কম জানার কারণেই হোক, জুনিয়রদের অনেক উল্টা-পাল্টা গাইডলাইন দেয় – ‘এটা করলে ভালো হবে’, ‘সেটা করার দরকার নাই’ এরকম। তাই আমি বাংলাদেশের এক ডজন সফল প্রোগ্রামারের সাক্ষাৎকার নিয়েও একটি বই লিখেছি ‘প্রোগ্রামিং ক্যারিয়ার গাইডলাইন: এক ডজন প্রোগ্রামারের কথা‘ – যেটি শিক্ষার্থীদের অনুপ্রেরণা যোগাবে ও সঠিক পথ দেখাবে।

প্রোগ্রামিং যাত্রা শুভ ও আনন্দময় হোক।