কম্পিউটার সাইন্স এবং ইঞ্জিনিয়ারিং Computer Science and Engineering (CSE) নিয়ে কথা বলব আজকে | আজকে আলোচনা করবো CSE তে ভর্তি হওয়ার আগে কি শিখবো ? কি ধরনের ফ্রিল্যান্সিং করব ? কেন সবাই জব পাচ্ছেনা, সিজিপিএ ম্যাটার করে নাকি স্কিলস ? কিভাবে জবের জন্য নিজেকে তৈরি করব ? অনলাইন কোর্স, ফ্রী বুক সহ 4 বছরের স্টেপ বাই স্টেপ CSE ম্যাজিক Roadmap বলে দিব |
এর আগের পোস্টে পোস্টে কম্পিউটার সায়েন্স মেজর এর সমস্ত প্রশ্ন উত্তর এবং গাইডলাইন শেয়ার করেছি | এই পোস্টটা পড়ার আগে আপনারা ঐ পোস্টটা পড়ে নিয়েন |
CSE বা কম্পিউটার সায়েন্স অ্যান্ড ইঞ্জিনিয়ারিং এটি কম্পিউটার সাইন্সের একটি বিশেষায়িত শাখা যেখানে কম্পিউটার সায়েন্স এবং সফটওয়্যার ইঞ্জিনিয়ারিং একসাথে করা হয় | অর্থাৎ এখানে যেরকম কম্পিউটার সায়েন্স এর যে প্রিন্সিপাল গুলো সেগুলো আপনাকে শেখানো হবে তার সাথে সাথে কিভাবে সফটওয়্যার ডেভেলপমেন্ট এবং রিলেটেড কাজগুলো করতে হয় সেটা আপনাকে শেখানো হবে | আর এটা বুঝতে পারছেন যেহেতু দুইটা ফিল্ডকে একসাথে করা হচ্ছে তাহলে চাপ আপনাকে দ্বিগুণ নিতে হবে | এ ধরনের বিশেষত শাখা থেকে পড়ার একটা সুবিধা হচ্ছে যখন আপনি এখান থেকে পাস করবেন তখন যেমন কম্পিউটার সাইন্সের যেকোনো স্পেশালাইজেশন ফিল্ড মুভ করতে পারবেন আবার সফটওয়্যার রিলেটেড ডিগ্রী থাকার কারণে যারা সফটওয়্যার কাজ করে এমন কোম্পানিতে জব পাওয়া অনেক সুবিধা হবে |
এখন সমস্যা হচ্ছে যে আপনার পাবলিক, প্রাইভেট এবং বিভিন্ন জায়গার অলিতে-গলিতে এত ইউনিভার্সিটি হয়েছে সবাই CSE ডিপার্টমেন্ট খুলে বসে আছে | এবং আমাদের দেশের বেশিরভাগ ছাত্র ছাত্রী কোন ধারণা ছাড়াই , কোন ব্যাকগ্রাউন্ড ছাড়াই ডিপার্টমেন্ট গুলোতে ভর্তি হচ্ছে | তারা বেশিরভাগই কম্পিউটার সাইন্সের কোন প্যাশন রাখেনা , এখানে কেন পড়তে আসছে তারা তাও জানে না | এবং ফলাফল টা খুব মারাত্মক, কোম্পানিগুলো একদিকে যেমন অনেক বেশি গ্রাজুয়েট চাকরি পরীক্ষার্থী হওয়ার কারণে স্যালারির ব্যাপারটা খুব একটা মাথায় রাখছে না, গাধার মত করে সবাইকে খাটাচ্ছে অন্যদিকে চার বছরে নিজের একাডেমিক এবং স্কিল দুইটা ভাল করে মেন্টেন না করার কারণে স্টুডেন্টরা ভাল Job পাচ্ছেনা | সর্বশেষে সবচেয়ে বড় যে Problem সেটা হচ্ছে যে ফ্রিল্যান্সিং | কোন ছাগল একথাটা বলছে যে ফ্রিল্যান্সিং করার জন্য CSE ডিগ্রী প্রয়োজন হয় ? আপনি আপনার Skills প্র্যাকটিস করার জন্য ফ্রিল্যান্সিং করতেছেন এটা আলাদা ধরনের কথা, কিন্তু একজন ইঞ্জিনিয়ার এবং একজন ফ্রিল্যান্সারের মধ্যে অনেক পার্থক্য রয়েছে এই ব্যাপারটা আপনাদের বুঝতে হবে |
✅ কেন CSE পড়া উচিত?
আমার মাঝে মাঝে মনে হয় যে কম্পিউটারের প্রতি প্যাশন আছে এরকম স্টুডেন্টদের অবশ্যই CSE পড়া উচিত | যারা সফটওয়্যার রিলেটেড কাজ শিখতে চান আবার কম্পিউটার সাইন্সে অন্য ফিল্ডগুলো explore করতে চান তাদের জন্য এই শাখাটি একবারে রিস্ক ফ্রী, তবে হ্যাঁ আপনাকে কাজ শিখতে হবে শুধু সার্টিফিকেট অথবা CGPA উপর ডিপেন্ড করে আপনি অনেক দূর যেতে পারবেন না |
✅ ডিগ্রী নাকি Skills ডেভলপ করতে হবে ?
বর্তমান বাজারে ডিগ্রিধারীর কিন্তু অভাব নাই এটাই সবচেয়ে বড় অসুবিধা হয়ে গেছে | জবের জন্য বর্তমানে কোম্পানিগুলো যেমন সিজিপিএ চাচ্ছে তার সাথে সাথে তারা এটাও চাচ্ছে তারা যে Noob হায়ার করবে তার কিছুটা হলেও প্রফেশনাল স্কিল থাকে যেটা জন্য তাদের তার পিছনে বেশি সময় নষ্ট না করতে হয় ট্রেনিং জন্য | তাই ডিগ্রির সাথে সাথে স্কিল ডেভেলপ করেন না হলে পরে পস্তাতে হবে |
✅ Top Freelancing works For Skills and Money for CSE Students
CSE শিক্ষার্থী হিসেবে কিছুতো ফ্রিল্যান্সিং কাজ আপনাদের শেখা উচিত | এর মধ্যে অনেকগুলো ফিল্ড সম্পর্কে আমি বিস্তারিত পোস্ট আমার পেজে করেছি এবং অনেকগুলো সম্পর্কে ভবিষ্যতে পোস্ট আমি আবার করব আপনারা পড়ে যেতে পারেন |
1. Web Development
2. Mobile App Development
3. Software Development
4. Data Analysis and Visualization
5. Database Management
6. Cybersecurity Consulting
7. Cloud Computing
8. IT Support and Troubleshooting
9. UX/UI Design
10. Technical Writing
CSE তে ভর্তি হওয়ার আগে কি শিখবো ?
1. Basic Computer: কম্পিউটার অনেকগুলো Basic রয়েছে সেগুলো শিখে নেবেন তার সাথে MS Office Apps কিভাবে কাজ করতে হয় সেটাও শিখে নেবেন |
2. Math: Algebra, calculus, probability, and discrete mathematics শিখে নিতে পারেন ভার্সিটিতে পড়ার আগে হয়তোবা এরকম ধরনের সাবজেক্ট আপনাদের থেকে থাকতে পারে |
4 বছরের স্টেপ বাই স্টেপ CSE ম্যাজিক Roadmap
Year 1:
1. প্রোগ্রামিং ফান্ডামেন্টালস: ভেরিয়েবল, ডাটা টাইপ, কন্ট্রোল ফ্লো এবং ফাংশন সহ প্রোগ্রামিং এর মূল বিষয়গুলি শিখতে পাইথন বা C মত একটি প্রোগ্রামিং ভাষা দিয়ে শুরু করুন। এ বিষয় নিয়ে বিস্তারিত পোস্ট করেছি |
2. ডেটা স্ট্রাকচার: arrays, linked lists, stacks, queues, and trees মতো মৌলিক ডেটা স্ট্রাকচার অধ্যয়ন করুন। তাদের operations, implementations, and time complexities বোঝার চেষ্টা করেন এবং প্রবলেম সলভিং এর উপর ফোকাস দিন | এ বিষয় নিয়ে বিস্তারিত পোস্ট করেছি |
3. অ্যালগরিদম: searching, sorting, and graph traversal algorithms মতো প্রয়োজনীয় অ্যালগরিদমগুলি শিখুন ৷ এ বিষয় নিয়ে বিস্তারিত পোস্ট করেছি |
4. Discrete Mathematics : logic, set theory, relations, and combinatorics সহ কম্পিউটার বিজ্ঞানের সাথে প্রাসঙ্গিক গাণিতিক ভিত্তিগুলি শিখুন।
5. ওয়েব ডেভেলপমেন্ট বেসিকস: সহজ ওয়েব পেজ তৈরি করতে ফ্রন্ট এন্ড টেকনোলজি এবং Backend সম্পর্কে শিখুন আমি এ বিষয় নিয়ে বিস্তারিত পোস্ট করেছি |
বছর 2:
1. অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং: অবজেক্ট-ওরিয়েন্টেড ধারণা, encapsulation, inheritance, and polymorphism সম্পর্কে আপনার বোঝার গভীরতা বাড়ান। জাভা বা C++ এর মতো প্রোগ্রামিং ভাষায় এগুলি প্রয়োগ করুন।
2. ডাটাবেস সিস্টেম: relational databases, SQL queries, and database design principles বিষয়গুলি শিখুন।
3. অপারেটিং সিস্টেম:processes, threads, memory management, and file systems সহ অপারেটিং সিস্টেমের বিষয়গুলি বুঝুন।
4. কম্পিউটার নেটওয়ার্ক: network protocols, IP addressing, routing, and network security সহ কম্পিউটার নেটওয়ার্কের বিষয়গুলি বুঝুন।
5. Software Engineering: software development lifecycle, version control systems, software testing, বিষয়গুলি শিখুন |
বছর 3:
1. Advanced Data Structures: হ্যাশ টেবিল, গ্রাফ, হিপস এবং এভিএল এবং বি-ট্রির মতো অ্যাডভান্সড ট্রি স্ট্রাকচারের মতো ডেটা স্ট্রাকচারে বিষয়গুলি শিখুন।
2. Algorithms and Complexity: dynamic programming, greedy algorithms, and network flow algorithms অ্যালগরিদমের মতো অ্যালগরিদমগুলি অধ্যয়ন করুন ৷ time and space complexity বিষয়গুলি শিখুন।
3. ডেটাবেস এবং বিগ ডেটা: উন্নত ডেটাবেস ধারণা, NoSQL ডেটাবেস, ডেটা মডেলিং এবং বড় আকারের ডেটা প্রক্রিয়াকরণ সম্পর্কে জানুন।
4. মেশিন লার্নিং এবং কৃত্রিম বুদ্ধিমত্তা: মেশিন লার্নিং অ্যালগরিদম, ডেটা প্রিপ্রসেসিং, মডেল মূল্যায়ন, এবং AI এর মূল বিষয়গুলি Research ধারণা অর্জন করুন।
5. কম্পিউটার আর্কিটেকচার: প্রসেসর ডিজাইন, মেমরি হায়ারার্কি এবং ইনপুট/আউটপুট সিস্টেম সহ কম্পিউটারের অভ্যন্তরীণ কাজগুলি বুঝুন।
বছর 4:
1. Specialization and Electives: ইলেকটিভ বেছে নিন এবং সাইবার সিকিউরিটি, ক্লাউড কম্পিউটিং, ডেটা সায়েন্স, ন্যাচারাল ল্যাঙ্গুয়েজ প্রসেসিং বা রোবোটিক্সের মতো ক্ষেত্রগুলিতে বিশেষজ্ঞ হন।
2. Capstone Project: আপনার জ্ঞান প্রয়োগ করতে, আপনার দক্ষতা প্রদর্শন করতে এবং বাস্তব-বিশ্বের সমস্যা সমাধানের কিছু রিয়েল লাইফ প্রজেক্ট করুন।
3. ইন্টার্নশিপ : বাস্তব-বিশ্বের প্রকল্পগুলিতে বাস্তব এক্সপোজার এবং কাজ করার জন্য ইন্টার্নশিপ সন্ধান করুন।
5. Research or Advanced Studies: গবেষণায় আগ্রহী হলে, গবেষণা প্রকল্পে কাজ করা, publishing papers বা কোনো বিশেষ ক্ষেত্রে স্নাতকোত্তর ডিগ্রি নেওয়ার কথা বিবেচনা করুন।
6. Professional Development: communication, teamwork, and leadership মতো দক্ষতার বিকাশের পাশাপাশি industry trends সাথে আপডেট থাকা দিকে মনোনিবেশ করুন।
👨💻 CSE শেখার জন্য বিনামূল্যে অনলাইন কোর্স
1. Introduction to Computer Science and Programming Using Python (MIT OpenCourseWare)
2. CS50's Introduction to Computer Science (Harvard University)
3. Introduction to Computer Science and Programming (Khan Academy)
4. Algorithms, Part I (Princeton University - Coursera)
5. Introduction to Artificial Intelligence (Stanford University - Coursera)
6. Database Systems Concepts and Design (Stanford University - Lagunita)
7. Introduction to Computer Networking (Stanford University - Lagunita)
👨💻 ভবিষ্যতের চাকরির জন্য আপনাকে যে বইগুলো CSE-তে বই পড়তে হবে
1. Introduction to the Theory of Computation" by Michael Sipser
2. "Algorithms" by Robert Sedgewick and Kevin Wayne
3. "Design Patterns: Elements of Reusable Object-Oriented Software" by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides
4. "Clean Code: A Handbook of Agile Software Craftsmanship" by Robert C. Martin
5. "Computer Networks: A Systems Approach" by Larry L. Peterson and Bruce S. Davie
6. "Operating System Concepts" by Abraham Silberschatz, Peter B. Galvin, and Greg Gagne
7. "Introduction to Data Mining" by Pang-Ning Tan, Michael Steinbach, and Vipin Kumar
8. "Artificial Intelligence: A Modern Approach" by Stuart Russell and Peter Norvig
9. "Introduction to the Math of Neural Networks" by Jeff Heaton
10. "The Pragmatic Programmer: Your Journey to Mastery" by Andrew Hunt and David Thomas
একটা জিনিশ সবসময় মাথায় রাখবেন যে সময় ইনভেস্টমেন্ট না করলে আপনি কখনও ওই জিনিসে ভালো কিছু পাবেন না আপনি যখনি কম সময়ের মধ্যে অনেক বড় কিছু জিনিস পাবেন অথবা পেতে যাবেন সেটা আপনার কাছে থাকবে না | ভালো কিছু পেতে চাইলে আপনাকে ইনভেস্টমেন্ট করতে হবে সেটা হোক সময় অথবা টাকা | Good Luck. 👨💻