তাত্ত্বিক সিএস এবং গণিত - স্ব-অধ্যয়নের সুপারিশ


14

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

  • আচ্ছাদিত বিষয়গুলির সম্পূর্ণতা (দয়া করে আমার যে কোনও কিছু মিস হয়েছে তার প্রস্তাব দিন)
  • আচ্ছাদিত / ওভারকিল ক্ষেত্রের সামগ্রীর ওভারল্যাপ (দয়া করে বইগুলি তালিকা থেকে বাদ দেওয়া উচিত)
  • বইগুলি অধ্যয়নের আদেশ (আমি সেই ক্রমে তালিকাভুক্ত করেছি যা আমার মনে হয় সেগুলি অধ্যয়ন করা উচিত)

তালিকাটি অত্যধিক দীর্ঘ অনুভব করে, তাই সিএসের জন্য প্রয়োজনীয় জ্ঞানের ক্ষতি না করে কিছু বই মুছে ফেলার জন্য আমি প্রস্তাবনার প্রশংসা করব।

সুতরাং, বইগুলি হল:

  1. ডাব্লুডাব্লু সাওয়েরের গাণিতিকের আনন্দ
  2. এটি কীভাবে প্রমান করবেন: ড্যানিয়েল জে ভেলম্যানের স্ট্রাকচার্ড অ্যাপ্রোচ
  3. এটি কীভাবে সমাধান করবেন: জি পোলিয়া দ্বারা গাণিতিক পদ্ধতির একটি নতুন দিক
  4. গ্রেগ মাইকেলেলসন দ্বারা ল্যাম্বডা ক্যালকুলাসের মাধ্যমে ক্রিয়ামূলক প্রোগ্রামিংয়ের পরিচিতি
  5. আল আহো এবং জেফ উলম্যান দ্বারা কম্পিউটার বিজ্ঞানের ভিত্তি (http://i.stanford.edu/~ullman/focs.html)
  6. কংক্রিট ম্যাথমেটিক্স: গ্রাহাম, নুথ এবং পাতাসনিকের কম্পিউটার বিজ্ঞানের জন্য একটি ফাউন্ডেশন
  7. মাইকেল সিপসার লিখেছেন থিওরি অফ কম্পিউটেশন পরিচয়
  8. জন ই। হপকক্রফ্ট, রাজীব মোতওয়ানি, জেফ্রি ডি। ওলম্যান দ্বারা অটোমাতা থিওরি, ভাষা এবং গণনার পরিচয়
  9. গণনামূলক জটিলতা: ওডেড গোল্ডরিচের একটি ধারণামূলক দৃষ্টিভঙ্গি
  10. গণনামূলক জটিলতা: সঞ্জীব অরোরা, বোয়াজ বারাকের একটি আধুনিক পদ্ধতি
  11. জেএইচ ভ্যান লিন্ট, আরএম উইলসনের সমন্বিত সংস্থায় একটি কোর্স
  12. সংযোগযোগ্যতা: নাইজেল কাটল্যান্ডের দ্বারা রিকার্সিভ ফাংশন তত্ত্বের একটি ভূমিকা
  13. কম্পিউটার এবং আন্তঃব্যক্তিত্ব: এমআর গ্যারে, ডিএস জনসনের থিওরির এনপি-কমপ্লিটেন্সির একটি গাইড
  14. হার্টলি রজার্স কর্তৃক পুনরাবৃত্ত ক্রিয়াকলাপ এবং কার্যকর গণ্যতার তত্ত্ব
  15. জি এইচ হার্ডি, জে লিটলউড, জি পোল্যা দ্বারা অসাম্য
  16. গাণিতিক যুক্তি: অনুশীলন সহ একটি কোর্স (প্রথম খণ্ড): প্রোপোজেনশনাল ক্যালকুলাস, বুকিয়ান বীজগণিত, রেনি কোরি, ড্যানিয়েল ল্যাসার প্রেডিকেট ক্যালকুলাস
  17. গাণিতিক যুক্তি: অনুশীলন সহ একটি কোর্স (দ্বিতীয় খণ্ড): পুনরাবৃত্তি তত্ত্ব, গডেলের উপপাদ্য, সেট থিওরি, রেনি কোরির মডেল থিওরি, ড্যানিয়েল ল্যাসার

এই প্রশ্নের যোগ করুন cstheory.stackexchange.com/questions/3253/...
Bartosz Przybylski

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

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

@ আজেদ: আপনি কি কিছু গাণিতিক বইয়ের পরিবর্তে তালিকায় # 5 বইটি শুরু করার পরামর্শ দিচ্ছেন # 1-4? আমি বিশ্বাস করি যে # 5 অ্যালগরিদম এবং ডেটা স্ট্রাকচারকে মৃদু পরিচয় দেয়।
CSLover

এখানে খুব বেশি আমি কেবল একটি বাছাই করে যাব, তারপরে আপনি যখন সেখানে পৌঁছবেন তখন কী হবে তা নিয়ে চিন্তা করুন। আমি সিপসরকে সিএসের ভিত্তিতে দৃ background় ব্যাকগ্রাউন্ড চায় এমন একটি শিক্ষানবিসকে শুরু করার পরামর্শ দিতে পারি।
usul

উত্তর:


10

আপনার তালিকাটি অত্যন্ত সমস্যাযুক্ত।

শুরু করার জন্য, আমি 6,11,12,14,15,16,17 বইগুলি স্পষ্টভাবে এড়িয়ে যাব: 6,11 এবং 15 টি সাধারণ গণিত যা আপনি তাত্ত্বিক গবেষক না হয়ে গেলে সত্যই প্রয়োজন হয় না । বই 12 এবং 14 কভার পুনরাবৃত্তি তত্ত্ব যা কম্পিউটার বিজ্ঞান নয় (যদিও এটি কম্পিউটারের সাথে সামঞ্জস্য করে!)। 16 এবং 17 টি বই যুক্তিবিদ্যায় উন্নত বিষয়গুলি কভার করে, যেখানে আপনাকে কেবল খুব প্রাথমিক লজিকটি জানতে হবে।

1,2,3 বইয়ের মধ্যে আমি গণিত এবং প্রমাণগুলির সাধারণ পরিচয় হিসাবে কেবল একটিকে বেছে নেব would

বই 5,7,8,9,10,13 বিভিন্ন বিষয় কভার করে: অটোমাতা তত্ত্ব, অ্যালগরিদম এবং জটিলতা তত্ত্ব theory আমাকে প্রস্তাব দেওয়া যাক আপনি অটোমাটা তত্ত্ব এবং জটিলতা তত্ত্বের জন্য সিপসার (বই 7) অনুসরণ করুন, এবং অ্যালগরিদমের জন্য কর্পেন, লিজারসন, রিভেস্ট এবং স্টেইন ("সিএলআরএস") দ্বারা অ্যালগরিদমগুলির পরিচিতি অনুসরণ করুন।

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

সংক্ষিপ্তসার: আপনি যা রয়েছেন তা হ'ল

  • ৩-৩ টি বইয়ের একটি (বা "প্রমাণের সাথে কোনও তুলনামূলক" পাঠ্য)
  • CLRS
  • বই 4 (কার্যকরী প্রোগ্রামিং)
  • বই 7 (অটোমেটা তত্ত্ব এবং জটিলতা তত্ত্ব)

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

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

5

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

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


ঠিক আছে. আমি আপনার প্রতিক্রিয়া প্রশংসা করি। আপনাকে অনেক ধন্যবাদ.
সিএসলভার

2

আপনি যে রেফারেন্সগুলির পরামর্শ দিচ্ছেন এটি একটি "খুব" তাত্ত্বিক কম্পিউটার বিজ্ঞানী তৈরি করবে। তবে আপনি যদি নন-সিএস ডিগ্রি থেকে থাকেন তবে আমি সত্যই এই বইগুলি পড়তে কোনও লাভ খুঁজে পাই না। এটি অবশ্যই আপনার প্রয়োজনীয়তার উপর নির্ভর করে।

আমি কিছু বই যেমন 14, 15, 16, 17 বইয়ের বিজ্ঞানীদের উদ্দেশ্যে নয় find বই 3 ভার্বোস হয়। এটি যে কোনও শিক্ষার্থীর পক্ষে সাধারণ। সুতরাং আমি ধরে নিই যে বই 1 এবং 2 একই রকম are

আমার জন্য - আপনার একই অবস্থাটি মূলত কম্পিউটার বিজ্ঞানী হিসাবে নয় (বরং পরিবর্তে বৈদ্যুতিন / কম্পিউটার প্রকৌশলী) - আমি দুটি প্রাথমিক দিক প্রস্তাব করছি:

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

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

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

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

  • সম্ভাবনার একটি বাজি (সর্বদা প্রয়োজনীয়)। এটি আকর্ষণীয় যে বিজ্ঞানের অনেকগুলি ক্ষেত্র সম্ভাব্যতা ব্যবহার করে না। তবে বিশ্বাস করুন, আপনাকে যা জানার দরকার তা হল মূল বিষয়গুলি।

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

আহো এবং ওলম্যান ভাল (আসলে ওলমানের সমস্ত বই ভাল)। সংকলক ডিজাইনের সাথে নিজেকে আরামদায়ক করুন (দেখুন http://infolab.stanford.edu/~ullman/ullman-books.html )।

এর পরে: এটি সমস্ত কি আপনি করতে চান তার উপর নির্ভর করে। বিভিন্ন দিক আপনি নিতে পারেন: ১) ডাটাবেসগুলি, ২) প্যাটার্নের স্বীকৃতি এবং ডেটা মাইনিং, ৩) বিতরণিত অ্যালগরিদম, ৪) প্রোগ্রামিং ভাষার ভিত্তি, ৪) এলোমোরিজ এলোমেলোথ এবং অন্যান্য অনেকগুলি। [যার প্রত্যেকটিরই অন্য একটি পোস্টের প্রয়োজন] তবে সমস্ত সম্পর্কে ধারণা রাখার চেষ্টা করুন!

