আমি কীভাবে আমার সমস্যা সমাধানের ক্ষমতা উন্নত করতে পারি?


50

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

জটিল প্রোগ্রামিং সমস্যাগুলি মোকাবিলায় আমার দক্ষতা উন্নত করতে আমি কী করতে পারি? আপনার জন্য কোন কৌশলগুলি কাজ করেছে? অ্যালগরিদম বা ডিজাইনের নিদর্শনগুলির মতো আমার কি নির্দিষ্ট ক্ষেত্রগুলিতে ফোকাস করা উচিত?


3
কোড কমপ্লিটে উল্লিখিত দুটি দরকারী বই হ'ল : জেমস অ্যাডামসের কনসেপ্টুয়াল ব্লকবাস্টিং , এবং অ্যাডওয়ার্ড ডি বোনোর লেটারাল থিংকিং
ম্যাকটাইলার

1
আহ! আমি যখন এখানে কিছু উত্তর ছিল তখন ফিরে এখানে পোস্ট করতে ভুলে গিয়েছিলাম।
সি সি

উত্তর:


25

কয়েকটি techiques যা সম্ভবত কাজ নাও করতে পারে:

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

শেষ পয়েন্টটি দুর্দান্ত। কখনও কখনও সমস্যার সমাধানের সমাধান হ'ল বেশিরভাগ ক্ষেত্রে এটি কাজ করা এবং তারপরে এটি কোথায় উন্নত করা দরকার তা দেখুন।
জেফো

4
তবে, সচেতন থাকুন যে "আমি এটি স্থির করেছি" এর "আমি এটি ঠিক করেছি" এর সংখ্যার পরিমাণ (কমপক্ষে আমার অভিজ্ঞতায়) ভগ্নাংশগতভাবে ছোট।
গ্যারেথ

3
গ্যারেথ: সত্য, তবে ধারণাটি এটি পরের সপ্তাহে, পরের মাসে বা যখনই হবে না, তবে তা কাজ করার পরে অবিলম্বে। এটি শক্ত বাদাম ফাটানোর পদ্ধতি হিসাবে বোঝানো হয়েছে।
ব্যবহারকারী 281377

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

1
গীক: আমি জানি যে # 4 কিছুটা বিপরীতে শোনাচ্ছে তবে কখনও কখনও এটি সত্যই আমার পক্ষে কাজ করে; বিশেষত এমন পরিস্থিতিতে যেখানে একাধিক পন্থা সম্ভব বলে মনে হয় এবং সমস্যা হল সেই পদ্ধতির মধ্যে একটির নির্বাচন। # 6 এর অর্থ হল আমাদের পেশায় সাধারণ ডোনट्स দ্বারা খুব বেশি সীমাবদ্ধ নয়। অনেক সময় আমাদের "গ্লোবাল ভেরিয়েবল এড়ানো" এর মতো অভ্যন্তরীণ নিয়ম রয়েছে যে পর্যন্ত আমরা অসচেতনভাবে এই জাতীয় প্রত্যাখাত কৌশল ব্যবহার করে এমন প্রতিটি সমাধান প্রত্যাখ্যান করি।
ব্যবহারকারী 281377

20

প্রয়োজন অনুযায়ী আর-মোড বা এল-মোড চিন্তাভাবনা ব্যবহার করুন

আর-মোড হ'ল সৃজনশীল, অ-মৌখিক পদ্ধতির যা আমরা সাধারণত সাবকনচিসের সাথে সংযুক্ত করি। এল-মোড হল আপনার "অভ্যন্তরীণ কণ্ঠস্বর" এর সাথে সম্পর্কিত লিনিয়ার, যৌক্তিক, মৌখিক পদ্ধতির।

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

কীভাবে আর-মোড চিন্তাভাবনা অ্যাক্সেস করবেন

অনেকগুলি উপায় রয়েছে তবে সম্ভবত পয়েন্ট কেয়ার পদ্ধতিটি চেষ্টা করুন (বিখ্যাত গণিতজ্ঞের নাম অনুসারে)।

