Jelani Nelson, Assistant Professor of Computer Science, assigns students real programming problems in his introductory algorithm courses, CS124 Data Structures and Algorithms and CS125 Algorithms & Complexity. Students write and test their coded solutions to practice problems via an open server on the course website and receive immediate feedback on their work.
The benefits: According to Nelson, programming problems increase students’ understanding of computational theory by helping them practice algorithm design methods such as the divide and conquer technique. In addition to the retention benefits, the course server software offers scalable instruction practices including automated grading and more efficient management of deadline extensions. Read more about Real problems: Teaching theory through practice