#  Real problems: Teaching theory through practice 

 



 ![Jelani Nelson posing next to a wall](/sites/g/files/omnuum12666/files/vpl/files/j._nelson_cropped.jpg)

 

**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 &amp; Complexity*. Students write and test their coded solutions to practice problems via an open server on the [course website](http://people.seas.harvard.edu/~cs125/fall16/schedule.htm) 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.

## The challenges

Students who grasp the theoretical approach but submit a suboptimal solution may become frustrated when it fails the server test. “The server doesn’t have human empathy.” In response, Nelson and his teaching team have devised a partial credit system that awards points for solutions that are correct, though not as efficient as the intended solution.



 

##  Takeaways and best practices 

 



 ### Crowdsourcing puts learning in the hands of students.

Starting this semester, students will have the option to share their solutions online. “Where they used to only have two to four staff solutions to review, now they will have access to considerably more peer solutions, as well as different approaches to solving the same problem.”



 

 ### Healthy competition can increase engagement.

Another optional feature—the leaderboard—ranks student solutions and gives assignments a game-like feel. “We teach students how to solve problems efficiently, and they like to compete with one another.”



 

 ### Build once for multiple uses.

CS124 and CS125 course software—along with the leaderboard, discussion threads, and solution sharing features—is used in concurrent Department of Continuing Education (DCE) [online offerings](https://www.extension.harvard.edu/academics/courses/data-structures-algorithms/21462), helping to address the unique challenges associated with engaging distance students.



 

  

 

 

 

### Bottom line 

Solving real problems increased engagement in CS124, as shown by daily online conversation threads. The majority of Nelson’s students (88%) said programming problems helped in learning course material. “They shared with me informally that they enjoyed the practice and gained a lot from it. It’s something that I’m definitely going to continue.”



 

##  Related research 

 



  [### Use of a Social Annotation Platform for Pre-Class Reading Assignments in a Flipped Introductory Physics Class

 ](https://hollis.harvard.edu/permalink/f/1mdq5o5/TN_cdi_doaj_primary_oai_doaj_org_article_2a22610bbac2444c8d335e9804bd22cd) In this paper, we illustrate the successful implementation of pre-class reading assignments through a social learning platform that allows students to discuss the reading online with their classmates. We show how the platform can be used to understand how... 

 

 

   [### Seven principles for good practice in midterm student feedback

 ](https://hollis.harvard.edu/permalink/f/1mdq5o5/TN_cdi_proquest_journals_2462368977) Midterm student feedback is a common process in post-secondary institutions that can lead to enhanced teaching practices and thereby potentially to higher ratings of instructional skills in summative course evaluations. 

 

 

  

 

 [ More Research arrow\_circle\_right ](/intopracticeresearch) 

 

 

 

##  Related resource 

 



  [### Active Learning (Bok Center)

 ](https://bokcenter.harvard.edu/active-learning) Check out the Bok Center’s guides and strategies for active learning, including approaching problems in STEM and leading discussions. 

 

 

   [### 5 reasons Poll Everywhere’s PowerPoint, Keynote, and Google Slides apps are such a big deal

 ](https://blog.polleverywhere.com/native-integration/) Poll Everywhere has native integration with PowerPoint, Google Slides, and Keynote, so teaching staff may solicit feedback right within a slide deck, eliminating the need to open a separate browser window or platform. 

 

 

  

 

 [ More Resources arrow\_circle\_right ](/intopracticeresources) 

 

 

 

 



 

 See also:- [ SEAS ](/featured-faculty/seas)
- [ Into Practice Issues ](/practice-categories/practice-issues)
- [ active learning ](/activelearning)
- [ feedback ](/topics/feedback)