私は、システム分析と設計に関する 1 学期の大学のコースを教えています。トピックには、設計パターン、UML、OOP、ソフトウェア開発ライフサイクル、およびさまざまな方法論 (アジャイル/スクラム/BDUF/ウォーターフォールなど) の歴史、利点と欠点が含まれます。
コースに参加する学生はプログラミングに触れる必要がありますが、実際には、1 つまたは 2 つの現代言語に堪能な人から、FizzBuzz テストにかろうじて合格できる人まで、あらゆる人を見てきました。
私の質問は 2 つあります。学生がこれらのトピックに触れる前に、どのくらいのプログラミング経験が必要だと思いますか (または、コーディングを学ぶ前に学習する必要があると思いますか)、次に、どのような方法が公平で適切だと思いますか?クラスの開始時に事前テストを行いますが、彼らのバックグラウンドには一貫した言語やプラットフォームがないことを知っていますか?