* সাধারণ ধারণা: আপনি যদি সিএসে নতুন হন, তবে যথাসম্ভব অনেকগুলি সিএস সাব-ডোমেন দিয়ে নিজেকে আরামদায়ক করুন। নিজেকে "তত্ত্ব" এ সীমাবদ্ধ করা আপনাকে সিএস সৃজনশীলতার অনেকটাই হারাবে! * (আমার মতামত)


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

সব ভাল মন্তব্য। আমার লক্ষ্য একটি সম্পূর্ণ স্ব-অধ্যয়ন প্রোগ্রাম ডিজাইন করা এবং এই প্রশ্নটি কেবলমাত্র প্রোগ্রামের একটি অংশের সাথে সম্পর্কিত, যা আমি মনে করি যে এটির আয়োজনটি সবচেয়ে চ্যালেঞ্জক। অন্যান্য ক্ষেত্রগুলির মধ্যে রয়েছে: ডেটা স্ট্রাকচার এবং অ্যালগরিদম, কম্পিউটার আর্কিটেকচার, অপারেটিং সিস্টেম, নেটওয়ার্কিং, সুরক্ষা এবং ক্রিপ্টোগ্রাফি, সমান্তরালতা, আনুষ্ঠানিক পদ্ধতি, কৃত্রিম বুদ্ধিমত্তা, গ্রাফিকস এবং সিমুলেশন, ডাটাবেস, প্রোগ্রামিং ল্যাঙ্গুয়েজ, সংকলক, সফটওয়্যার ইঞ্জিনিয়ারিং এবং শেষ পর্যন্ত ইউনিক্স দর্শন ও প্রশাসন। এগুলির বেশিরভাগ আমার মনে হয় সিএসের পক্ষে বেশ মৌলিক, তবে একটি পৃথক প্রশ্নের ওয়ারেন্ট দেবে
সিএসলওভার

আপনার সেরা কৌশলটি অ্যালগরিদম ডিজাইন এবং বিশ্লেষণের একটি শক্তিশালী ভিত্তি। - প্রতিটি অন্যান্য ক্ষেত্র হল অ্যালগরিদম ডিজাইন এবং বিশ্লেষণের একটি উপ-ক্ষেত্র।
এজেড

আপনি কি দয়া করে স্পষ্ট করবেন যে কোন সেজউইক অ্যালগরিদম বইটি আপনি সুপারিশ করেছেন? তাঁর একটি "অ্যালগরিদম" নামে পরিচিত তবে এটি কোনও সিরিজ নয়। তাঁর কাছে "সি ++ এ অ্যালগরিদম" (বা অন্যান্য ভাষাগুলি) রয়েছে যা মোট 5 টি অংশ নিয়ে আমি বিশ্বাস করি 2 টি বই।
CSLover

আমি যেটি ব্যবহার করেছি সে হ'ল সি ++ টি। যদিও আমি সেগুলি রেফারেন্স হিসাবে ব্যবহার করেছি। এটি তাঁর ওয়েবসাইট cs.princeton.edu/~rs
এজেড
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.