I'm also a Cal Poly graduate (computer science) who learned Racket (called PLT Scheme back when I was a Cal Poly student) from Professor John Clements (https://www.brinckerhoff.org), who was involved with PLT Scheme. We used the textbook Programming Languages: Application and Interpretation, which can be found at http://cs.brown.edu/courses/cs173/2012/book/. I'm sorry to say that at the time I took the course, I didn't appreciate it. I loved coding in C and I thought Scheme was weird. But after taking programming languages from Professor Clements, I then took his compilers course. Our first assignment was to implement a Scheme interpreter in a week. We were allowed to use any programming language we wanted. Since I was tired of Scheme, my lab partner and I decided to implement the interpreter in C++. Big mistake....we spent 40 hours on that project, building complex class inheritance hierarchies and not being able to take advantage of many of the features that made writing an interpreter in Scheme a relative breeze. I never complained about writing code in Scheme again.
When I moved on to UC Santa Cruz for grad school, my experience with Professor Clements' programming languages and compilers courses made my required graduate programming language course with type theory expert Cormac Flanagan a relatively smooth experience; going from Scheme to Haskell wasn't too difficult. Sometime afterwards I got bit very hard by the programming languages bug. I'm now working on a side project in Common Lisp, and interestingly enough, I'm actually teaching a programming language paradigms course at San Jose State University this semester where I'll be teaching my students Scheme, Prolog, and Smalltalk, as well as other goodies such as the lambda calculus.
All of this would have not been possible had I not been taught Scheme and functional programming by Professor John Clements. If he is reading this, I thank him immensely for the impact his courses have had on my career. I just wish I had appreciated the courses back when I took them, but over a decade later, I strongly appreciate them, and they're among the most valuable courses I had at Cal Poly.
When I moved on to UC Santa Cruz for grad school, my experience with Professor Clements' programming languages and compilers courses made my required graduate programming language course with type theory expert Cormac Flanagan a relatively smooth experience; going from Scheme to Haskell wasn't too difficult. Sometime afterwards I got bit very hard by the programming languages bug. I'm now working on a side project in Common Lisp, and interestingly enough, I'm actually teaching a programming language paradigms course at San Jose State University this semester where I'll be teaching my students Scheme, Prolog, and Smalltalk, as well as other goodies such as the lambda calculus.
All of this would have not been possible had I not been taught Scheme and functional programming by Professor John Clements. If he is reading this, I thank him immensely for the impact his courses have had on my career. I just wish I had appreciated the courses back when I took them, but over a decade later, I strongly appreciate them, and they're among the most valuable courses I had at Cal Poly.