সমস্যার বিষয়ে আপনার জানা সমস্ত কিছু লিখুন। অবিলম্বে এর এর সহজ দিকগুলি সমাধান করুন (যদি থাকে)। থাকা "কঠিন সমস্যা" তালিকা থেকে একটি আইটেম বাছুন এবং তারপরে হাঁটার উদ্দেশ্যে রওনা হোন যেখানে আপনাকে বিরক্ত বা বিচলিত করা হবে না।

হাঁটার সময় সমস্যাটি বিশ্লেষণ করার চেষ্টা করবেন না, কেবল আপনার মনকে ঘুরতে দিন এবং সমস্যার সাথে সম্পর্কিত হতে পারে এমন আকর্ষণীয় চিত্র বা সংবেদনগুলি পর্যবেক্ষণ করুন। তাদের একত্রিত করা যাক। যদি অনুপ্রেরণা আঘাতগুলি অবিলম্বে হাঁটা বন্ধ করে দেয় এবং আপনার অর্জিত অন্তর্দৃষ্টি লিখতে ফিরে আসে।

সমস্ত সমস্যার অন্তর্দৃষ্টি না হওয়া পর্যন্ত ধুয়ে ফেলুন এবং পুনরাবৃত্তি করুন। তারপরে অন্তর্দৃষ্টি অন্বেষণ শুরু করুন।

বইয়ের সুপারিশ

প্র্যাকমেটিক থিংকিং এবং লার্নিং পড়া আপনাকে আরও ভাল সমস্যার সমাধান করতে সাহায্য করতে পারে। (আমি মনে করি এই বইটি সম্প্রতি অনেকটা উল্লেখ করছি ...)


4
ব্যবহারিক চিন্তাভাবনা এবং শেখা দুর্দান্ত ছিল
ব্র্যাড কাপিট


17

অন্য কাউকে জিজ্ঞাসা করে নাও...

গুরুতরভাবে না. আপনার সবচেয়ে বড় সংস্থান আপনার পাশে বসে থাকা ব্যক্তি হতে পারে। এমনকি তাদের সমস্যার উত্তর জিজ্ঞাসা করবেন না, তাদের পাশে বসতে বলুন এবং আপনাকে সমস্যাটি ব্যাখ্যা করতে দিন।

আপনি প্রায়শই এটির মুখোমুখি হওয়ার সাথে সাথে এটি কার্যকর করে ফেলবেন।

কখনও কখনও অন্য ব্যক্তি একটি প্রশ্ন জিজ্ঞাসা করবে বা একটি বিশদটি নির্দেশ করবে যা মানসিক বন্যার পথটি আনলক করবে।

শেষ পর্যন্ত আপনি পুতুল ব্যবহার না করে আপনার মাথায় জিনিসগুলি ভার্বালাইজ করতে শিখবেন এবং সমস্যার কী কী বিশদটি তাড়াতাড়ি খুঁজে পাবেন।

এবং যদি অন্য সমস্ত কিছু ব্যর্থ হয় তবে তারা আপনাকে এমন একটি কৌশল দেখাতে সক্ষম হতে পারে যা আপনি ব্যবহারের কথা ভাবেন নি।


অন্যকে জিজ্ঞাসা করা বা অধ্যয়ন দল গঠন করা শেখার একটি দুর্দান্ত উপায়।
গ্যারি রোয়ে

আমিও তাই করি, কেবল আমার কাছ থেকে ধারণা পেতে এবং এটি সর্বোত্তম উপায়।
বিশ্ব

এই কৌশলটি রাবার নীচু করা হচ্ছে নামে পরিচিত, ভয়াবহ কোডিং তা সম্পর্কে চমৎকার নিবন্ধ codinghorror.com/blog/2012/03/rubber-duck-problem-solving.html & উইকি এছাড়াও সহায়ক en.wikipedia.org/wiki/Rubber_duck_debugging
spats

9

