বাংলা লার্নিং কন্টেন্টের অর্থনীতি

বাংলায় শিক্ষণীয় কন্টেন্ট (প্রযুক্তিকেন্দ্রিক) কেন বিনামূল্যে / ফ্রি-তে বিতরণ করা অপেক্ষাকৃত কঠিন? ইংরেজি ভাষার ভালো ফ্রি কন্টেন্ট যেখানে অহরহ পাওয়া যায়, সেখানে আমাদের সমস্যাটা কোথায়?

পড়তে থাকুন বাংলা লার্নিং কন্টেন্টের অর্থনীতি

“ভাই, কাজ শিখব”

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

এক্সপেরিমেন্ট করুন, নিজের সুপারপাওয়ারকে চিনুন

এক্সপেরিমেন্টের কোন বিকল্প নেই। আপনার যদি ইচ্ছে হয় টেকনোলজি নিয়ে কাজ করতে, তার মানে এই না আপনাকে প্রোগ্রামার হতে হবে। আজকাল প্রযুক্তির জগতে প্রোগ্রামারের পাশাপাশি অনিবার্য হল UI/UX ডিজাইনার, QA (Quality Assurance) টেস্টার, অ্যানালিস্ট (সিস্টেম / বিজনেস) ও অন্যান্য – দের অবদান। আমরা প্রায়ই একটা ভুল করি, ভাবি যে সিএসই পড়লে আমাকে প্রোগ্রামারই হতে হবে – এমন কোন কথা নেই। নিজের ভালোলাগা আগে।

Don’t let the noise of others’ opinions drown out your own inner voice. – Steve Jobs

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

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

আমার প্রথম চাকুরী ছিল প্রিয়.কম-এ। জাকারিয়া স্বপন ভাইয়ের তত্ত্বাবধানে ড্রুপালে কাজ করতাম (পিএইচপিতে)। কিন্তু আমার প্যাশন ছিল পাইথনে, বাসায় ঠিকই পাইথন নিয়ে গুঁতাগুঁতি করেছি। ধীরে ধীরে ওখান থেকে এক পর্যায়ে পাইথন নিয়ে কাজ করার সুযোগ হয় P1 এ।

অতএব, প্যাশন ফেলে দেওয়া ঠিক না, আবার প্যাশনের জন্য ক্যারিয়ারকে Pause করে রাখাও অনুচিৎ বলে আমি মনে করি। বিশেষ করে প্রোগ্রামারদের কিন্তু একাধিক ল্যাঙ্গুয়েজ জানা থাকা একদম এসেন্সিয়াল। যতদিন নিজের পছন্দের ফিল্ডে কাজ করার সুযোগ না আসে, দাঁত কামড়ে কাজ করে যান – আর প্যাশনকে জীবিত রাখুন।

শিখা ফেলসি মামা – উঁহু

একটা ছুড়ি দীর্ঘদিন ফেলে রাখলে কি হয় জানেন?** জং ধরে যায়**, আর কিছু কাটা যায় না ওটা দিয়ে। অব্যবহার্য হতে পড়ে। আমার মস্তিষ্কও সেরকম। চলমান চর্চার বা প্র্যাক্টিসের মধ্যে না থাকলে কিন্তু ভুলে যাবেন যা জানতেন। মাঝেমধ্যেই একটু মস্তিষ্ক ঝালাই করা অনিবার্য। তাই অবসর সময় নষ্ট না করে উচিৎ জানা জিনিসগুলো চর্চা করা – সবচেয়ে ভালো উপায় হচ্ছে কোন ছোটখাট প্রজেক্ট বানানো।

The more man learned, the more he realized he didn’t know – Dan Brown, The Lost Symbol

একটা ল্যাঙ্গুয়েজ জানেন? আপনার জানা ল্যাঙ্গুয়েজের তালিকায় আরও কিছু ল্যাঙ্গুয়েজ যোগ করুন! শিখুন। আপনাকে হয়ত আপনার সহকর্মী ডেভেলপারকে সাহায্য করতে হতে পারে, সেক্ষেত্রে আপনার অতিরিক্ত জ্ঞান আপনাকে অনেক সাহায্য করবে।

