Students can practice skills and acquire knowledge by doing coursework. However, in conventional coursework activities, each student is assigned the same exercises, without considering learners' diversity. Moreover, students typically have difficulty in receiving assistance for completing their exercises after class. Therefore, some students cannot learn effectively when doing their coursework. This work presents a Web Coursework Support System (WCSS) to assist students doing coursework within their Zone of Proximal Development (ZPD). This system applies decision tree analysis methodology for selecting programming exercises at a level of difficulty suited to each student. The assigned exercises thus challenge students. To assist students in completing these assigned exercises, this system allows students to access distributed online learning materials related to a programming concept through links on a single web page and motivates students to answer posted questions in a discussion forum. Experimental results show that the exercises-completed rate and the rate of the assigned exercises completed with assistance were increased. They indicate that WCSS can increase likelihood that students do coursework within their ZPD by offering challenges and assistance. Furthermore, some students' responses were insightful in understanding the benefits and limitations of this system.