আসলে আমার সংক্ষিপ্ত উত্তরটি "আরও সমস্যা সমাধান করা"। তবে কথাটি হ'ল: সমস্যাগুলিতে সত্যিই মনোনিবেশ করুন এবং হাল ছাড়বেন না। স্ট্যাকওভারফ্লো বা যে কোনও কিছুতে সাহায্যের জন্য জিজ্ঞাসা করবেন না। (স্ট্যাকওভারফ্লো পড়া অবশ্যই ঠিক আছে!) আপনি প্রায় কার্যকরী সমাধান না পাওয়া পর্যন্ত কঠোর চেষ্টা করুন, তারপরে আপনি প্রায় আপনার লক্ষ্যে পৌঁছে গেছেন। এবং আপনার সন্তোষজনক সমাধান না হওয়া পর্যন্ত চালিয়ে যান।

আমার কাছে সমস্যার সমাধান দুটি জিনিস:

  • সমস্যা সমাধান কৌশল
  • দৃistence়তা এবং হতাশা সহনশীলতা

পয়েন্ট 2 আমার মতে সত্যই গুরুত্বপূর্ণ কারণ এটি আপনাকে যতক্ষণ সমস্যায় আটকে আছেন আপনার চিন্তাভাবনা পরিবর্তন করতে বাধ্য করে। এটি সমস্যা সমাধানের সাথে আরও বেশি সময় ব্যয় করার অনুমতি দেয় যা আপনাকে আরও বেশি দক্ষতার উন্নতি করতে দেয়। ;-)

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

ভাল এবং আমার সমস্যা সমাধান করার সরঞ্জামকিট হ'ল:

  • এলোমেলোভাবে কিছু চেষ্টা করুন
  • আমি যে বিষয়টির সাথে জড়িত তা সম্পর্কে র্যান্ডম নিবন্ধ / ব্লগ / পোস্টগুলি পড়ুন (বা একটি ঘনিষ্ঠভাবে সংযুক্ত বিষয়)
  • একটি সুন্দর অঙ্কন তৈরি
  • সমস্যাটিকে একাধিক তবে সহজ সমস্যার মধ্যে ভাগ করুন
  • অন্য কিছু করুন
  • গুগল এমন কিছু যা সমস্যার সাথে কোনওভাবে সম্পর্কিত
  • সমস্যা সম্পর্কে অন্যদের সাথে কথা বলুন
  • একটি তালিকার তালিকা তৈরি করুন
  • সমস্যার প্রভাব সম্পর্কে আপনার জানা জিনিসগুলি লিখুন যাতে আপনি আরও সহজেই নিদর্শনগুলি খুঁজে পেতে পারেন

দয়া করে মনে রাখবেন যে এগুলির বেশিরভাগ সরঞ্জাম পুনরাবৃত্তভাবে প্রয়োগ করা যেতে পারে।

এবং আমার অ্যালগরিদম এটি:

  1. আমার সমস্যা সমাধানের সরঞ্জামটির কোন সরঞ্জামটি এই মুহুর্তে সর্বাধিক বোধ করে?
  2. সমস্যার সমাধান হচ্ছে না? 1. ;-) সহ চালিয়ে যান

পদক্ষেপ 1. একটি কঠোর সিদ্ধান্ত, তবে আপনি যত বেশি অনুশীলন করেন আপনি আরও ভাল সিদ্ধান্ত নেন।

ওহ এবং আমি সবচেয়ে গুরুত্বপূর্ণ উপাদানটি প্রায় ভুলে যাই:

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


"পদার্থবিজ্ঞান" শব্দের জন্য এই পৃষ্ঠাটি ইতিমধ্যে কেউ লিখেছেন কিনা তা অনুসন্ধান করার জন্য আমি অনুসন্ধান করেছি। গণিত অন্য একটি।
সি

আপনার সমস্যা সমাধানের ক্ষমতার বিষয়ে পদার্থবিদ্যার অধ্যয়নের মান খুব বেশি বোঝা যায় না বলে আমি মনে করি।
সি সি

ইতিবাচক চিন্তাভাবনার জন্য +1। আপনি যদি নিজেকে পরিশ্রম করতে দেখেন তবে আপনার সমস্যা সমাধানের ক্ষমতা প্রতিবন্ধী। সমস্যাটি দেখুন কারণ এটি আপনাকে জ্ঞান দিচ্ছে।
গ্যারি রোয়ে

7

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

আপনার আশেপাশের এমন লোকদের সন্ধান করুন যা সমস্যাগুলি সমাধান করে এবং তারা এটি সম্পর্কে কীভাবে তা জিজ্ঞাসা করুন।

