আমরা সিএসইর শিক্ষার্থী, কিন্তু ধারনা করা হয় আমাদের প্রায় কয়েক হাজার শিক্ষার্থীর মধ্যে মাত্র ১০% জব মার্কেটের জন্য প্রস্তুত। যার একমাত্র কারণ প্রোগ্রামিং এ দুর্বলতা। ৪ বছর সময় পেয়েও এই দুর্বলতা অনেকই দূর করতে পারে না। ফলে চাকরির বাজারে গিয়ে বেশ বেগ পেতে হয়। এর জন্য প্রোগ্রামিং শিখার সুযোগের অভাব অনেক আংশেই দায়ি। আমরা এই সমস্যাটার মূলেই সমাধান করতে চাই। তাই আমাদের ইউনিভার্সিটির সিএসই ডিপার্টমেন্ট থেকে যাতে দেশের সেরা সেরা প্রোগ্রাম তৈরি হয় সেই লক্ষেই এই পদক্ষেপ। এই কন্টেস্টের মাধ্যমে তোমরা প্রোগ্রামিং সম্পর্কে ইউনিভার্সিটি জীবনের প্রথম থেকেই জানতে পারবে, চার বছর সময় নিয়ে নিজেকে প্রস্তুত করার গাইড লাইন পাবে, এবং সে অনুযায়ি চেষ্টাটা দিতে পারবে। কম্পিউটারের সাথে কথা বলার ভাষা হলো প্রোগ্রামিং। তাই কম্পিউটারের সাথে কথা বলতে জানে এমন একটি কর্মদক্ষ CSE স্টুডেন্টদের জেনারেশন তৈরির জন্য প্রথম এবং দ্বিতীয় সেমিস্টার এর শিক্ষার্থীদের নিয়ে এই আয়োজন করা হচ্ছে প্রতি সেমিস্টারে।
ফার্স্ট এবং সেকেন্ডসেমিস্টারের সিলেবাস সম্পর্কে আমাদের পুর্ণ ধারণা আছে এবং আমরা জানি যে তোমরা এখন মাত্র শুরু করেছো, তাই প্রোগ্রামিং সম্পর্কে তেমন কিছুই জানো না। কিন্ত প্রশ্ন হচ্ছে, এখন যদি জানা না শুরু কর তাহলে কবে থেকে করবে? আমাদেরর কন্টেস্টের নাম হলো "Take-off" কন্টেস্ট। এই নামকরনের একটা কারণ আছে । রানওয়েতে প্লেন যখন ঠিক উড়তে শুরু করে তখন বলা হয় প্লেনটি টেক-অফ করছে, অর্থাৎ উড়তে শুরু করেছে। এই কন্টেস্টির মাধ্যমে তুমি প্রোগ্রামিং এর ভুবনে প্রবেশ করবে, জানতে পারবে, শিখতে শুরু করবে, প্রোগ্রামিং এর ভুবনে তোমার উড়ে বেড়ানো শুরু হবে। ফার্স্ট সেমিস্টার থেকে যদি শুরু কর তাহলে প্রোগ্রামিং কন্টেস্ট এর পরিবেশ সম্পর্কে তোমার খুব আগ থেকেই একটা ধারণা থাকবে। ফলে সেকেন্ড সেমিস্টারে গিয়ে ভালো কিছু করে দেখানোর সুযোগ তোমার বেশী থাকবে। আর সেকেন্ড সেমিস্টারে যদি থাকো তাহলে তোমার এখনই 'প্রোগ্রামিং এন্ড প্রবলেম সলভিং' নামের একটি কোর্স আছে, তাই প্রোগ্রামিং এর সাথে তোমার পরিচয় ইতিমধ্যে ঘটে গেছে, কন্টেস্ট করা তোমার জণ্য তেমন কঠিন হবে না আর পাশাপাশি কন্টেস্টে এসে চ্যাম্পিয়ান হবার চান্সটাও তোমার বেশী। যত দেড়িতে শুরু করবে গন্তব্যে পৌছতে তত বেশী সময় লাগবে। তাই প্রথম থেকেই শুরু কর।
তুমি যদি কখন গাণিতিক সমস্যা সমাধান করে থাকো তাহলে প্রোগ্রামিং কন্টেস্ট জিনিসটাও সহজে বুঝবে। গাণিতিক সমস্যা সমাধানে একটি প্রবলেম দেয়া হয়, সেটা গণিত ব্যবহার করে সমাধান করতে হয়। আর প্রোগ্রামিং কন্টেস্টে তোমাকে সমস্যা দেয়া হবে কিন্তু সেটা প্রোগ্রামিং এর মাধ্যমে সমাধান করতে হবে। তোমার সমাধান যদি সঠিক হয় তাহলে সেটা গ্রহন করা হবে, আর যদি ভুল হয়ে তাহলে বলে দেয়া হবে যে তোমার প্রোগ্রাম সমস্যাটির সঠিক সমাধান দিতে ব্যর্থ হয়েছে। তখন আবার চেষ্টা করতে হবে। কন্টেস্ট শব্দের অর্থ হলো প্রতিযোগিতা। এখানে তুমি অন্যদের সাথে প্রোগ্রামিং এর মাধ্যমে প্রতিযোগিতা করছ। যে যত কম সময়ে সবচে বেশী প্রবলেম এর সমাধান দিতে পারবে সেই জয়ি হবে। তোমাকে পুরো কাজটিই কম্পিউটারের সামনে বসে করতে হবে। ৫-৭টা প্রবলেম তোমার স্ক্রিনে থাকবে, তোমাকে সেই কম্পিউটার ব্যবহার করেই যতদ্রুত সম্ভব সমস্যাগুলোর সমাধারন কোড করতে হবে এবং একটি ওয়েব সাইটে সাবমিট করতে হবে। সময় ৩ ঘণ্টা। সমাধান সঠিক হলে 'Accepted' লিখা উঠবে আর ভুল হলে 'Wrong answer' বা অন্য কিছু লিখা উঠবে। প্রত্যেক ভুল সাবমিশনের জন্য ২০মিনিটের প্যানাল্টি আছে। কে কত কম সময়ে, কম চেষ্টায় সলভ করলো তার ভিত্তিতে র্যানংকিং হবে।
প্রব্লেম গুলো কেমন হয় বুঝতে urionlinejudge.com.br এর প্রব্লেম গুলো কে ফরম্যাট ধরে নিতে পারো। অর্থাৎ প্রবলেম এর বর্ননা বা প্রবলেম স্টেটমেন্ট দেয়া থাকবে। কি ইনপুট দিলে কি আউটপুট আসা উচিত তা ডিটেইলসে দেয়া থাকবে। এক্সাম্পল হিসেবে এই প্রবলেমটি দেখতে পারো -
https://www.urionlinejudge.com.br/judge/en/problems/view/1001
* খেয়াল রাখার বিষয় হচ্ছে আউটপুট যে ফরম্যাট এ দিতে বলা হবে (স্যাম্পল আউটপুট এর মত), ঠিক সেই ফরম্যাটেই তোমার প্রোগ্রাম কে আউটপুট দেয়া লাগবে। অর্থাৎ একটা নিউ লাইন বা স্পেস ও বেশি বা কম প্রিন্ট করলে "Wrong Answer" ভার্ডিক্ট আসতে পারে।
কোনো সিলেবাস নেই, যেকোনো ধরণের প্রবলেম আসতে পারতে তবে তা অবশ্যই ফার্স্ট এবং সেকেন্ড সেমিস্টারের স্টুডেন্টদের কথা মাথায় রেখেই প্রবলেম সেট করা হবে। বেসিক প্রোগ্রামিং জানা থাকলেই হবে, কিন্তু খেলাটা আসলে বুদ্ধির সেটা মাথায় রাখতে হবে।
বই, খাতা, কলম, পেন্সিল এগুলো আনা যাবে। কোন রকম কোন ইলেক্ট্রনিক সরঞ্জামাদি ব্যবহার করা যাবে না, সাথে পাওয়া গেলে সাথে সাথে তাকে কন্টেস্ট থেকে ব্যান করে দেয়া হবে।
কন্টেস্টের দিন প্রত্যেক পার্টিসিপেন্ট কন্টেস্ট টিসার্ট পাবে, সাথে কন্টেস্টে স্যাঙ্কস এর ব্যবস্থা থাকবে। চ্যাম্পিয়ানদের সার্টিফিকেট এবং কাপ দেয়া হবে। সেমিস্টার শেষে কন্টেস্টে পার্টিসিপেট করা জন্য পার্টিসিপেন্টদের সার্টিফিকেট দেয়া হবে।
শুরু করার জন্যই এই কন্টেস্ট। তুমি যদি শুরু করার গাইড লাইন চাও তাহলে আমাদের ACM কমিউনিটির যেকোনো সিনিয়র ভাইয়্যাকে সরাসরি এসে জিজ্ঞেস করতে পারো। তারা তোমাকে গাইডলাইন দিয়ে দিবে। সবাই এক সময় ঠিক তোমার মতই ছিলো। সেখান থেকেই তারা উঠে এসেছে। তাই সবচে ভালো হয় ACM কমিউনিটির কোনো বড় ভাইয়্যাকে জিজ্ঞেস করা। তাদেরকে প্রশ্নবানে জর্জরিত করা। তারা তোমাকে হেল্প করার জন্য আন্তরিক ভাবে প্রস্তুত। তোমার শুধু জিজ্ঞেস করতে হবে।
আর কাউকে না চেনার কারনে যদি সেটা কষ্ট হয়ে যায় বা ACM community এর কাউকে বর্তমানে তোমার পক্ষে ধরা কঠিন হয়ে যাচ্ছে তাহলে প্রথম স্টেপ হিসেবে তামিম শাহরিয়ার সুবিন এর "কম্পিউটার প্রোগ্রামিং ১ম খন্ড" বইটি দিয়ে শুরু করে ফেলো। সহজ ভাষায় যথেষ্ট পরিমান এক্সাম্পল এবং এক্সরেসাইজ দিয়ে বইটি পরিপুর্ণ। যেকোনো নতুন প্রোগামারের শুরু করার জন্য এটা সাহায্য করবে। বইটির প্রথম ৫-৭টা চ্যাপ্টার পড়ে ফেললেই তুমি মোটামটি প্রস্তুত হয়ে যাবে। তবে চেষ্টাটা থাকবে সর্বোচ্চটা দেয়ার। তাই পুরো বইটিই পড়ার চেষ্টা করবে।
বই এর ওয়েবসাইটঃ cpbook.subeen.com.
শুধু বই পড়াই যথেষ্ট না আসলে। পড়া শেষ করে কিছু সহজ প্রবলেম সলভ করে ফেলা দরকার। সবচেয়ে ভালো হয় URI-এর বিগিনার সেকশন থেকে ১০০-এর মত সলভ করে ফেললে।
উত্তরঃ দুই ধাপে রেজিস্ট্রেশন করতে হবে।প্রথম ধাপঃ অনলাই রেজিস্ট্রেশন ফর্ম পূরণ করতে হবে। (লিঙ্ক ইভেন্ট পেইজে)
দ্বিতীয় ধাপঃ বুথে গিয়ে টাকা জমা দিয়ে রেজিস্ট্রেশন কর্নফার্ম করতে হবে।
প্রোগ্রামিং এর লজিক তোমার সারাজীবন কাজে লাগবে। আর এই কন্টেস্টের মাধ্যমে তুমি প্রোগ্রামিং জগতে প্রবেশ করবে। যদি তোমার প্রোগ্রামিং ভালো লাগে তাহলে তোমার জন্য পুরো ACM কমিউনিটি প্রস্তুত তোমার প্রোগ্রামিং ক্যারিয়ারকে গাইড করার জন্য। প্রোগ্রামিং নিয়ে আমাদের বিভিন্ন কার্যক্রমে তুমি সরাসরি সংপৃক্ত থাকার সুযোগ পাবে। ফ্রী ট্রেনিং, কোর্স এবং কন্টেস্টের সুযোগ থাকছে। আমারা চারটি ক্যাটাগরি প্রোগ্রামারদের ভাগ করি।
Green Division (যারা ব্যাসিক লেভেল এর প্রোগ্রামিং পারে)
Blue Division ( যারা URI Online Judge 200+ প্রবলেম সলভ করেছে। প্র্যাকটিস কন্টেস্ট এবং ট্রেনিং ক্লাসে পার্টিসিপেট করতে পারবে)
Yellow Division ( যারা ব্লু ডিভিশন কমপ্লিট করে এসেছে তাদের কন্টেস্টে আরো এগিয়ে নিয়ে যাবার জন্য এই লেভেলে ট্রেনিং দেয়া হবে )
Red Division ( সর্বোচ্চ লেভেলের প্রোগ্রামার )
প্রত্যেকটা ক্যাটাগরির স্পেসিফিক বৈশিস্ট আছে এবং ধিরে ধিরে এগুলো জানতে পারবে।
We are CSE students, but only about 10% of our few thousand students are ready for the job market. The only reason for this weakness is programming. Most people cannot eliminate this weakness even after getting 4 years of graduation. As a result, they face difficulty in the job market. Due to lack of opportunity to learn programming, this situation is getting worse. We want to solve this issue at the root. So this step is taken, to create the best programmers of this country from this University's CSE Department. Through this contest you will learn about the programming from the very beginning of your university life, you will get the guide line to prepare yourself for four years, and you can give your effort accordingly. The language of communication with the computer is programming. Therefore, in every semester this contest being organized for the first and second-semester students to create a generation of CSE students, who knows how to talk to the computer.
We have complete ideas about the first and second-semester syllabus and we know that you have just begun, so you don't know much about programming. But the question is, if you do not start now, when will you start? Our contest's name is "Take-off" Contest. There is a reason to name this. When a plane starts flying in the runway, it is said that the plane is taking-off, that is, it started flying. Through this contest you will enter the world of programming, you will start knowing, you will start learning, you will start flying in the world of programming. If you start from the first semester, then you will have an idea from the beginning about the environment of Programming Contest. As a result, you will have more chance to do something better in the second semester. And if you are in the second semester then you have a course called 'Programming and Problem Solving', so you are familiar with programming already, it will not be too hard for you as well as there is a huge chance of you being a champion in the contest. The longer you take to start, the longer it will take to reach your destination. So start now.
If you ever solved a mathematical problem, you will easily understand what is a programming contest. A problem is solved in solving mathematical problems, it needs to be resolved using mathematics. You will also be given problems in programming contest but it has to be resolved through your programming knowledge. If your solution is correct then it will be accepted, and if it is wrong then it will be said that your program failed to provide the right solution. So you have to try again. Contest means, it a competition. Here, you are competing with others with programming. You have to sit in front of the computer. 5-7 Problem will be on your screen, you will need to code the solution as soon as possible and submit it to a web site using that same computer. The time is 3 hours. If the solution is correct then 'Accepted' will be written and if incorrect, 'Wrong answer' will be written or something else. There are 20-minute penalties for every wrong submission. The one who solves most problems in lesser time will win the game and the ranks will be given accordingly.
You can take the format of urionlinejudge.com.br to understand how the problems are. This means that the description of the problem(problem statement) will be given. For what inputs, what should be the outputs, will be given. As an example, you can see the following problem.
https://www.urionlinejudge.com.br/judge/en/problems/view/1001
* Keeping in mind that the output format will have to be exactly like the format given. "Wrong Answer" verdict can come even if a new line or space is printed more or less.
There is no syllabus, any kind of problem may arise, but the problems will be set by keeping the first and second-semester students in mind. You can do well if you know basic programming. But remember the game if of logic.
You can bring books, notes, pen, and pencils. No electronic equipments are allowed, and if found, the contestant will be banned from the contest immediately.
On the Contest day every participant will get the contest T-shirt, and there will be a snack for everyone in contest time. The champions will get the certificate and cup. At the end of the Semester, certificates will be issued for participating in the Contest.
This contest is aimed to up and running. If you want a guideline to start then you can ask any senior brother of our ACM Community directly. They'll give you a guideline on your preference. Everyone was just like you at one time. From there they got up. So it is best to ask an elder of the ACM community. They are ready to help you. You just have to ask.
If you don't know anyone of the ACM community, or is facing difficulties to reach them, then you can start with the book of Tamim Shahriar Subeen, named "Computer Programming Volume-1" as a first step. The book is complete and filled with a fair amount of examples and exercise. It will help any new programmer to start their journey. If you read the first 5-7 chapters of the book, you will be well prepared for the contest. But the effort will be to give your maximum. So try to read the entire book before the contest.
The book's website: cpbook.subeen.com.
The registration process has two phases:
Phase 1: Complete the google registration form.(Form link will be given on event page)
Phase 2: Submit the registration fees on registration booth.
The logic you develop through programming will be used through out your lifetime. Through this contest, you will enter the programming world. If you like programming, then the whole ACM community is prepared for you to guide your programming career. You will have the opportunity to be directly involved in our activities with programming. There will free training, courses, and contests offered for you. We divide our programmer into four levels.
- Green Division (Beginner level programmer)
- Blue Division (Who has solved the URI Online Judge 200+ Problems, Privileged to participate in practice contest and training classes)
- Yellow Division (Those who have finished the requirements of Blue Division. They will be trained at this level to take their skill to the next level)
- Red Division (Top level programmer)
Each level has specifics criteria and opportunity. You will gradually find out about them.