সিএস বিষয়গুলি যা একটি স্নাতক অবশ্যই জানতে হবে [বন্ধ]


34

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

আমি আমার কলেজটি পাস করতে পেরেছি এবং একটি সংস্থার সাথেও ইন্টার্নেড হয়েছি, যেখানে আমি একটি প্রকল্প করেছি এবং কৃতজ্ঞ যে তারা আমার গ্রেড সম্পর্কে মাথা ঘামায় না, কারণ তারা গড়ের উপরে ছিল।

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

আপনার পরামর্শ কি? একটির মতো, অ্যালগরিদমগুলি একটি বিষয়।


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

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

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

1
আপনি নীচে প্রচুর সিএস উত্তর পেয়ে যাচ্ছেন, তবে আমি মনে করি আপনার প্রশ্নটি সীমাবদ্ধ করে আপনি মনে করছেন যে আমি আমার বিএসসিএস পেয়েছি 15 বছর পরে আমি সবচেয়ে দরকারী জিনিসগুলি হারিয়েছি যা লোকেরা আলাদা করেছে যা এই শিল্পে ভাল করেছে: ছোট গোষ্ঠী যোগাযোগ ও টিম ওয়ার্ক দক্ষতা। নির্বোধ যেমন মনে হয়, বক্তৃতা / ভাষা / নাট্য বিভাগের দিকে যান এবং "ক্ষুদ্র গোষ্ঠী যোগাযোগ" বা "দল / গোষ্ঠী নেতৃত্ব / পরিচালন" এর মতো ক্লাস নিন। এমনকি আপনি যদি পরিচালনা করার পরিকল্পনা না করেন তবে আপনি যে দক্ষতাগুলি বেছে নেবেন সেগুলি আপনাকে আরও ভাল ইঞ্জিনিয়ার এবং দলের সদস্য করে তুলবে।
ক্যাবি

উত্তর:


41

বিশ্বাস করুন বা না করুন, পরবর্তী জীবনে আমার কাছে যে বিষয়গুলির জন্য গুরুত্বপূর্ণ বিষয় হয়ে দাঁড়িয়েছিল তার মধ্যে একটি ছিল কম্পাইলার নির্মাণ। লেক্স এবং ইয়্যাক ব্যবহার করে আধুনিক নমবি-প্যাম্বি সংস্করণ নয়, ডামিদের জন্য রয়েছে।

বাস্তব সংকলক নির্মাণ যেখানে আপনি আপনার নিজের প্রতীক স্ক্যানার এবং ভিত্তি থেকে পার্সার লিখুন।

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

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

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


6
ইউনিটগুলিতে +1 সংকলকগণ আমার প্রিয় কোর্সগুলির মধ্যে একটি ছিল এবং সর্বদা দরকারী। আমি খুব কমই লেকস / ইয়্যাক / বাইসন ব্যবহার করেছি, মূলসূত্রগুলি আরও বেশি কংক্রিটের ব্যবহার।
অর্বলিং করছেন

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

আপনি কোড জেনারেটরটি প্লেইন সি, বা অন্য কোনও অ-ওও ভাষায় লিখতে (এবং ALSO কীভাবে তা জানবেন) can তারপরে প্রসেসালাল কোডের খুব বড় টুকরো লেখার এবং পার্সার / স্ক্যানার / কোড জেনারেশনকে বোধগম্য এবং স্বল্পগঠিত পর্যায়ে বিভক্ত করার এটি একটি পাঠ।
দ্রুত_

+1 সংকলকগুলি এতগুলি নিদর্শন এবং নীতিমালা অন্তর্ভুক্ত করে যা এটি করার পরে আপনাকে ডিজাইন এবং কোডটি একেবারে আলাদা আলোতে দেখার অনুমতি দেবে।
অ্যান্ড্রু টি ফিনেল