ভুল হতে প্রস্তুত থাকুন। আপনি যদি এগুলি সমস্ত নিজের কাছে রাখেন তবে আপনার উন্নতি হবে না এবং আপনি কোনও উপকারে আসবেন না।


"স্কুলে তাদের জন্য অনেকগুলি উত্তর প্রয়োজন এবং শিক্ষার্থীদের মধ্যে পর্যাপ্ত প্রশ্ন নয়" " এটি খুব সত্য এবং সঠিক প্রশ্ন জিজ্ঞাসা করতে শিখতে সময় নিন ... সর্বত্র দেখুন খারাপ প্রশ্নের অনেকগুলি উদাহরণ রয়েছে
রামি

4

সফ্টওয়্যার ইঞ্জিনিয়ারদের জন্য কম্পিউটার বিজ্ঞানের শিক্ষার প্রধান সুবিধা হ'ল বিমূর্ততা তৈরি এবং বোঝার ক্ষমতা। অ্যাস্ট্রস্ট্রাকশনগুলি স্ট্রিং ক্লাসের পদ্ধতিগুলির মতো সাধারণ ক্রিয়াকলাপটিকে শক্ত করে পুনরায় ব্যবহারযোগ্য প্যাকেজগুলিতে আবদ্ধ করতে ব্যবহার করা হয় যা আমাদের আরও বড় সমস্যার দিকে ফোকাস করতে দেয়।

বিমূর্ততা সনাক্ত এবং তৈরি করতে শিখুন :

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

বৈজ্ঞানিক পদ্ধতি ব্যবহার করে সমস্যার সমাধান করতে শিখুন :

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

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

বৈজ্ঞানিকভাবে এই পদ্ধতিতে চিন্তা করা - সাধারণভাবে - কেবলমাত্র একটি বিজ্ঞানের পটভূমিতে অভিজ্ঞতা থাকতে পারে। কখনও কখনও সমস্যার সমাধান এ থেকে বি পর্যন্ত রৈখিক পথ হিসাবে ধরে নেওয়া যায় না Sometimes

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


যথাযথভাবে। বড় সমস্যাগুলিকে ছোট ছোট সমস্যায় ভেঙে দিন।
বিল মিশেল

3

আপনি কী ধরণের সমস্যা সমাধানের লক্ষ্যে নিচ্ছেন তা এই সমস্তের উপর নির্ভরশীল, তবে আপনি যদি ইতিমধ্যে না করেন তবে যুক্তিযুক্তভাবে ভাবতে শেখা ভাল জিনিস।

সব মিলিয়ে এবং আপনি এটি বলার জন্য আমাকে ঘৃণা করবেন তবে অনুশীলনটি নিখুঁত করে তোলে। আমি কীভাবে একটি ভাল সমস্যা সমাধানকারী হতে পারি তা জেনে আমার মাতৃগর্ভ থেকে বের হয়ে আসেন নি এবং অন্য কেউ করেনি। আপনার নিজের থেকে কীভাবে জিনিসগুলি করা যায় তা অনুশীলন এবং শিখতে হবে। আপনি যদি এখনও স্কুলে থাকেন এবং প্রোগ্রামিং / কম্পিউটার বিজ্ঞানের ধরণের ক্লাস না রাখেন তবে এই দক্ষতার বিকাশের জন্য গণিত এবং বিজ্ঞানও বেশ ভাল।


3

আমি মনে করি আপনি যা খুঁজছেন তা হ'ল কম্পিউটার সায়েন্স হিউরিস্টিক্স।

যখন আমাদের 99৯% পরিখাতে কী করে তা নেমে আসে, তবে সূর্যের নীচে আসলে নতুন কিছু নেই। সুতরাং আপনি কোনও সমস্যা দেখতে পেয়ে এটি ডিপি সমস্যা হিসাবে চিহ্নিত করতে পারেন, বা অন্য কোনও সমস্যা যা স্মৃতিচারণ ইত্যাদি থেকে উপকৃত হতে পারে ...

