একটি তাত্ক্ষণিক শব্দ
করণ দ্বারা শিখুন: জ্ঞান বনাম জ্ঞান-কীভাবে
এখানে একটি বিশাল পার্থক্য জ্ঞান এবং কীভাবে জানা যায়। নতুন শিখার পক্ষে এটি ভাবা একটি সাধারণ ভুল যেহেতু তারা কোনও প্রোগ্রাম পড়ার সাথে সাথে "বুঝতে" পারে তাই তারা প্রোগ্রামটি যেভাবে লেখা হচ্ছে তার যুক্তিটি বুঝতে পারে।
এবং দ্বিতীয় অংশে পৌঁছানোর একমাত্র উপায় অনুশীলন। বসুন, একটি পাঠ্য সম্পাদক, একটি কমান্ড লাইন খুলুন এবং এতে নামুন।
এটি সম্ভবত (এবং প্রত্যাশিত) যে বেশ কয়েকটি জটিল সফ্টওয়্যার উপাদান একে অপরের সাথে কীভাবে যোগাযোগ করে তা বোঝার আপনার ক্ষমতাটি সীমিত। এটি আসলে একটি ভাল জিনিস, কারণ এটি আপনাকে বেসিকগুলি থেকে শুরু করতে বাধ্য করে। বন্দুকটি লাফিয়ে ডানদিকে গমন করবেন না: ছোট কাজের জন্য ছোট অনুশীলন দিয়ে শুরু করুন।
সত্য কথা বলতে গেলে আমি কখনই নিশ্চিত হতে পারি নি যে জাভা দিয়ে প্রোগ্রামিং শেখা শুরু করার উপায় (আমি বিশ্ববিদ্যালয়ে বসবাসের জন্য প্রোগ্রামিং শেখাতাম, এবং এখনও মাঝে মাঝে প্রাইভেট টিউশন করি)। আপনাকে শুরু করা এটি নিজেই জটিল and এবং বেশিরভাগ জাভা বইগুলি বেশ ভয়ঙ্কর দেখা দেবে। তবুও, এটি অবশ্যই করা যেতে পারে (কমপক্ষে সেই বিশ্বব্যাপী জ্ঞানের কিছু অংশের জন্য যা আমরা প্রোগ্রামারস থেকে আশা করি) যতক্ষণ না আপনি ধাপে ধাপে নিজেকে শেখার ক্ষেত্রে সীমাবদ্ধ রাখবেন।
বই
আপনি জাভাতে যেমন সেট করেছেন এবং আপনার যদি জাভা বইয়ের দরকার হয় তবে আমি সুপারিশ করব:
- জাভায় ভাবছি । ঠিক আছে, যদিও এখন সামান্য পুরানো।
- জাভা টিউটোরিয়াল । এটি হুবহু সেরা শিক্ষার্থীর সহচর নয়, তবে হাতের কাছে রাখা একটি দুর্দান্ত রেফারেন্স, কারণ এটি সমস্ত বেসিকটি জুড়ে এবং উদাহরণ সরবরাহ করে। শেখা জাভা ভাষা পথচিহ্ন সম্ভবত আপনার পাঠ্য তালিকায় থাকা উচিত, যদিও আমি মনে চাই এটি সম্পূর্ণ নতুনদের জন্য daunting হতে পারে যেমন ধারণা প্রথমে উপলব্ধি করতে কঠিন হতে পারে প্রবর্তন করে।
- কার্যকরী জাভা । এটি শেখার জন্য একটি দুর্দান্ত বই নয়, পরবর্তী সময়ে আপনার হাতে থাকা একটি দুর্দান্ত রেফারেন্সও রয়েছে। এক বসতে পড়তে নয়, কামড়ের আকারের খণ্ডে।
আমি কেবল এটির উল্লেখ করছি কারণ আপনি ক্লাসে কী ব্যবহার করেন তা আমি জানি না। আরও অনেকগুলি বই আছে। কিছু ভাল আছে। কিছু কয়েক বছর ধরে শিক্ষার্থীদের পঙ্গু করে দেবে।
আপনার অধ্যয়ন প্রক্রিয়া
বেসিক ওয়ার্কফ্লো
এখন থেকে, আমি আপনাকে ক্লাসে দেখেছি এমন সমস্ত অনুশীলন এবং কোডের নমুনাগুলির জন্য এই 2-পদক্ষেপ প্রক্রিয়াটি অনুসরণ করতে পরামর্শ দেব:
- পড়া এবং অধ্যয়ন
- অনুশীলন পড়ুন
- আপনি সেগুলি বুঝতে পেরেছেন তা নিশ্চিত করুন
- কোড
- বই বন্ধ কর
- সেই কোড সম্পাদক এবং কমান্ড লাইনের সাহায্যে একটি কম্পিউটারের সামনে বসুন
- নিজে থেকে প্রোগ্রামটি পুনরায় লেখার চেষ্টা করুন
ব্যর্থতার ক্ষেত্রে
আপনি যদি ব্যর্থ হন এবং মনে করেন যে আপনাকে বইটি দেখে নেওয়া দরকার তবে আপনার ব্যর্থতা হয় হয়:
- (সম্ভবত) আপনি সমাধানটি আসলে বুঝতে পারেন নি,
- (কম সম্ভবত) যে আপনি ভুলে গেছেন যে সমাধানটির নির্দিষ্ট বিটটি কেমন দেখাচ্ছে: সিনট্যাক্স, এপিআই ব্যবহার, ...
প্রথম কারণটি সম্ভবত আপনি যা প্রায়শই মুখোমুখি হন। দ্বিতীয়টি হ'ল উপাখ্যান। উভয়ই পুনরাবৃত্তি অনুশীলন দ্বারা সম্বোধন করা হয়।
যতবার আপনি এই প্রাথমিক উদাহরণগুলির একটি প্রয়োগ করতে ব্যর্থ হন, বইটি আবার দেখুন, আবার এটি বন্ধ করুন। বইটি দেখার সময় কোড করবেন না। আমি এমনকি পরামর্শ দিচ্ছি যে আপনি আপনার সম্পূর্ণ সমাধানটি মুছুন এবং আবার শুরু করুন। পুনরাবৃত্তি শেখার প্রক্রিয়াটির বিরক্তিকর তবে গুরুত্বপূর্ণ অঙ্গ।
এটিকে হালকাভাবে নেবেন না। যতবার আপনি নিজেকে "হ্যাঁ, ঠিক আছে, আমি এটি জানি " বা "আমি সেখানে 90%, এটি প্রায় শেষের মতোই ভাল " বলার তাগিদ অনুভব করে এবং অন্য একটি বিভাগে যেতে চাই, সেই তাগিদে ফিরে লড়াই করে আবার শুরু করতে চাই। নিজের কাছে স্বীকার করার সততা থাকা খুব কঠিন যে আপনি কোনও ধারণা পুরোপুরি বুঝতে পারেন নি।
পার্শ্ব দ্রষ্টব্য: আমি এটিকে একটি দুর্দান্ত প্রতিবন্ধকতা হিসাবে বিবেচনা করি যে এখন বেশিরভাগ স্কুল প্রোগ্রামগুলি "কিকস্টার্ট" প্রোগ্রামিং কোর্সগুলিকে খুব বেশি দামে কমিয়ে দিয়ে এবং শিক্ষার্থীদের জন্য অত্যন্ত উন্নত সরঞ্জামাদি সরবরাহ করে চেষ্টা করে: লক্ষ্য আপনার জীবনকে দুর্বিষহ করে তোলার নয় বা আপনার জন্যও শিখতে হবে হৃদয়ের জিনিসগুলি দ্বারা যা আপনার কেরিয়ারের পরে আপনার সরঞ্জামগুলি দ্বারা স্বয়ংক্রিয় হবে এবং আপনি মাঝে মাঝে খুব কমই মনে রাখবেন। এটি আপনাকে চারপাশে ভাসমান সমস্ত বিটগুলি শেখানোর জন্য।
সাফল্যের ক্ষেত্রে: ছাড়িয়ে যান!
আপনি যদি নিজের অনুশীলনটি বাস্তবায়নে সফল হন তবে অগত্যা সরাসরি সরাসরি পরবর্তীটিতে যাবেন না। এটিকে উন্নত করতে আপনি কী করতে পারেন তা দেখার চেষ্টা করুন। আপনি যে আউটপুটটি অনুরোধ করেছিলেন তা কি পরিবর্তন করতে পারবেন? একটি ছোট বৈশিষ্ট্য যুক্ত করবেন? একটি বিকল্প? চেষ্টা করুন, আপনি এখন সেই মজাদার অঞ্চলে যেখানে আপনি মূল অসুবিধাটি পেরিয়ে গেছেন এবং এই স্ব-চাপিয়ে দেওয়া ছোট্ট প্রয়োজনীয়তাগুলি আপনার প্রফুল্লতা কিছুটা বাড়িয়ে রাখার সম্ভাবনা বেশি।
যদিও খুব বেশি দূরে যাবেন না: আপনি বর্ণমালাটি মুদ্রণ করে হঠাৎ রঙের গ্রেডিয়েন্টের সাথে স্ক্রিনের একটি ত্রিভুজটিতে প্রদর্শিত করতে পরিবর্তিত হন না। ছোট পদক্ষেপ নিন। পড়াশোনা একটি দীর্ঘ এবং পুনরুক্তি প্রক্রিয়া এবং আপনার ক্রমবর্ধমান অসুবিধাজনিত সমস্যাগুলির সাথে যোগাযোগ করতে হবে (উদাহরণস্বরূপ, দেখুন আমি সাধারণত পুনরাবৃত্তির ব্যাখ্যা দেওয়ার ক্ষেত্রে কীভাবে চিন্তা করি )।
এটি জাস্ট লার্নিং - একটি তুলনা
আপনার সমস্যা আসলে প্রোগ্রামিংয়ের সাথে মোটেই সম্পর্কিত নয়। কয়েক হাজার মানুষ গণিত শেখার চেষ্টা করার সময় একই সমস্যা হয়।
আপনি যদি তাদের কোনও সমস্যা দেন তবে তারা সমাধানে কীভাবে কাজ করবেন তা তারা দেখতে পায় না। তবে, যদি আপনি তাদের জন্য সমাধানটি লিখে রাখেন তবে বেশিরভাগই এটি বুঝতে পারবেন এবং "ডার্ন, এটি এত সহজ ছিল!"! তবুও আপনি তাদের বিভিন্ন পদক্ষেপ এবং অনুমানের সাথে একই ধরণের সমস্যা দেবেন এবং তারা এটিকে সমাধান করতে ব্যর্থ হবেন: তারা এর পিছনে যুক্তি বুঝতে পারেন নি, এবং এটি নিজে করতে সক্ষম হওয়ার জন্য তাদের অনুশীলনের প্রয়োজন।
নোট করুন যে এটি গণিতের ক্ষেত্রে একটি সাধারণ সমস্যা, তবে আমার মতে আপনি এটি অন্যান্য অনেক ক্ষেত্রে দেখেন যেখানে কিছু যুক্তি প্রয়োজন: সল্ফেজ, ভাষা ব্যাকরণ, পদার্থবিজ্ঞান ইত্যাদি শেখা ... এবং এটি "প্রাকৃতিক" ক্ষমতা থেকে কম নয় এই বিষয়গুলি বোঝার জন্য: এটি কেবল অনুশীলনের জন্য নেমে আসে (সে ক্ষেত্রে এটিই হোক বা অন্য যে ব্যক্তি এই ক্ষেত্রের ধারণাগুলি আরও সহজেই উপলব্ধি করতে পারে)।
আপনি কোড লিখতে শিখতে পারবেন না এমন কোনও কারণ নেই। আপনি "আহ আহ!" না পৌঁছানো অবধি চেষ্টা চালিয়ে যাবেন! / ইউরেকা মুহূর্ত। তারপরে পরবর্তী, আরও কঠিন, সমস্যার দিকে যান।
এগুলি পাশাপাশি (পরে) সহায়তা করতে পারে: