কেন তারা স্কুলে এই জিনিস শেখায় না? [বন্ধ]


118

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

  • অংশ পরিক্ষাকরণ
  • ভর্সন নিয্ন্ত্র্ন
  • চটপটে উন্নয়ন

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

আমাকে ভুল করবেন না বলে আমি মনে করি না যে বিশ্ববিদ্যালয়গুলি সর্বদা ট্রেন্ডেস্ট প্রোগ্রামিং ফ্যাডগুলি শেখায়, তবে আমার প্রফেসররা কি আমাকে কোডিং শুরু করার আগে "ডায়াগ্রাম আঁকানো" ছাড়া অন্য কিছু শেখানো উচিত নয়?


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

14
আমি নিশ্চিত নই যে সংস্করণ নিয়ন্ত্রণটিকে "সর্বশেষ প্রবণতা" বলা ভাল। - SCCS মধ্যে 1972 উন্নত ছিল en.wikipedia.org/wiki/Source_Code_Control_System
JeffH

2
তারা আরআইটিতে এই বিষয়গুলি শেখায়।
geowa4

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

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

উত্তর:


188

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

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

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

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

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

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


44

কারণ আমাদের শিক্ষক:

  1. ইউনিট পরীক্ষার চেষ্টা কখনও হয়নি,
  2. সংস্করণ নিয়ন্ত্রণ এবং কীভাবে ব্যবহার করবেন তা জানেন না
  3. এমনকি "চটজলদি উন্নয়ন" শোনেনি।

শিক্ষার্থীদের বিষয়গুলি তাদের নিজের হাতে নেওয়া উচিত। আমরা এটি করেছি, এবং ঠিক আছে, আমরা না?


3
"আমরা এটি করেছি, এবং ঠিক আছে, আমরা না?" - আমাদের মধ্যে কিছু ... কিছু পথ হারিয়ে গেছে কারণ শিক্ষকরা এতটা করতে পারেনি।
আন্দ্রে রেনিয়া

12
আচ্ছা শিক্ষকরা যা-ই করুন না কেন, লোকেরা এখনও অভিযোগ করবে। ধারালো সবসময় জ্ঞান জন্য ক্ষুধার্ত এবং হবে শুধু জরিমানা আউট চালু করুন।
জেফ্রি জোসে

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

1
@ মিসলভ: আপনার শিক্ষকরা কে ছিলেন?
সিজারগন

43

লিওনার্দো দা ভিঞ্চি লিখেছেন,

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

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


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

তবে সাধারণ "ইনট্রো টু সফটওয়্যার ইঞ্জিনিয়ারিং"-টাইপ ক্লাস চলাকালীন একাধিক বক্তৃতায় সংস্করণ নিয়ন্ত্রণের আচ্ছাদন সম্ভবত প্রয়োজনীয় নয়। এটি কী করে, বুনিয়াদি ব্যবহার, সম্ভবত ব্রাঞ্চিং / মার্জিংয়ের বিষয়ে কিছুটা Coverেকে দিন।
অ্যাডাম জ্যাসকিউইচ

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

@ অ্যালান, আপনি কোন বিদ্যালয়ের কথা বলছেন?
লাইফবালেন্স

40

কম্পিউটার বিজ্ঞান সর্বদা কিছুটা পরস্পরবিরোধী; কম্পিউটার সম্পর্কে যে অংশটি বিজ্ঞান নয়, এবং যে অংশটি একটি বিজ্ঞান কম্পিউটার সম্পর্কে নয়।

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

এখন, আপনি এই শেষ বাক্যটি বুঝতে যে সমস্ত জিনিস শিখতে হবে সেগুলি সম্পর্কে চিন্তা করুন - উত্তরটি যদি 'বিশ্ববিদ্যালয়' হয়, তবে তারা ঠিক আছে।


13

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

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

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

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

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

এই প্রশ্নের কোনও সার্বজনীন উত্তর নেই, আপনার মতামতটি কী তা আপনাকে খুঁজে বের করতে হবে, এটির সাথে বেঁচে থাকুন এবং এটি রক্ষা করুন। আপনার মন পরিবর্তন করুন, এটির সাথে বেঁচে থাকুন এবং এটি রক্ষা করুন।

সবকিছুর প্রশ্ন করুন ... চুলার উপরে গরম পাত্রটি স্পর্শ করলে আমি কি সত্যিই জ্বলে উঠব? আতঙ্কিত হওয়ার মানসিক প্রভাবগুলি কি কেবলমাত্র পোড়া হওয়ার চেয়ে বেশি ক্ষতি করতে পারে? আঘাত না পেয়ে উত্তর পরীক্ষা করার নিরাপদ উপায় আছে কি?