আপনি কিভাবে এই জ্ঞান অর্জন করবেন? একটি যথাযথ সিএস ডিগ্রি শুরু করার জন্য একটি ভাল জায়গা ... সফটওয়্যার ইঞ্জিনিয়ারিং বা তথ্য সিস্টেম নয়, তবে বেশিরভাগ আন্ডারগ্র্যাডগুলি "ব্যবহারিক না হওয়া" সম্পর্কে অভিযোগ করে stuff

আপনি নিজে থেকে এটি করতে পারেন তবে এটি সম্ভবত আরও কঠিন। আমি এই দুটি কোর্স দিয়ে শুরু করব:

আলগোরিদিমগুলিতে পরিচিতি

তাত্ত্বিক সিএস-এ দুর্দান্ত ধারণা


2

আমার উত্তরগুলি কোডিংয়ের সাথে বিশেষভাবে সম্পর্কিত তবে যে কোনও কিছুতে প্রয়োগ করা যেতে পারে।

  1. কীবোর্ড থেকে দূরে সরে যান। হাঁটতে কথা বলুন, দৌড়াতে যান, সহকর্মীর সাথে একটি কফির উপরে কথা বলুন
  2. 10 বছর বড়! আমার অভিজ্ঞতা আমাকে প্রচুর সাহায্য করেছে।
  3. বাইনারি চপ ব্যবহার করুন। সমস্যাটিকে দুটি ভাগে ভাগ করুন এবং সমস্যাটি সংকীর্ণ করুন: পুনরাবৃত্তি করুন।
  4. শার্লক হোমস মনে রাখবেন: আপনি যখন সম্ভাব্যতা সরিয়ে ফেলেছেন, তখন যা কিছু থাকবে (যতই আশ্চর্যজনক নয়) এর উত্তর the
  5. আপনার পরীক্ষার ডেটা পরীক্ষা করুন। আমার সত্যিকার অর্থেই জটিল সমস্যাগুলির অর্ধেকটি ত্রুটিযুক্ত ডেটা বা ত্রুটিযুক্ত কোড বা অ্যালগরিদমের কারণে নয় not

1

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


1

এটি নিয়ে একটি দুর্দান্ত এসও প্রশ্ন রয়েছে।

আমার উত্তর ছিল:

উন্নতির সর্বোত্তম উপায় অনুশীলন করা!

আরএসএস ফিডে সাবস্ক্রাইব করুন : http://www.mensa.org.uk/puzzles/ এবং এগুলি প্রকাশের সাথে সাথে শেষ করার জন্য সময় নিন।