সম্প্রতি নতুন কি কি অগ্রগতি হচ্ছে খোঁজখবর রাখুন। আমি একসময় ওয়েবসাইট বানাতে পারতাম, কয়েকদিন আগেই দেখি অফিসের ডেভেলপাররা Webpack, Browserify, React – কীসব লাইব্রেরি নিয়ে কথা বলছে আমার কোন ধারণাই নেই! টেকনোলজি ইন্ডাস্ট্রি** খুবই দ্রুতগতিতে** আগায়। ধীরে ধীরে আগালে পেছনে পড়ে যাবেন আপনি।

বাংলাদেশে অনেক ডেভেলপার গ্রুপ আছে – phpXperts, PyCharmers, Rubyists কিংবা আপনার কলেজ / বিশ্ববিদ্যালয়ের ক্লাব-সংগঠন, এদের সাথে যুক্ত থাকার চেষ্টা করুন। কমিউনিটিগুলোর সঙ্গে যুক্ত থাকলে কাজ করার উৎসাহ পাবেন তাদের কাজ দেখে। মানুষের সঙ্গে, তাদের কাজের সঙ্গে পরিচিত হোন। অস্থির মানুষদের অনুসরণ করার চেষ্টা করুন, দেখুন তারা কি করে!

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

নিজের মার্কেটিং (বোনাস)

সেলফ মার্কেটিং করতে পারা ক্যারিয়ারের জন্য গুরুত্বপূর্ণ। নিজের কাজকে শোকেস করতে হবে। এজন্য নিজের স্কিলের বা যোগ্যতার সাহায্যে প্রজেক্টকরার বিকল্প নেই। হোক একটা সাইট, লাইব্রেরি, মডিউল, ফ্রেমোওয়ার্ক কিংবা কোন ওপেন সোর্স প্রজেক্টে কন্ট্রিবিউশন – নিজের যোগ্যতার প্রমাণ তৈরি করুন। গিটহাবে বা কোন কোন হোস্টিং সাইটে রাখুন। ব্লগিং করুন।

Works at বাপের হোটেল, Studies at I don’t need University I have Google লিখে রাখাটাও কিন্তু প্রফেশনালিজমের পরিচয় দেয় না। নিজেকে একজন প্রফেশনাল হিসেবে উপস্থাপন করুন।

ধৈর্য

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

চামচে তুলে খাওয়ার আবদার করা নিষিদ্ধ, যদি কেউ শিখতে চায় – তার জন্য। চামচ ধরে খাওয়া শিখতে হবে। অন্যের হাতে খেয়ে কতদিন? সমস্যার নিজের সমাধানের চেষ্টা করতে হবে, নিজের সল্যুশন বের করার চেষ্টা করতে হবে। আগেই নিজেকে অক্ষম বানিয়ে রাখলে চলবে কিভাবে?

আজ প্রায় ছয়-সাত বছর হল আমি গুঁতাগুঁতি করছি। অধৈর্য হয়ে, লাফালাফি করে, রাগ করে পরে ঠিকই ফিরে এসে আবার, বার বার চেষ্টা করে চলেছি। গুঁতাগুঁতির ধৈর্য টিকে থাক আপনার, আমার সকলের 🙂

তরুণ প্রোগ্রামাদের জন্য নর্থ সাউথ ইউনিভার্সিটি!

নর্থ সাউথ ইউনিভার্সিটির পরিচয়ের অনেকাংশ জুড়ে রয়েছে আমাদের অসাধারণ ব্যবসায় শিক্ষা অনুষদের বিস্তৃতি। কিন্তু, অনেকেই জানেন না যে, বিশ্বমানের পড়াশোনার পাশাপাশি প্রতি সেমিস্টারে প্রোগ্রামিং প্রতিযোগিতা, সেরা প্রোগ্রামারদের জন্য ১০০% পর্যন্ত স্কলারশিপ, কম্পেটিটিভ প্রোগ্রামিংয়ের জন্য সাপ্তাহিক ক্লাস, বিভিন্ন স্টুডেন্ট কমিউনিটি – মিলিয়ে নর্থ সাউথ ইউনিভার্সিটি তরুণ প্রোগ্রামাদের জন্য দেশের অন্যতম সেরা বিশ্ববিদ্যালয়!

Intra NSU Programming Contests