যখন আমি এটি সামর্থ্য করতে পারি তখন আমি কেনার পরে অবশেষে আমার আস্তানা ঘরে ট্রানজিস্টর, ক্যাপস, রেজিস্টর ইত্যাদিতে দ্রবীভূত করতাম, যার সমস্তটিরই একটি বিশেষ গন্ধ আছে। আপনার প্রথম ট্রানজিস্টর ক্লাসের পরদিন একটি তৈরি করার চেষ্টা করার চেয়ে আপনার স্টেরিওর জন্য কেবল একটি অ্যাম্প কিনতে এটি অনেক সস্তা এবং সহজ। লিনাস ব্যতিক্রম হ'ল একটি লেখার চেয়ে কেবল একটি অপারেটিং সিস্টেম কেনা সহজ ... আপনি আরও শিখতে পারবেন যদিও আপনি সেই সময়ে যা শিখলেন লিনাস যা শিখেছে তার চেয়ে আলাদা।

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

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

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

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

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

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


12

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


3
আপনি একটি বিচ্যুতি এবং যেমন একটি ভাল থাকার জন্য ধন্যবাদ।
এমনকি Mien,

ক্লাসের শিরোনাম কী ছিল?
ডিন জে

11

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

যে সংস্করণগুলি আপনাকে সংস্করণ নিয়ন্ত্রণ, বা কীভাবে কার্যকর ইউনিট পরীক্ষাগুলি লিখতে শেখায় ... এটি আপনাকে একটি বাণিজ্য , যথা (ভাল) সফ্টওয়্যার বিকাশ শেখায় ।


10

ওহ .শ্বর আমাকে শুরু করবেন না

আমি একবার একটি নামীদামি বিশ্ববিদ্যালয়ে সিসির ডিন নিয়ে এসেছি আমাকে জানিয়েছিলেন যে অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং কেবল একটি 'ফ্যাড' ছিল তাই তারা সি ++ এর মতো অনুরাগী পাস করার কোনও ক্লাস করেনি

কেন তারা এই বিষয়গুলি শেখায় না, ভাল, কলেজটি এখানে আপনাকে অনুশাসনের মৌলিক বিষয়গুলি শেখানোর জন্য রয়েছে, অগত্যা শিল্পের সেরা অনুশীলনগুলি নয়


2
বা অন্যভাবে বলতে গেলে, বিশ্ববিদ্যালয়গুলি ভোকেশনাল প্রশিক্ষণের পরিবর্তে একাডেমিক শিক্ষা প্রদান হিসাবে তাদের ভূমিকা (সঠিকভাবে বা ভুলভাবে) দেখে। এ কারণেই অনেক তাজা স্নাতক রিয়েল-ওয়ার্ল্ড প্রোগ্রামিংয়ের কারুকাজ সম্পর্কে খুব কম জানেন (যেমন রক্ষণাবেক্ষণযোগ্য কোড লেখা)।
অ্যান্ড্রু সোয়ান 3

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

তিনি আপনাকে কখন বলেছিলেন যে ওওপি একজন অভিনব? জাভার আবির্ভাবের আগ পর্যন্ত ওওপি প্রয়োজনীয় জ্ঞানের চেয়ে এক ধরণের নিকটে ছিল।
অ্যান্ড্রু প্রোক 16

@ [ড্রেউস্টার]: ১৯৯৪, যদিও আমি মনে করি আপনি জাভাকে অনেক বেশি ক্রেডিট দিয়েছেন। ওওপি প্রোগ্রামিং-ভাষা বিবর্তনে একটি যৌক্তিক অগ্রগতি; ইতিহাসের যে কোনও পর্যায়ে এটিকে "ফ্যাড" বলা (1994 সালে খুব কম) কোনও সিএস ডিনের জন্য ফ্যাকাশে ছাড়িয়ে স্তরের অজ্ঞতা নির্দেশ করে।
স্টিভেন এ। লো

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

9

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

সংস্করণ নিয়ন্ত্রণ তবে এমন কিছু যা আজকাল অবিসংবাদযোগ্য। এটি এমন একটি বিষয় যা প্রত্যেকেরই এটি বোঝার দরকার যা একটি কম্পাইলার হিসাবে প্রায় দরকারী এবং সিভিএস প্রায় 20+ বছর ধরে রয়েছে। ধারণাগুলি কমপক্ষে কোনও প্রোগ্রামার বিশ্ববিদ্যালয় ছেড়ে যাওয়ার মাধ্যমে বুঝতে হবে। ভাগ্যক্রমে আপনি যদি বিশ্ববিদ্যালয়ে কোনও গ্রুপের কাজ করেন তবে আপনি সম্ভবত ভাগ্যবান যে কোনও ব্যক্তির সাথে অবতরণ করতে পারেন যা ইতিমধ্যে সংস্করণ নিয়ন্ত্রণ সম্পর্কে জানেন এবং আপনার গ্রুপটিকে এটি ব্যবহারের জন্য দৃ conv়প্রত্যয় জানায়। আমি জানি আমি আনন্দিত যে ব্যক্তিটি আমার দলে ছিল।

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


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

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