একটি ধাঁধা-এক-দিনের ডেস্ক ক্যালেন্ডার (উদাঃ http://www.cilersars.com/product.asp?PID=1&MGID=-1&IID=46387&Cmmmmm=Affiliate_Program--performics--k137666-_- ডিডি ৯০ লিঙ্ক ) ভাল ধারণাটিও যেমন এটি আপনাকে নিয়মিত, কামড়ের আকারের এবং বিভিন্ন সমস্যার সমাধান করতে দেবে to

যদিও আপনি নিজেকে যে সমস্যার মুখোমুখি হতে পারেন সেগুলি থেকে এগুলি সর্বদা বিষয়বস্তু থেকে মুক্ত থাকবে, তবে বৈচিত্র্যটি গুরুত্বপূর্ণ কারণ এটি আপনাকে আগে এমনভাবে নয় এমনভাবে ভাবতে বাধ্য করবে যা সমস্যা সমাধানের বিষয়টিই আসলে।

সম্পাদনা করুন: ভাল সমস্যা সমাধানের টিপসের জন্য এছাড়াও দেখুন: http://www.mindtools.com/pages/main/newMN_TMC.htm


1

দাবা খেলা

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

দাবাতে বাম এবং ডান "চিন্তাভাবনা মোডের" মধ্যে একটি ভারসাম্যও প্রয়োজন ” যাইহোক, প্রতিটি সৃজনশীল অনুপ্রেরণা এটি পরিস্থিতির দৃ concrete় বাস্তবের সাথে খাপ খায় তা নিশ্চিত করার জন্য একটি গণনা দিয়ে পরীক্ষা করা দরকার। কঠিন সমস্যা ঠিক এই রকম।

দাবা প্রদর্শন করে যে কীভাবে অধ্যয়ন এবং অনুশীলনগুলি খুব লিনিয়ার ফ্যাশনে দৃ improvement় উন্নতির দিকে পরিচালিত করে। প্রোগ্রাম সমস্যা সমাধানের ক্ষেত্রেও এটি সত্য।

দাবা বাজানো আপনাকে কী পরিমাণ শিখতে হবে তার উপর ভাল উপলব্ধি পেতে সহায়তা করতে পারে। যদিও আপনি 10 বছর ধরে প্রোগ্রামিং করছেন (বা দাবা খেলছেন), আপনি এখনও গ্র্যান্ডমাস্টার নন।


আমি নিয়মিত দাবা খেলে আমার মনকে তীক্ষ্ণ পেয়েছি।
পল নাথান

1

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


1

আমি একটি বিজ্ঞানের পটভূমি থেকে এসেছি, তাই আমি যখন কোন সমস্যার দিকে নজর দিই তখন আমার কাছে বৈজ্ঞানিক পদ্ধতি থেকে কৌশলগুলি ব্যবহার করার প্রবণতা থাকে । আমি বিশেষত অনুমানের উপর ভিত্তি করে "পরীক্ষা-নিরীক্ষা" সেট আপ করতে এবং "নিয়ন্ত্রণ" ব্যবহার করতে পছন্দ করি, তাই আমি কিছু তৈরি করব এবং তারপরে এটিতে কেবল 1 টি জিনিস পরিবর্তন / যুক্ত করব এবং দেখুন যে সেই পরিবর্তন / সংযোজনের ফলাফল কী এবং আমি যদি ' আমার যে ফলাফলটি প্রয়োজন তা পাচ্ছি না, আমি এটি আবার স্যুইচ করব এবং অন্য কিছু পরিবর্তন করব। এটি সমস্যা সমাধান / ডিবাগিং কোডের জন্য ভাল কাজ করে। কখনও কখনও আপনি যে উত্তরটি চেয়েছিলেন তা পেয়ে যান তবে আপনি ব্যর্থ হয়েও আপনি সর্বদা কিছু নতুন করে শিখেন। আমি হ্রাসকরণের মাধ্যমে শিখতেও পছন্দ করি- ইতিমধ্যে বিদ্যমান এমন কিছু গ্রহণ করা (আপনি যা বুঝতে পারেন না এমন কিছু দিয়ে শুরু করার পক্ষে সর্বদা ভাল) এবং আমার কাছে জটিল দেখায় এবং আমি এটিকে এর উপাদানগুলির মধ্যে ভাগ করে দিতে পারি এবং তারা কীভাবে প্রথমে কাজ করে তা শিখতে পারি seeing আমার মস্তিষ্কের পক্ষে কখনও কখনও সামগ্রিকভাবে কোনও সমস্যার কাছে পৌঁছানোর পরিবর্তে এই জাতীয় শেখার ব্যবস্থা করা সহজ হয় এবং আমি সেই জ্ঞানটি অন্যান্য অনুরূপ জটিল জিনিস নিজে তৈরি করতে ব্যবহার করতে পারি। আমি যুক্তি এবং যুক্তি সম্পর্কিত বইগুলি পড়ার জন্য শাস্ত্রীয় এবং আধুনিক চিন্তাবিদ উভয়েরই কাজ বেছে নেওয়ার পরামর্শ দিচ্ছি (অ্যারিস্টটল দিয়ে শুরু করুন এবং আপনার পথে কাজ করুন)। তারা আপনাকে প্রাথমিক যুক্তির কিছু ভিত্তি দিতে পারে যা আপনি কম্পিউটারে সমস্যা সমাধানে সহায়তা করতে পারেন। এবং অবশ্যই, যদি আপনি কোনও সমস্যার সমাধান করতে না পারেন এবং আপনি কিছুক্ষণের জন্য এটির জন্য কাজ করে যাচ্ছেন তবে মস্তিষ্কের বিরতি নিন। কোনও সমস্যার নির্দিষ্ট দিক নিয়ে গুঞ্জন কখনও কখনও ক্ষতিকারক। প্রত্যেকের বিরতি দরকার :)


0

সমস্যা সমাধানের সবচেয়ে শক্ত অংশটি হ'ল "পার্সেপুচুয়াল সংকীর্ণন"।

আপনি সমস্যাটি বলে মনে হচ্ছে এমন কিছু বাছাই করুন এবং আপনি ক্লান্ত হয়ে না গিয়ে এবং কোনও অগ্রগতি না করা অবধি ক্রেতার সাথে তার অনুসরণ করবেন।

এটি করার উপায় হ'ল নিশ্চিত হওয়া - একেবারে নিশ্চিত - আপনি সমস্যাটি সত্যই বুঝতে পারছেন। "সঠিক সমস্যা সমাধান" সমস্যা সমাধানের সবচেয়ে গুরুত্বপূর্ণ অংশ।

কখনও কখনও তারা এটিকে "বাক্সের বাইরে চিন্তাভাবনা" বলে ডাকে। "বাক্স" একটি সংকীর্ণ দৃষ্টিভঙ্গি যা আসল, মৌলিক সমস্যা অন্তর্ভুক্ত নাও করতে পারে। বাক্সের বাইরে ভাবনা হ'ল সঠিক সমস্যার সমাধান করা।

সংকীর্ণতা এড়াতে কৌশল সম্পর্কিত অসংখ্য বই রয়েছে যা ভুল সমস্যার উপর অকালিক দৃষ্টি নিবদ্ধ রেখে চলে।

বেশিরভাগ কৌশলটি হ'ল আসল ফলাফলটি কী হতে হবে তা চিহ্নিত করা। তারপরে কী আকাঙ্ক্ষিত ফলাফলটি অবরুদ্ধ করে তা নির্ধারণ করুন।


0

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

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

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


0

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


0

কোনও প্রোগ্রামার পক্ষে তাদের পছন্দের প্রোগ্রামিং ভাষার সাহায্যে কীভাবে সমস্যাটি সমাধান করতে হয় তা ভিজ্যুয়াল করে মানসিকভাবে কোনও সমস্যার আক্রমণ করা সহজ। ক্লাসিক ছুতার মতো যিনি সমস্ত সমস্যা নখ হিসাবে দেখেন যখন তার প্রিয় সরঞ্জামটি হাতুড়ি হয়।

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

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


0

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

যে লক্ষ্যে:

  1. আপনার প্ল্যাটফর্ম শিখুন।
  2. আপনার সরঞ্জাম শিখুন।
  3. আপনার প্ল্যাটফর্মের জন্য কী কী সরঞ্জামগুলি উপলভ্য রয়েছে যা আপনি এখনও মুখোমুখি হন নি তা শিখুন।

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

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


0

আপনার উত্তরের দুটি অংশ রয়েছে:

ক) প্রকৃত সমস্যা সমাধানের জন্য প্রযুক্তি

