আপনি সবচেয়ে জটিল সিএস বিষয় / তত্ত্বটি যা পড়াশুনা করেছেন তবে ক্ষেত্রটির পক্ষে গুরুত্বপূর্ণ? এবং কারণ দয়া করে?
আপনি সবচেয়ে জটিল সিএস বিষয় / তত্ত্বটি যা পড়াশুনা করেছেন তবে ক্ষেত্রটির পক্ষে গুরুত্বপূর্ণ? এবং কারণ দয়া করে?
উত্তর:
"কম্পিউটার বিজ্ঞানে 2 টি সমস্যা রয়েছে: ক্যাচিং, নামকরণ এবং বাই -1-এর ত্রুটি"
সত্য, সংকলক নির্মাণ!
অ্যালগরিদমের ডিজাইন এবং বিশ্লেষণ
আমি মনে করি যে প্রশ্নটি আপনার যে শিক্ষক ছিলেন এবং তার বিষয়টি আপনার কর্মজীবনে কীভাবে সংগঠিত হয়েছিল তার উপর নির্ভর করে।
অ্যালগরিদমগুলি বিশ্লেষণ করা যেমন কেউ চান তত কঠিন হতে পারে। অমীমাংসিত সমস্যা আছে এবং কেবল তা নয়: সমস্যাগুলিও সমাধান করা যায় না তা বিবেচনা করুন।
জিনিসটি হ'ল আপনার কোনও সমস্যা হতে পারে এবং আপনি যদি জানেন তবে এটি সমাধান করা যায় না তবে এটি সঠিক। তবে কি না করলে? আপনি এটি এনপি-সম্পূর্ণরূপে প্রদর্শনের চেষ্টা করার জন্য, বা সমাধানের জন্য বহু-সময় সমাধান সমাধানের চেষ্টা করে অনেক সময় ব্যয় করতে পারেন।
এনপি-কমপ্লিটনেস প্রদর্শন করা সহজ নয়। হ্যাঁ, প্রচুর সমস্যা জানা যায়, তবে বিষয়টি হ'ল এটি হ'ল এনপি-সম্পূর্ণ rate এবং যদি আপনি প্রচুর ঘন্টা / দিন / মাস এটি প্রদর্শনের চেষ্টা করে ব্যয় করেন এবং এটি বহুগুণে সমাধান করা যায় তবে কী হবে? :)
অন্যান্য বিষয়গুলিও রয়েছে, যেমন সংকলক , গ্রুপ তত্ত্ব এবং আদিম পুনরাবৃত্ত ফাংশনগুলি যা বিষয় পরিকল্পনা বা শিক্ষক চান তত কঠিন হতে পারে;)
প্যাটার্ন রিকগনিশন অর্থাৎ কৃত্রিম বুদ্ধিমত্তা। এটি অন্যান্য প্যাটার্ন সনাক্তকরণ সরঞ্জামগুলির মতো স্মার্ট কম্পিউটিংকে বোঝায় যেমন, অপটিক্যাল চরিত্রের স্বীকৃতি, পাঠ্যকে ভয়েস, মুখের শনাক্তকরণ ইত্যাদি to
আপনি যে "দুর্দান্ত" জিনিসগুলি করতে পারেন বা কম্পিউটারগুলি আপনি এই অ্যালগরিদমের উপর নির্ভর করতে পারেন তা করতে চান এবং আমরা কয়েক দশক ধরে এগুলি নিখুঁত করার চেষ্টা করে চলেছি পুরোপুরি সফলতা ছাড়াই।
আমার বাছাই হ'ল কম্পিউটাবলি তত্ত্ব
(হুঁ ... সম্ভবত এটি গুরুত্বপূর্ণ নয়, তবে এটি নিশ্চিত ছিল যে কঠিন ছিল)
কম্পিউটার বিজ্ঞানে কেবল দুটি কঠিন সমস্যা রয়েছে: ক্যাশে অবৈধকরণ এবং নামকরণের জিনিস। - ফিল কার্লটন
বিভাগ তত্ত্ব (পৃথক গণিত), তবে এটি মূল্যবান
ক্রিপ্টোগ্রাফি
আপনি যদি এটি কিছুটা ভুল করেন তবে এটির জন্য কয়েক মিলিয়ন কোম্পানির ব্যয় হতে পারে।
অপারেটিং সিস্টেমগুলি, বিশেষত অংশটি থ্রেডিংয়ের সাথে কিছু করার আছে।
এবং কারণটি নয় কারণ 5 টি দার্শনিক একটি কাঁটাচামচ দিয়ে পিজ্জা খেতে বাধ্য করেছিলেন। এর কারণ হ'ল বহু-বিস্তৃত কোড লেখার পক্ষে এবং এটি নিজের পক্ষে কঠিন এবং অগত্যা মানুষের (কমপক্ষে পুরুষ - আমার স্ত্রী অনুসারে) মনকে গণনা করা সহজ নয়।
আমিও কম্পাইলার ডিজাইনের পক্ষে ভোট দিই। বিশেষত যেখানে ডিএফএ এবং এনএফএ অংশ আসে। আমি এনপি সমস্যা এবং স্টাফ সম্পর্কেও এতটা পরিষ্কার নই।
ভাল প্রযুক্তিগতভাবে এটি গণিতের একটি শাখা, তবে সিএসে এটি অত্যন্ত প্রাসঙ্গিক।
সিএসের প্রায় প্রতিটি জিনিসই সারি (দৃশ্যমান (স্পষ্ট) এবং অদৃশ্য (এত স্পষ্ট বা আবদ্ধ নয়) এর উপর ভিত্তি করে।
সিএসের প্রথম দিনগুলিতে সারিগুলি স্পষ্ট ছিল।
প্রোগ্রামগুলির একটি সারি (প্রতিটি প্রোগ্রাম কার্ডের একটি ডেক)।
আজকাল সারিগুলি এত স্পষ্ট হয় না। উদাহরণস্বরূপ ইন্টারনেট: একটি প্যাকেট সুইচড নেটওয়ার্ক, তবে প্যাকেটগুলি সারি তৈরি করে এবং প্যাকেটগুলিকে রাউটিং করা একধরনের কিউ মিনিমাইজেশন of
আপনি অবশ্যই খেলনা খেলাগুলির সমস্যার ক্ষেত্রে খুব বেশি কঠিন নন, তবে একবার আপনি বাস্তব সমস্যা বিবেচনা শুরু করলে এটি মারাত্মক কৌতূহলে পরিণত হয়।
যখন ক্লায়েন্ট সত্যই জানেন না যে তারা কী চান তা ক্লায়েন্টের প্রয়োজনীয়তার ব্যাখ্যা করে। এটি কলেজে পড়ানো হয় না, এবং এটি সবচেয়ে প্রয়োজনীয় দক্ষতার মধ্যে একটি।
ব্যক্তিগতভাবে, আমার ছিল ফর্মাল লজিক। এটি শুরু করা শক্ত ছিল, তবে একবার আপনি নিয়মগুলি হ্রাস পেয়ে যথেষ্ট পরিমাণে এটি পরিচালনা করতে পারলে আপনার মস্তিষ্ক চলে যায় Logic++;
, যা বিকাশে খুব ভাল জিনিস।
পার্শ্ব-নোট হিসাবে, আমি সরাসরি প্রশ্নের উত্তর দিচ্ছি - আমার ডিগ্রিটি করার সময় এটি অবশ্যই খুব কঠিন বিষয় ছিল না, তবে এটি সম্ভবত "সত্যিকারের বাস্তব জীবনের প্রয়োগযোগ্য" বিষয় ছিল।
সংকলক নির্মাণ। শক্ত কিন্তু পিছনে ধারণাগুলি বুঝতে হবে
কার্নেল ডিজাইন কারও? ঠিক আছে, আমি জানি না এটি কীভাবে হয়েছে এবং কোনও ওএসের জন্য লক্ষ্যযুক্ত বৈশিষ্ট্যগুলি কী, তবে আমার কাছে কার্নেল ডিজাইনের কথা চিন্তা করা অবশ্যই একটি কঠিন কাজ হতে হবে।
আমি কম্পিউটার সুরক্ষা সম্পর্কেও ভাবি ; আমি অবশ্যই জানি না কোন সিস্টেমটি অবশ্যই অনিরাপদ করে তোলে, স্পষ্টত বাফার ওভারফ্লো, এক্সএসএস এবং এসকিউএল ইঞ্জেকশনগুলি ব্যতীত।
আমি নিশ্চিত নই, তবে মনে হচ্ছে কিছু অ্যালগরিদমগুলিও অনিরাপদ; মেটাস্প্লিট প্রকল্পটি দেখুন, এটিতে সমস্ত ধরণের এবং সুরক্ষা লঙ্ঘনের ধরণের তালিকা রয়েছে: আপনি দেখতে পাচ্ছেন যে কোনও প্রোগ্রামের ত্রুটিযুক্ত হতে পারে এমন অনেকগুলি উপায় রয়েছে।
ক্ষেত্রটিতে অনেকগুলি বিশ্রী বিষয় রয়েছে, তবে নিরন্তর অবিরাম অসুবিধার জন্য আমার পছন্দগুলি হ'ল গ্লোবাল সিস্টেম বৈশিষ্ট্যগুলি জড়িত । এই সাধারণ বিষয়ের উদাহরণগুলির মধ্যে রয়েছে:
এগুলি কঠিন কারণ আপনি এমন কিছু পরে যা কেবল তখনই উপস্থিত থাকে যখন সবকিছু ঠিক থাকে; আপনার একটি গ্লোবাল সিস্টেমের সম্পত্তি প্রয়োজন এবং তবুও কার্যত সমস্ত সরঞ্জাম উপলব্ধ (এবং আমার অভিজ্ঞতায় বাস্তব সমস্যার জন্য স্কেল করা সমস্ত ) কেবলমাত্র স্থানীয় যুক্তিই করে। প্রোগ্রামটির টুকরোগুলি সম্পর্কে সম্পূর্ণ শেবাংয়ের পক্ষে বিতর্ক করা কঠিন, বাগগুলি অনাকাঙ্ক্ষিত উত্থাপূর্ণ বৈশিষ্ট্য হতে পারে ...
ম্যানেজমেন্ট ইনফরমেশন সার্ভিসেস
আমার কলেজের সময়কালে আমার প্রতিটি সেমিস্টারে একটি করে ম্যানেজমেন্ট সাবজেক্ট থাকত যা আমাকে পুরোপুরি পাগল করে তুলেছিল।
শক্ত! সংকলক ডিজাইন , ওএস ডিজাইন ইত্যাদির মতো বিষয়গুলি শক্ত তবে তারা সত্যই আকর্ষণীয় এবং চ্যালেঞ্জিং। আমি ম্যানেজমেন্ট ইনফরমেশন সিস্টেম / সার্ভিসেস ইত্যাদির মতো বিষয়গুলিতে সত্যিই গোলমাল করেছি কারণ তারা একঘেয়েমি পূর্ণ এবং আপনাকে প্রচুর তত্ত্বের মধ্য দিয়ে যেতে হবে।
আপনি যদি সি / সি ++ পয়েন্টারে কাজ করছেন তবে তা জানা সবচেয়ে গুরুত্বপূর্ণ ধারণা। তবে কোনওভাবেই আমি কলেজটিতে এটি পুরোপুরি বুঝতে পারি নি।
অ্যালগরিদমের নকশা এবং বিশ্লেষণ। এটি এতটা নয় যে পরিচিত অ্যালগরিদমগুলি বোঝা এবং বিশ্লেষণ করা শক্ত নয় , এটি হ'ল কঠিন সমস্যার জন্য নতুন অ্যালগরিদমগুলির নকশা করা এবং বিশ্লেষণ করা কঠিন এবং এর জন্য অনেকগুলি ক্ষেত্রের বিস্তৃত বোঝার প্রয়োজন এবং বিভিন্ন কৌশল প্রয়োগের অনুশীলন প্রয়োজন।
আপনি সবচেয়ে জটিল সিএস বিষয় / তত্ত্বটি যা পড়াশুনা করেছেন তবে ক্ষেত্রটির পক্ষে গুরুত্বপূর্ণ?
স্বতন্ত্র গণিত
এটি কঠিন ছিল কারণ তত্ত্বগুলি একে অপরের সাথে খুব শিথিলভাবে সম্পর্কিত তবে সেগুলি সিএসে ব্যবহৃত হয়। খুব বেশি মুখস্ত করে আমি অনুমান করি ...
আনয়ন দ্বারা প্রমাণ, বড় হে, পুনরাবৃত্তি, বিভাজন এবং বিজয়, গ্রাফ থিওরি, ব্লাহ ব্লাহ .. আর!
আমার জন্য সংকলক সহজ ছিল, কারণ আমাদের অটোমাতার থিওরি নিতে হয়েছিল। ^^
আমি আপনার উত্তরগুলি পছন্দ করি (এবং আমি সেগুলি সংশোধন করতে ভুলিনি) যেমন সংকলক, কার্নেল ইত্যাদি, তবে বেশিরভাগ প্রোগ্রামার কখনও এই সমস্যাগুলির মুখোমুখি হয় নি। এখানে কিছুটা সহজ, তবে আরও সাধারণ সমস্যা রয়েছে: সমঝোতা - থ্রেড, লক করা। এমন কোনও প্রোগ্রাম লিখতে খুব সহজ যা জাদুকরী ত্রুটিগুলি তৈরি করে, যদি আমরা একযোগে আর্কিটেকচারে একটি ছোট বাগও করি।
সুতরাং, আমি বলছি, এটি কম্পিউটিংয়ের ক্ষেত্রে সবচেয়ে কঠিন সমস্যা নয়, তবে এটি সাধারণত ব্যবহৃত হওয়ায় এটি একটি বিপজ্জনক।
অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং
এটি সম্ভবত কারণ আমি ফোরট্রান এবং এপিএলে আমার দাঁত কেটেছি, তবে কঠোর পদ্ধতিগত ভাষাগুলি থেকে অবজেক্টগুলিতে স্থানান্তর এমন একটি বিষয় যা আমি বছরের পর বছর ধরে संघर्ष করেছি। এটি তথাকথিত বিশেষজ্ঞরা কোন বিষয়বস্তুমুখী হওয়ার অর্থ এবং অবজেক্ট ওরিয়েন্টেড প্রোগ্রামগুলি গঠনের সেরা / যথাযথ উপায়গুলির বিষয়ে বিরোধী নিবন্ধ এবং টিউটোরিয়াল লিখতে সহায়তা করে না।