7

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


6

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


সুতরাং আমাদের কেবল কম্পিউটার সফটওয়্যার নয়, কম্পিউটার বিজ্ঞানী নিয়োগ করা উচিত? ;-)
অ্যান্ড্রু সোয়ান

আপনি যদি মনে করেন যে এই জিনিসগুলির কোনওটি 'ইঞ্জিনিয়ারিং' এর সংজ্ঞা পূরণ করে তবে আমি উদ্বিগ্ন। তারা ইঞ্জিনিয়ারিং নয়, স্কিলিটের সংজ্ঞা পূরণ করে।
বেঞ্জামিন আর

6

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

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

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

গ্লাইফ যা বলেছিল, তাতে আমি দৃ strongly়ভাবে একমত হই। সিএস এমন একটি অপরিণত ক্ষেত্র, যা কেবল গত ৫০ বছরে প্রায়, আমরা জানি না যে আমাদের কী শিখতে হবে এবং কেবল একটি উত্তীর্ণ ফ্যাড কী। এটি একটি 150 বছর দিন, তারপরে জিনিসগুলি আরও স্থির হয়ে উঠতে পারে। ব্যর্থ রিয়েলওয়ার্ল্ড প্রকল্পগুলির সংখ্যা এটি স্পষ্ট করে তোলে যে এটি একটি অপরিণত শিল্প। কল্পনা করুন যদি ৮০% বিল্ডিং প্রকল্প ব্যর্থ হয়!


5

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

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

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

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


খুব ভাল বলেছেন! আপনারা পারেন দুধ।
আন্দ্রে রেনিয়া

3

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

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


3

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

একইভাবে ইউনিট পরীক্ষার জন্য - কেন ইউনিট টেস্টিং বেছে নিন? অবশ্যই ব্যবহারযোগ্যতা পরীক্ষা, সিস্টেম পরীক্ষা, ব্যবহারকারীর গ্রহণযোগ্যতা পরীক্ষা এবং কারখানার গ্রহণযোগ্যতা পরীক্ষা আরও গুরুত্বপূর্ণ? ঠিক আছে, কোডটি রক্ষণাবেক্ষণ বিভাগে প্রেরণের পরে আপনি নিজের কাজটি সম্পূর্ণ বিবেচনা না করে তারা হবেন :)

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

  • ভাল মন্তব্য অনুশীলন
  • মান সম্মতি (কেবল আন্তর্জাতিক নয়, দল কোডিং মান)
  • ডকুমেন্টেশন
  • পরিবর্তন পরিবর্তন (প্রয়োজনীয়ভাবে সংস্করণ নিয়ন্ত্রণের মতো নয় যা পার্থক্য সংরক্ষণের বিষয়ে রয়েছে, এটি কী এবং কেন আপনি কিছু পরিবর্তন করেছেন সে সম্পর্কে এটি আরও বেশি)
  • ব্যবহারের বিকাশ

উপরের সমস্তগুলি "নরম দক্ষতা" যা আপনাকে ভাল কোড লেখার প্রয়োজন নেই

তবে যদি আপনি ডেটা স্ট্রাকচার এবং অ্যালগরিদমের মতো "শক্ত" দক্ষতা হারিয়ে ফেলেন তবে ভাল কোড লেখার আপনার সম্ভাবনা অসম্ভবের পরে।


2

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

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


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

2

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

আমি ব্যক্তিগতভাবে মনে করি এটি ঠিক আছে যে তারা এটি করছে। প্রোগ্রামিং তত সহজ নয় যতটা আমাদের অনেকের মনে হয়; অনেক লোক এর সাথে লড়াই করে। আমি বরং এই লোকেরা প্রথমে বুঝতে পারি যে পার্ফোর্সটি যে দৈত্যটি আবিষ্কার করে তার আগে লুপ কীভাবে কাজ করে।


2

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


2

চটপটি বিকাশ ব্যতীত আমি তা সমস্ত নতুন বছর শিখেছি।