2
"এটি এমন কিছু যা আমি ভেবেছিলাম আমি আর কখনও ব্যবহার করব না।" প্রতিবারের জন্য যদি আমার কাছে ডলার থাকে তবে আমি যখন ছোট ছিলাম তখনই তা বলেছিলাম ....
নিক স্প্রেটিজার

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

  2. গণ্য জটিলতার জ্ঞান আপনার মূল মাথার উপরের অংশটি জেনে রাখা উচিত নয় যে র‌ডিক্সের নিম্ন-সীমাটি কী তা নির্ধারণ করা উচিত তবে কীভাবে কী লিখবেন তা নির্ধারণ করে জেনে রাখা উচিত বিশেষত পারফরম্যান্স সমালোচনামূলক প্রকল্পগুলির জন্য projects

  3. ওএস ধারণা। মেমোরি ম্যানেজমেন্ট, সময়সূচী ইত্যাদি Every প্রতিটি বিকাশকারীকে অপারেটিং সিস্টেমের বিষয়ে সত্যই দৃ should় ধারণা থাকা উচিত যা আপনি লিখেছেন কোডটি এটির সাথে নিয়মিত ইন্টারঅ্যাক্ট করে।

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

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


1
+1 পুরো তালিকাটি বেশ প্রয়োজনীয়, (4) বিশেষত আধুনিক বিতরণ যুগে এত গুরুত্বপূর্ণ।
অর্বলিং

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

প্রোগ্রামিং প্যারাডিমগুলির জন্য +1। বিভিন্ন ধরণের ভাষার মধ্যে বৈসাদৃশ্যগুলির একটি ভাল বোঝা অনেক সহায়তা করে।
apoorv020

19

