It was kinda based on How To Design Programs (<a href="http:&#x2F;&#x2F;www.htdp.org&#x2F;" rel="nofollow">http:&#x2F;&#x2F;www.htdp.org&#x2F;</a>) though to be honest I never touched the book and relied mostly on the in class instruction (which was what made this class awesome IMHO). I found the website for a newer version of the class:<p><a href="http:&#x2F;&#x2F;web.cs.wpi.edu&#x2F;~cs1102&#x2F;a08&#x2F;" rel="nofollow">http:&#x2F;&#x2F;web.cs.wpi.edu&#x2F;~cs1102&#x2F;a08&#x2F;</a><p>and OMG! I found the assignment!<p><a href="http:&#x2F;&#x2F;web.cs.wpi.edu&#x2F;~cs1102&#x2F;a08&#x2F;Assignments&#x2F;Hwk2&#x2F;index.html" rel="nofollow">http:&#x2F;&#x2F;web.cs.wpi.edu&#x2F;~cs1102&#x2F;a08&#x2F;Assignments&#x2F;Hwk2&#x2F;index.htm...</a><p>&gt; A function update-world that consumes a world and produces a world reflecting what happens when no key is pressed<p>OK, not phrased quite how I remember it but I guess that&#x27;s where the epiphany happened :)<p>I took another class with her that was programming languages, and we used Programming Languages: Application and Interpretation (<a href="https:&#x2F;&#x2F;cs.brown.edu&#x2F;courses&#x2F;cs173&#x2F;2012&#x2F;book&#x2F;" rel="nofollow">https:&#x2F;&#x2F;cs.brown.edu&#x2F;courses&#x2F;cs173&#x2F;2012&#x2F;book&#x2F;</a>) and the course website (<a href="http:&#x2F;&#x2F;web.cs.wpi.edu&#x2F;~cs4536&#x2F;a14&#x2F;" rel="nofollow">http:&#x2F;&#x2F;web.cs.wpi.edu&#x2F;~cs4536&#x2F;a14&#x2F;</a>)<p>This class also had some great epiphanies for me, but again, I think the instruction being top notch helped keep my attention going. This is more advanced stuff conceptually.