খ) চিন্তাভাবনা এবং সমস্যা সমাধানে আপনার মস্তিষ্ককে সহজাতভাবে "আরও ভাল" তৈরি করা

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

1) একটি নতুন ভাষা, একটি আসল ভাষা শিখুন (ফরাসি, বা চাইনিজগুলির মতো এই দিনগুলিতে ভাল বাজি হতে পারে)

2) একটি নতুন যন্ত্র বাজাতে শিখুন

৩) পেইন্ট, আঁকা বা ভাস্কর্যের মতো শৈল্পিক কিছু করুন

4) স্ক্র্যাবল খেলুন বা ক্রসওয়ার্ড করুন

5) আপনার মত নাচ মানে। না, আমি মজা করছি না। নাচ আপনার মস্তিষ্ক এবং চিন্তাভাবনায় প্রভাব ফেলেছে তা দেখানো হয়েছে

)) আপনার অভিজ্ঞতাগুলি প্রসারিত করুন, এক ক্ষেত্রে অন্য ক্ষেত্রে একটি তত্ত্ব প্রয়োগ করার মাধ্যমে উদ্ভাবনী সমাধানগুলি এসেছে তাই বিভিন্ন ক্ষেত্র এবং ক্ষেত্রগুলি যা আপনাকে আকর্ষণীয় বলে মনে করেন সেগুলি অধ্যয়ন করুন from