আপনার হতে পারে সেরা কম্পিউটার বিজ্ঞানী হওয়ার জন্য স্নাতকের প্রয়োজনীয়তা পূরণ করা প্রয়োজনীয় নয়। একটি সাধারণ কলেজ পাঠ্যক্রমের জন্য, সেরা দশটি বিষয় এখানে শিখতে আপনার অবশ্যই নিশ্চিত হওয়া উচিত:

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

  2. কীভাবে একটি প্রমাণ লিখতে হবে - সমস্ত কম্পিউটার বিজ্ঞানের মেজরদের কীভাবে প্রমাণ লিখতে হবে তা জানা উচিত। এবং পৃথক গণিত, একটি ভাল সুষম প্রাতঃরাশের একটি অংশ, গণনা করা হয় না। [আনয়ন কেবল একটি প্রমাণ কৌশল, এবং আপনি প্রমাণ সম্পর্কে খুব বেশি কিছু না জেনেও পেতে পারেন]] বীজগণিত বা বাস্তব বিশ্লেষণের একটি কোর্স সত্যই প্রমাণ লেখার জন্য প্রয়োজনীয়। এবং বীজগণিত বলতে আমি গ্রুপ থিওরি বা বিমূর্ত বীজগণিত বোঝাই, আপনি উচ্চ বিদ্যালয়ে যে কোর্সটি নিয়েছিলেন তা নয়। সম্পূর্ণ উপকারের জন্য, একই পদে বীজগণিত এবং আসল বিশ্লেষণ গ্রহণ করুন।

    প্রুফ রাইটিং কেন জরুরি? কারণ এটি প্রোগ্রামিং! আপনি কখন প্রোগ্রাম করবেন তা প্রথম চিন্তা করুন: যদি কোনও কাজের প্রয়োজন হয়ifএবং একটি লুপ, এগুলিকে একে অপরের সাথে সম্পর্কযুক্ত রাখার বিষয়ে আপনার কোনও অনুভূতি নাও থাকতে পারে। তবে এখন একই কাজটি সম্পূর্ণ স্বাভাবিক অনুভব করবে। প্রুফ লেখাটাও অনেকটা মিল। এমন কৌশলগুলির একটি সেট রয়েছে যা আপনি শিখেন এবং একবার সেগুলি শিখলে জিনিসগুলি একেবারেই আলাদা দেখায়।

  3. কীভাবে লিখবেন - লিখিত যোগাযোগ দক্ষতা অপরিহার্য, আপনি শিল্পে বা একাডেমিয়ায় কাজ করবেন কিনা। আপনি যদি কোনও মেকানিক্স কোর্স খুঁজে পান এবং কোনও ভিন্ন বিষয় সম্পর্কে কার্যকরভাবে লেখার কোর্স না পাওয়া যায় তবে এটি সর্বোত্তম। এটি হ'ল, অনেক স্কুল রাইটিং কোর্সগুলিকে একটি বিশেষ বিষয় সম্পর্কিত করে আরও প্রাসঙ্গিক বা আকর্ষণীয় করার চেষ্টা করবে। কোর্সের "বোরিং" সংস্করণে যাওয়ার চেষ্টা করুন।

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

  5. বর্তমান উত্তপ্ত বিষয় - বিগত দশকগুলিতে এটি ডাটাবেস বা বস্তু-ভিত্তিক প্রোগ্রামিং হতে পারে been আজ এটি ওয়েব প্রোগ্রামিং বা পরিষেবা-ভিত্তিক আর্কিটেকচার হতে পারে। বর্তমান ফ্যাড যাই হোক না কেন, এটি অবশ্যই একটি কোর্স নিতে ভুলবেন না। ফ্যাড কি হয় তা যদি কেবল দেখতে হয়।

  6. থামার সমস্যা - বেশিরভাগ সমস্যাগুলি মেশিন দ্বারা সমাধান করা যায় না। এটি একটি মোটামুটি গভীর ধারণা যা আমাদের সংস্কৃতি এত ভালভাবে শুষে নিয়েছে যে এটি আর হতবাক বলে মনে হয় না। একই রেডিও, গোয়েদেল এবং পারমাণবিক বোমা নিয়েও যায়; আধুনিক আধুনিক আর্ট এবং শীতল যুদ্ধের আগ পর্যন্ত এটি ছিল না যে আমরা আবার এই ধারণাগুলি মোকাবেলা করতে পারি। যাইহোক, কম্পিউটেবিলিটি থিওরিতে কোর্স নেওয়া আপনাকে এই চমকপ্রদ আশ্চর্য প্রমাণে পুনরায় সংবেদনশীল করতে পারে।

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

  8. পি এবং এনপি - ঠিক আছে, এটি ইতিমধ্যে আপনার সমালোচনামূলক পথে রয়েছে তবে যাইহোক মনোযোগ দিন। আপনি নিশ্চিত হতে চান যে কাউকে ভুলভাবে এনপি "অ-বহুপদী" বলে ডাকলে আপনি সংশোধন করতে পারবেন! যেন!

  9. আপনি অবশ্যই অবশ্যই যে বিষয়গুলি ঘৃণা করতে চান সেগুলি থেকে - এটি এমন একটি সিএস কোর্স হতে পারে যা আপনি খুব নিম্ন-স্তরের, অত্যধিক তাত্ত্বিক, বা একটি নন-সিএস কোর্স খুঁজে পেয়েছেন যা আপনাকে খুব আপত্তিজনক, খুব কঠোর বা খুব বিরক্তিকর বলে মনে করছেন । যদি এর মতো কোর্সটি আপনার কাছে একটি সমস্যা বলে মনে হয় এবং আপনি নিজেকে অন্যের কাছে ব্যাখ্যা করে দেখেন যে কেন আপনাকে খুব বেশি খুশী হওয়ার দরকার নেই কেন, এটি আপনাকে বলা উচিত যে আপনি অনেক কিছু শিখবেন কোর্স করে! সম্ভবত আপনি কোর্সের উপকরণগুলি শিখবেন না, তবে আপনি নিজের সীমাবদ্ধতা সম্পর্কে এবং আপনার নিজের পক্ষে ন্যায্যতাগুলি সম্পর্কে আরও শিখবেন। [ইঙ্গিত: এগুলি সাধারণত দুর্বল থাকে]]

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

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


ডাউনভোটের জন্য একটি ব্যাখ্যা সহায়ক হবে। সম্ভবত আমি আমার উত্তরটি পরিবর্তন করতে পারি এবং তারপরে আপনি নিজের মতামত পরিবর্তন করতে পারেন।
ম্যাকনাইল

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