প্রোগ্রামিংয়ে শিক্ষার্থীদের আগ্রহ বাড়াতে বিশ্ববিদ্যালয়ের অভ্যন্তরে এখন প্রতি সেমিস্টারে আয়োজিত হচ্ছে INPC বা Intra NSU Programming Contest। পূর্বে সনদ ও ক্রেস্ট দিয়ে পুরস্কৃত করা হত। কিন্তু Summer 2016 সেমিস্টার থেকে ঘোষিত হয়েছে বিজয়ীদের জন্য ১০০% পর্যন্ত স্কলারশিপ!

র‍্যাংকিংয়ে প্রথম ১ম-৫ম ১০০%
পরবর্তী ৬-১০ তম পাবে ৭৫%
পরবর্তী ১১-১৫ তম পাবে ৫০%
এবং পরবর্তী ১৬-২০ তম স্থানের অধিকারীরা পাবে ২৫% স্কলারশিপ 

(তবে, প্রোগ্রামিং করতে করতে করতে, পড়ালেখা ভুলে, ফেল করে, প্রবেশন খেয়ে বসলে কিন্তু আর স্কলারশিপ পাবে না।)

নর্থ সাউথ প্রবলেম সলভার্স কমিউনিটি

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

ওয়ার্ক-স্টাডি প্রোগ্রাম

পড়াশোনার পাশাপাশি ইন্ডাস্ট্রির জন্য তৈরি হতে দরকার সফটওয়্যার ডেভেলপমেন্ট স্কিল; এর জন্য নর্থ সাউথের আইটি ডিপার্টমেন্ট, অফিস অফ অ্যাডমিশনসের মত অন্যান্য অফিস প্রায়ই প্রোগ্রামার / ডেভেলপার হিসেবে শিক্ষার্থীদের নিয়োগ দেয়। এখানে Java EE, PHP, Database Systems সহ অনেককিছু নিয়ে কাজ করার সুযোগ মিলবে তরুণ শিক্ষার্থীদের। পাশাপাশি, বিশ্ববিদ্যালয়ের খরচ ও পকেটমানিও মিলবে!

বিভিন্ন ক্লাব ও কমিউনিটি

বিশ্ববিদ্যালয়ে রয়েছে বিভিন্ন ক্লাব ও কমিউনিটির কার্যক্রম: NSU CEC (Computer and Engineering Club), INSB (IEEE NSU Student Branch), NSU MSP (NSU Microsoft Student Partners), NSUFC (Firefox Community) যার মধ্যে অন্যতম। বছড়জুরে এসকল কমিউনিটির কার্যক্রম চলতেই থাকে, যার মধ্যে বিভিন্ন সেমিনার, ওয়ার্কশপ, প্রতিযোগিতাও রয়েছে। রোবট বিশেষজ্ঞ থেকে অপারেটিং সিস্টেম আর্কিটেক্ট – সব রকম শিক্ষার্থীর সঙ্গে কাজ করার সুযোগ মিলবে এসব স্টুডেন্ট কমিউনিটিতে।

গবেষণার সুযোগ

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

কন্টেস্ট প্রোগ্রামার হও, গবেষক কিংবা ডেভেলপার – নর্থ সাউথ ইউনিভার্সিটিতে তোমার প্রতিভা বিকাশের সুযোগ রয়েছেই। নর্থ সাউথের অসাধারণ কমিউনিটিতে তোমাকে সাদর আমন্ত্রণ।

হাতে-কলমে পাইথন: পর্ব ৭ (কোন শব্দ কয়বার?, শেষ পোস্ট)

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

"is": 20,
"been": 15,
"bangladesh": 2,
...
পড়তে থাকুন হাতে-কলমে পাইথন: পর্ব ৭ (কোন শব্দ কয়বার?, শেষ পোস্ট)

হাতে-কলমে পাইথন: পর্ব ৬ (ফাঁকা লাইনের রহস্য ও ফেলুদা)

পর্ব-৫ এ আমরা দেখেছিলাম কিভাবে ফাইলে প্রোগ্রাম সেভ করে রাখতে হয়; এখন থেকে আমাদের আর কষ্ট করে বার বার একই কোড টাইপ করতে হবেনা! যাই হউক, এবার আমাদের লেখা ফাইলটাকে Spyder এ ওপেন কর। এবার খেয়াল করে দেখুন Spyder এর নিচে, ডান/বাম পাশে একটি IPython Console আছে 😀 ওখানে headlines লিখে দেখি তো আমাদের headlinesভ্যারিয়েবলকে পাওয়া যায় কিনা! হাজার হোক ওর ঠিক পাশেই আমাদের প্রোগ্রামের কোড – অতএব…।