7) অনুশীলন, অনুশীলন চিন্তা প্রক্রিয়া উন্নত করার জন্য অত্যন্ত গুরুত্বপূর্ণ

অবশেষে, আমি কঠিন সমস্যাগুলি সমাধান করার জন্য আমার সেরা পরামর্শটি দিতে যাচ্ছি: দীর্ঘ পথ চলুন। আমি খুঁজে পেয়েছি যে এটি আপনার মাথা পরিষ্কার করার জন্য এবং একজনকে সমস্যা বিবেচনা করার জন্য অলৌকিক কাজ করে



0

আমার পরামর্শ হ'ল বইটি ফেলে দেওয়া!

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

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

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

সাহায্য চাইবেন না। টিউটোরিয়াল থেকে দূরে থাকুন। তত্ত্ব থেকে দূরে থাকুন। তাক থেকে কোনও সমাধান টানবেন না।

কেন?

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

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

অন্য কথায়, আপনি যা পড়েছেন সে সম্পর্কে আপনি আরও সমালোচনামূলকভাবে চিন্তা করবেন এবং আপনি এটি বুঝতে এবং মনে রাখা আরও সহজ পাবেন কারণ এটির সাথে সংযুক্ত করার জন্য আপনার কাছে ইতিমধ্যে একটি বড় "মানসিক কাঠামো" রয়েছে। আপনি স্বতন্ত্রভাবে আবিষ্কার করেছেন এমন জিনিসগুলি সম্পর্কে আপনি ভাল বোধ করবেন এবং আপনি নতুন জ্ঞানের স্তুপ নিয়ে চলে যাবেন।

আপনার সমাধানটি নিখুঁত করার চেষ্টা করবেন না। নিজেকে প্রমাণ করুন যে আপনি সমস্যার সমাধান করতে পারেন । একটি "করণীয়" দৃষ্টিভঙ্গি অবলম্বন করুন এবং আপনি যদি সমস্যাটি ডেকে আনা বোধ করেন তবে মনে রাখবেন যে যিনি প্রথমে এটি সমাধান করেছিলেন তিনি সম্ভবত আপনার যতটা কাজ সম্পর্কে জানতেন (বাস্তবে, তারা জানতেন না যে এটির কোনও সমাধান আছে!)।


0

সমস্যা সমাধান এমন কিছু নয় যা পড়া বা শেখানো যায়। সমস্যা সমাধানে আরও ভাল হওয়ার একমাত্র উপায় হ'ল সমস্যাগুলি সমাধান করা।

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

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


0

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

তারপরে সি ++ এর উদাহরণ সহ আরও আরও উন্নত কৌশল রয়েছে: অ্যারে, পয়েন্টার এবং ডায়নামিক মেমরি, শ্রেণি, পুনরাবৃত্তি, কোড পুনরায় ব্যবহার সহ সমস্যাগুলি সমাধান করা। আমি এই অংশটি সম্পর্কে মন্তব্য করতে পারি না কারণ এটি এখনও আমার পক্ষে খুব কঠিন।


-1

আমি যতটা সম্ভব সমস্যা সমাধান করি। আমিও মত কিছু ধাঁধা বই পড়তে পছন্দ করি এই এক । আমি সমস্যা সমাধানের গেমগুলির সাথে ঝাঁকুনি দিয়েছি, যেমন প্রাইম সংখ্যা বা কোনও কিছুর সাথে জড়িত ম্যাথ গেমস, সুডোকু, হ্যানয়ের টাওয়ার ইত্যাদি Just এছাড়াও, সম্ভব হলে এটি কোড করে দিন।


-1

বাই অনেক সমস্যার সমাধান!

আপনি সহজ সমস্যাগুলি দিয়ে শুরু করেন এবং সমস্যার পরিবর্তে সহজ সমস্যাগুলি একবার রুটিন হয়ে যাওয়ার পরে আপনি আরও শক্ত সমস্যার দিকে চলে যান।


-4

নিজেকে তত্ত্বের দিকে রাখবেন না, আরও অনুশীলন করুন। অনুশীলনের সাথে অভিজ্ঞতা আসে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.