প্রুফ লেখাটা প্রোগ্রাম লেখার মতো। উদাহরণস্বরূপ, কীভাবে একটি * 0 = 0 প্রমাণ করতে হয় তা শিখতে গণিতের ফিজবজের মতো (ভাল, সম্ভবত এটি কিছুটা শক্ত)। এটি প্রথমে ভীতিজনক বলে মনে হচ্ছে তবে শীঘ্রই আপনি ছোট কৌশলগুলি বেছে নেবেন যেমন আপনি প্রোগ্রাম শিখার সময় করেছিলেন did প্রুফগুলির বিভিন্ন কাঠামো থাকতে পারে যা আপনাকে পুনরাবৃত্ত এবং কাঠামোগতভাবে ভাবতে সহায়তা করতে পারে। যেমনটি আমি বলেছিলাম, একটি পৃথক গণিতের পাঠ্যক্রমটি সত্য প্রমাণগুলি শেখার জন্য এটি কাটবে না। আপনার জন্য গ্রুপ তত্ত্ব বা বাস্তব বিশ্লেষণ প্রয়োজন।
ম্যাকনাইল

প্রশংসা জ্ঞান অবশ্যই দরকারী, আমি বিশ্বাস করি পরিপূরক একটি জ্ঞান অর্থনীতির সাথে আরও প্রাসঙ্গিক।
ijw

1
@ijw: সি এস শিক্ষার্থীদের জন্য অর্থনীতি সংক্রান্ত, জোয়েল একটি ভাল আলোচনা মূল্য পড়া আছে: joelonsoftware.com/articles/CollegeAdvice.html
MacNeil

8

বেশ কয়েকটি সংস্থার প্রতিনিধি এবং বন্ধুদের সাথে কথা বলার পরে যার অনেক সাক্ষাত্কার ছিল:

  • ডেটাবেস
  • গলি
  • আলগোরিদিম
  • ডাটা স্ট্রাকচার

নতুন ভাড়ার জন্য "ঝিনুক" হওয়ার প্রবণতা রয়েছে (বা যেমন তারা বলেছিলেন, "অত্যন্ত প্রস্তাবিত" কোর্স)।

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

আশা করি এইটি কাজ করবে!


1
ওওপি এবং ডেটা স্ট্রাকচারের সাথে সম্মত হবে।
apoorv020

4
বেসিক ডেটা স্ট্রাকচার ... sooooooooooo গুরুত্বপূর্ণ। আরও গুরুত্বপূর্ণ, আমি মনে করি, ওওপি-র চেয়েও বেশি। কীভাবে তথ্য সংরক্ষণ এবং সংগঠিত করতে হয় সে সম্পর্কে আপনার চিন্তাভাবনা করা দরকার। এবং যদি এম্বেড থাকা সিস্টেমে থাকে তবে আপনার ডেটা স্ট্রাকচারের ইন-মেমরি লেআউট হ'ল জীবন-মৃত্যুর উপাদান।
দ্রুত

3
গণিত ক্লাসের জন্য +1। এগুলি আপনাকে বড় সমস্যা / সিস্টেমের উপর নজর রাখতে শিখতে সহায়তা করে।
মাইকেল কে

1
নেটওয়ার্কিং করাও ভাল।
কিয়ো

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

6

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

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

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

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


+1 কারণ একটি কম্পিউটার বিজ্ঞান ডিগ্রি আপনাকে বিভিন্ন বিষয় / প্রযুক্তির বিস্তৃত অ্যারের সাথে অভিজ্ঞতা দেয়। সফটওয়্যার ডিজাইন কোর্সে মনোযোগ দিতে ভুলবেন না।
মিঃ এন্ট

+1 সমাবেশের জন্য, স্ট্যাকের নীচে কী ঘটছে তা সত্যই বুঝতে বুদ্ধিমান। যদি সবাই হার্ডওয়্যারটিও জানত তবে চমৎকার হবে তবে অনেকের কাছে এটি খুব দূরে এক ধাপ হবে।
অর্বলিং করছেন