পড়তে থাকুন হাতে-কলমে পাইথন: পর্ব ৬ (ফাঁকা লাইনের রহস্য ও ফেলুদা)

হাতে-কলমে পাইথন: পর্ব ৫ (এক্সপেরিমেন্টকে প্রোগ্রামে রুপান্তর)

আশা করি আমরা পর্ব-৪ এ অনেককিছু আবিষ্কার করেছি! এবার দেখার পালা কিভাবে আমাদের লেখা iPython এক্সপেরিমেন্টকে একটা পরিপূর্ণ প্রোগ্রাম বানাবো ফাইলে সেভ করে। পাইথন কোড লেখার জন্য সাধারণ টেক্সট এডিটরই যথেষ্ঠ। কিন্তু আমরা সিমপ্লিসিটির জন্য Spyder IDE ব্যবহার করব; যা Anaconda এর সাথে ইন্সটল হয়ে আসে। এখন আমরা আমাদের ডেইলি স্টার প্রোগ্রামটিকে অন্যান্য ল্যাঙ্গুয়েজের মত ফাইলে রাখব।

পড়তে থাকুন হাতে-কলমে পাইথন: পর্ব ৫ (এক্সপেরিমেন্টকে প্রোগ্রামে রুপান্তর)

হাতে-কলমে পাইথন: পর্ব ৪ (লুপ লুপ, সব খবর একসাথে)

আশা করি আপনারা পর্ব-৩ এ একটি একটি করে নিউজ বের করে হেডলাইন দেখতে পেরেছেন পাইথনের সাহায্যে! এই পর্বে আমরা সবগুলো খবর দেখাবো! আগের পর্বে যা করেছিলাম, তা অনেকটা এরকম:

import requests
from bs4 import BeautifulSoup

daily_star = requests.get('http://www.thedailystar.net')
parsed_html = BeautifulSoup(daily_star.text, 'lxml')
headlines  = parsed_html.find_all('h5')
পড়তে থাকুন হাতে-কলমে পাইথন: পর্ব ৪ (লুপ লুপ, সব খবর একসাথে)

হাতে-কলমে পাইথন: পর্ব ৩ (খবর এক এক করে বের করা)

আগের পর্ব-২ এ আমরা দেখেছি কিভাবে পাইথনে বিভিন্ন অবজেক্ট নিয়ে গুতাগুতি করতে হয়; এবং এই জ্ঞান থেকে আমরা ওয়েবপেজের HTML মার্কআপ বের করে ফেলেছি। এবার সেটি parse করে হেডলাইন বের করে আনার পালা!

পড়তে থাকুন হাতে-কলমে পাইথন: পর্ব ৩ (খবর এক এক করে বের করা)

হাতে-কলমে পাইথন: পর্ব ২ (রিকোয়েস্টের পরে কি হল?)

পর্ব-১ এ আপনাদের হোমওয়ার্ক ছিল কিছু জিনিসপাতি নিয়ে নাড়াচাড়া করা; কারণ পাইথন শেখার সবচেয়ে গুরুত্বপূর্ণ ধাপ হল নিজে নিজে পাইথনের “ফিচারগুলো আবিষ্কার করা”। যাই হোক, এবার দেখি পর্ব-২ এর হোমওয়ার্কের স্টেটমেন্টগুলোর আউটপুটের অর্থ কি! daily_star লিখে এন্টার চাপামাত্রই আউটপুটে iPython আপনাকে daily_star এর ভ্যালু দেখাবে; যেটা হল <Response [200]>

iPython Shell
পড়তে থাকুন হাতে-কলমে পাইথন: পর্ব ২ (রিকোয়েস্টের পরে কি হল?)

হাতে-কলমে পাইথন: পর্ব ১

তাহলে আমি ধরে নিয়েছি আপনি পর্ব-০ দেখে Anaconda ইন্সটল করে নিয়েছেন! তাহলে আপনার Start Menu / Application Launcher এ গিয়ে IPython (আই-পাইথন নাম হইলেও ইহা কোন অ্যাপল প্রোডাক্ট নহে) চালু করুন। চালু করলে একটা টার্মিনাল / কমান্ড প্রম্পটে দেখবেন একটা প্রোগ্রাম চালু হবে।

IPython Window
পড়তে থাকুন হাতে-কলমে পাইথন: পর্ব ১