আইএমএইচও, এটি সঠিক স্কুলটি বেছে নেওয়ার বিষয়ে। আপনি যদি শীর্ষ 10 এ যান তবে আপনি দ্রুত সমস্ত জিনিস শিখবেন।

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


2

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


2

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


1

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


দুঃখিত, তবে আমি চটপটি এবং সংস্করণ নিয়ন্ত্রণগুলি দেখতে পাচ্ছি না কারণ সমাবেশ লাইনের চেয়ে বেশি বা ক্যালকুলাসের আবিষ্কারটি একটি বিবর্ণ ছিল। বাস্তব বিশ্বে আমরা এমন জিনিসগুলি ডিজাইন করছি যা মৌলিকভাবে প্রোগ্রামিং পরিবর্তন করে চলেছে, তবে বিশ্ববিদ্যালয়গুলি তাদের সামান্য বক্তৃতার স্ট্যান্ডে বাস্তবতার সংস্পর্শের বাইরে চলে গেছে যে তারা সচেতন নয় যে আমরা এগিয়ে চলেছি।
অস্টিন

1

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

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


1

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

এটি কেবল তিতাসের মতো লোকদের কারণেই আমরা এমন কোনও শিক্ষাবিদ পাচ্ছি যারা সত্যিকার অর্থে প্রোগ্রামিং করে - এই বিষয়ে তার মন্তব্যগুলি এখানে পড়ুন

আমি যখন ছাত্র ছিলাম আমি এক্সট্রিম প্রোগ্রামিং সম্পর্কে গ্রন্থাগারে বই পড়তাম, তখন আমরা ক্লাসে এটি নিয়ে আলোচনা করতাম - একই ক্লাস যা আমাদের দাবি করেছিল যে আমরা সফ্টওয়্যার বিকাশের "জলপ্রপাতের মডেল" মেনে চলি, যেখানে "সংকলন" এর একটি পদক্ষেপ নিজের।

আপনার ক্যারিয়ারের সাথে সর্বোত্তম, আমি আশা করি আপনি আপনার ডিগ্রি স্নাতক করেছেন, আপনার নামের পরে চিঠিগুলি পেয়ে ভাল লাগল। :)


1

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


1

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

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

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


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

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

আপনার কোড ইউনিট / গ্রহণযোগ্যতা পরীক্ষায় পাস করবে বা না তা আপনি গ্রেড না করার কোনও কারণ নেই।

1

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

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

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


1

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

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

শেখার প্রক্রিয়াটি এখনও সমস্ত তত্ত্ব দিয়েই শুরু হয়, তবে তারপরে সাধারণত আমাদের জিজ্ঞাসা করা হয় "আপনার মধ্যে কতজন প্রকৃতপক্ষে আপনার কাজের ক্ষেত্রে এটি ব্যবহার করেন?" এবং সাধারণ উত্তরটি হ'ল "আমরা এটি ব্যবহার করি তবে সরানো বা সরল উপায়ে" এবং তারপরে আমরা বাস্তব বাস্তব পরিস্থিতির মধ্যে যাই।

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

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

সুতরাং দ্রুত উত্তর হ্যাঁ হ্যাঁ সেখানে স্কুলগুলি রয়েছে যা আরও বাস্তববাদী পদ্ধতির পরে অন্যদের।


1

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

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

এছাড়াও, কতদিন ধরে চৌকসতা ছিল এবং আপনি কোন ধরণের চৌকস বোঝাতে চেয়েছিলেন? আমি যা দেখেছি তার থেকে এটির বহুবিধ বাস্তবায়ন রয়েছে।


1

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

সংস্করণ নিয়ন্ত্রণ এবং ইউনিট পরীক্ষার পদ্ধতিগুলি সর্বদা পরিবর্তিত হয় এবং ভাষার উপর নির্ভর করে, বা যে ব্যক্তি তাদের সংজ্ঞা দেয়।

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


হুম আমি ভেবেছিলাম কলেজ এবং বিশ্ববিদ্যালয় মানে একই .. যদিও স্থানীয় বক্তা নন।

মার্কিন যুক্তরাষ্ট্রে আপনি (দেশ অনুসারে) কোথায় আছেন তার উপর নির্ভর করে তারা একই, কানাডায় তারা আলাদা। আমি মনে করি যে রাজ্যগুলিতে আমি কোলাজ বলি তাকে আসলে জুনিয়র কোলাজ বলা হয়। অস্ট্রেলিয়ায় এটিকে তাফ বলা হয় (বানানটি ক্ষমা করুন) .. নেটিভ স্পিকার না হয়ে এই জিনিসগুলিকে খুব "মজাদার" করে তোলে
baash05
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.