5

আপনার প্রশ্নের উত্তর দেওয়ার জন্য 2 টি উপায় রয়েছে। আমাকে উভয় চেষ্টা করুন। প্রথম উপায়টি হ'ল কোনও সম্ভাব্য কাজের বাজারের দৃষ্টিকোণ, কোডিং দক্ষতা ইত্যাদি থেকে জিনিসগুলি লক্ষ্য করা So সুতরাং আমার তালিকাটি এখানে:

  1. তথ্য কাঠামো
  2. অ্যালগরিদম বিশ্লেষণ
  3. অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং
  4. হয় সি ++ বা জাভাতে একটি নির্দিষ্ট কোর্স
  5. অপারেটিং সিস্টেম
  6. ব্যবহারকারী ইন্টারফেস ডিজাইন
  7. সমান্তরাল প্রোগ্রামিং

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

  1. সীমাবদ্ধ ভাষা এবং অটোমাতা তত্ত্ব
  2. সংকলক নির্মাণ
  3. গ্রাফ থিওরি
  4. কৃত্রিম বুদ্ধিমত্তা

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

2

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

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

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

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


আপনার অভিজ্ঞতা এবং কারও কেন এই কোর্সগুলি নেওয়া উচিত সে সম্পর্কে দয়া করে আরও বিশদ সরবরাহ করুন।

@ মার্ক: আপনি ডাউনটোটের পিছনে যুক্তি ব্যাখ্যা করতে পারেন?
apoorv020

আপনি কেন সফ্টওয়্যার ইঞ্জিনিয়ারিং বা ডিজাইনের অনুশীলনগুলির প্রস্তাব দিচ্ছেন তা ব্যাখ্যা না করেই @ apoorv020 , আপনার উত্তর কার্যকর নয়। আপনি কেন তাদের সুপারিশ করছেন তা আপনার সম্পাদনা এখনও ব্যাখ্যা করে না।

@ apoorv020 সফটওয়্যার ইঞ্জিনিয়ারিং বা ডিজাইনের অনুশীলন নেওয়ার একমাত্র মুক্তমূল্যের মানটি হ'ল আপনি সাধারণত মাঝারি আকারের (যার অর্থ যাই হোক না কেন) প্রকল্পটি তৈরি করেন? আপনি এই কোর্সগুলি গ্রহণ করে ব্যক্তিগতভাবে কী শিখলেন?

তারা জেনে রাখা ভাল, কিন্তু এগুলি সিএস বিষয় নয়।
থমাসের মালিক

2

কলেজে যে জিনিসগুলি আমি প্রতিদিন ব্যবহার করি তা শিখেছি:

  • অবজেক্ট-ওরিয়েন্টেড ডিজাইনের পদ্ধতি
  • নকশা নিদর্শন
  • নিয়মিত অভিব্যক্তি
  • বেসিক অ্যালগরিদম এবং বিশ্লেষণ
  • ডাটা স্ট্রাকচার

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

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

সিএস বিভাগের বাইরেও একটি লেখার কোর্স করুন। সাফল্যের জন্য ভাল লিখিত যোগাযোগ দক্ষতা অপরিহার্য।


+1 অবাক করে দিয়েছিল যে আপনার কোর্সে ডাটাবেসগুলি বাধ্যতামূলক ছিল না, সাধারণত একটি প্রয়োজনীয় উপাদান হিসাবে বিবেচিত হয়।
অর্বলিং

ইহা ছিল. আমি প্রযুক্তিগত দিক থেকে বেরিয়ে এসে আফসোস করেছি।
পিডব্লিউসি

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

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

@ পিডব্লিউসি: আমি বাজি ধরছি, আপনি কীভাবে এর বিপরীতে কেন এর বাইরে চলে গেলেন মনে আছে?
Orbling

2

আপনি যে দিকে যাওয়ার পরিকল্পনা করছেন তার উপর নির্ভর করে অনেকগুলি গুরুত্বপূর্ণ কোর্স রয়েছে। তবে, আপনি যেকোনও প্রোগ্রাম করতে পারবেন তা ধরে নিয়ে, সবচেয়ে গুরুত্বপূর্ণ কোর্সটি হয়ে উঠেছে:

  • ডেটা স্ট্রাকচার এবং অ্যালগরিদমগুলি

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

এ ছাড়াও, বহু বছরে আমি বেশিরভাগ ক্ষেত্রে যে পাঠ্যক্রমটি সবচেয়ে দরকারী পেয়েছি তা হ'ল:

  • concurrency

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

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

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


1

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

যদি আপনি নিজেকে বাস্তব বিশ্বের জন্য প্রস্তুত করতে চান তবে উপরে @ কে-রান প্রস্তাবিত স্টাফ ছাড়াও আমি কোড সম্পূর্ণ পড়ার পরামর্শ দিচ্ছি এবং এটিকে যে কোনও বিষয়ে আপনাকে কঠিন মনে হয় বা আপনার মনে হয় না এমন গভীর গভীর গবেষণার ভিত্তি হিসাবে এটি ব্যবহার করার পর্যাপ্তভাবে আবৃত


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

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

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

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

1

আমার মনে হয় আপনার নিম্নলিখিতটি অধ্যয়ন করা উচিত:

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

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

ডেটা স্ট্রাকচার এবং অ্যালগরিদম: - যৌক্তিক চিন্তাভাবনা এবং মানসিকতার বিকাশ করা খুব গুরুত্বপূর্ণ।

আমার কাছে এটাই যথেষ্ট। কখনও দেরি হয় না। :)


1

যেহেতু কেউ প্রোগ্রামিং কাজের জন্য প্রার্থীদের নিয়মিত সাক্ষাত্কার দেয় এবং যে কেউ 12+ বছর ধরে শিল্পে থাকার পরে যুক্তিসঙ্গতভাবে সাফল্য বোধ করে, আমি নিম্নলিখিতটি প্রস্তাব করব

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

তারপরে, কিছু অতিরিক্ত পাঠ্যক্রমের কাজ, পড়ুন:

  • শংসাপত্র টাইপ বই। এগুলি প্রায়শই আপনাকে সিনট্যাক্স এবং অপারেটরগুলির প্রচ্ছদগুলির নীচে পড়ায় teach 'কেননা এটি কাজ করে' এর চেয়ে আপনি কেন কিছু করছেন তা জানার পক্ষে এটি আরও বেশি গুরুত্বপূর্ণ, যা এত সাধারণ বিষয়।

1

এটি নির্ভর করে , এই প্রশ্নের জন্য একটি ভাল উত্তর নেই।

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

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

  • সিস্টেম প্রোগ্রামিং
  • প্রোগ্রামিং সফটওয়্যার
  • অ্যাপ্লিকেশন সফ্টওয়্যার

প্রথম ফিল্ড সিস্টেমে প্রোগ্রামিংয়ে ডিভাইস ড্রাইভার, অপারেটিং সিস্টেম, সার্ভার বিকাশ হয়, উদাহরণস্বরূপ আপনি একটি অপারেটিং সিস্টেমের কোর্সটি অনুসরণ করতে পারেন।

কিন্তু প্রোগ্রামিং সফ্টওয়্যার সম্পর্কে কি ? উইকিপিডিয়াতে যেমন লিখেছেন আপনি সংকলক, ডিবাগার, দোভাষী, লঙ্কার, পাঠ্য সম্পাদক সম্পাদনা করতে পারেন, সুতরাং, স্বয়ংক্রিয় তত্ত্ব, ভাষা তত্ত্ব, ভাষা এবং সংকলকগুলির একটি কোর্স কার্যকর হতে পারে।

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

আপনি দেখতে পাচ্ছেন যে আপনি অবশ্যই অনুসরণ করতে পারেন এবং আপনার কাজের জন্য দরকারী হয়ে উঠবেন course

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

আপনি যেমন তাত্ত্বিক কম্পিউটার বিজ্ঞানে শিখেছি! আপনি এই কোর্স অনুগ্রহ করে? : P: P

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

সুতরাং এখন, আপনার সিএস ক্যারিয়ারে মূসট-হাভ কোর্সটি কী?

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

কম্পিউটার বিজ্ঞানে বাস্তবতার একটি ভুল ধারণা আছে। উদাহরণস্বরূপ কম্পিউটার বিজ্ঞানী কখনও কখনও সফ্টওয়্যার বিকাশকারী থেকে সত্যিই অনেক দূরে থাকেন।

উইকিপিডিয়া ব্যাখ্যায় একবার দেখুন।

জীবনের সাথে মজা করুন :)

আমার 2 সেন্ট।

আমার সত্যিই খারাপ ইংরেজির জন্য দুঃখিত


1

সিএস শিক্ষার্থীদের এক নম্বর জিনিসটি হ'ল ইংরাজী flu

কথ্য এবং লিখিত উভয় ইংরেজি বোঝার ব্যতিরেকে আপনি চিরকালই অসুবিধে হবেন।

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

আপনি যদি যোগাযোগ করতে না পারেন তবে অন্যেরা কী বলছেন তা আপনি নিজেকে খুব কম বোঝাতে পারবেন না।

অন্য সব কিছুই কেবল বিশদ। আপনি যদি যোগাযোগ করতে পারেন তবে কমপক্ষে গড় বুদ্ধিমানের এবং আপনি যা পড়েন তা বুঝতে পারেন তবে আপনিও একটি সফল ক্যারিয়ার প্রোগ্রামিং করতে পারেন।


1

আমি এ বিষয়ে কিছুটা ভিন্ন দৃষ্টিভঙ্গি থেকে এসেছি যে আমি সিএসে স্নাতক হইনি, আমি ইলেক্ট্রনিক ইঞ্জিনিয়ারিংয়ে (ব্যবসায়ে নাবালিকের সাথে) স্নাতক হয়েছি।

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

আমি যা বলব আমি তা গ্রহণ করেছি যে আমি দরকারী মনে করি:

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

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


0

আমি তালিকায় কয়েকটি বেসিক হিউম্যান রিসোর্স / সাইকোলজি কোর্স যুক্ত করব।

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

আপনার শত্রুকে জানুন যাতে আপনি নিজেকে রক্ষা করতে পারেন।


-1

প্রথম বছর:

  1. উচ্চ স্তরের ভাষায় বেসিক ওওপি
  2. ডাটা স্ট্রাকচার

২ য় বর্ষ:

  1. সংকলক, আপনি একটি সাধারণ এক ফর্ম স্ক্র্যাচ তৈরি করেন
  2. concurrency

তৃতীয় বছর:

  1. অ্যালগরিদম
  2. অপারেটিং সিস্টেম, আপনি একটি সাধারণ কার্যকারিতা এবং বর্ধন যোগ করুন
  3. আনুষ্ঠানিক ভাষা

চতুর্থ বছর:

  1. নেটওয়ার্কিং
  2. বিতরণ সিস্টেম
  3. ব্যবহারকারী ইন্টারফেস
  4. উন্নত সংকলক
  5. উন্নত অপারেটিং সিস্টেম
  6. কৃত্রিম বুদ্ধিমত্তা
  7. কম্পিউটার গ্রাফিক্স

এই কোর্সগুলিতে প্রচুর তত্ত্ব এবং কোডিং অনুশীলন সরবরাহ করা উচিত।


-2

এটা আশ্চর্যজনক কেউ কম্পিউটার আর্কিটেকচারের কথা উল্লেখ করেনি।


আমি মনে করি কম্পিউটার আর্কিটেকচার জানা গুরুত্বপূর্ণ যদি আপনি মেমরি ক্যাশে, পৃষ্ঠা ফল্ট ইত্যাদি প্রভাব বুঝতে চাই
apoorv020
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.