Textbook published by a CAS graduate student

Last year, one of our recently graduated Master's students, Daniel Zingaro, published a textbook "Invariants: a Generative Approach to Programming". We asked him what made him start graduate studies at McMaster, what he expected to learn, what motivated him to write a book, what the reaction to the book is so far, and what his plans are about becoming an instructor:

I started grad studies at Mac after I had the opportunity to work with Dr. Sekerinski the summer before. During that summer I realized that there was a whole lot more I could learn by hanging around Mac for a couple more years. I didn't know what I wanted to research yet, but I was intrigued by the courses I would be able to take and the chance to focus on deeper concepts in CS.

The motivation for the book came from the realization that I could synthesize a lot of my graduate readings, courses, discussions, and research into a framework that would be accessible to students entering undergrad. I became very interested in CS education while at McMaster and was intrigued by the chance to apply powerful reasoning concepts very early in students' curricula. We used a draft of the book last year in CS2O03 at McMaster and I used parts of it this year at U of T while teaching an algorithms course. I was able to ask first- year students at U of T to write invariants for various quicksort partition methods, with good results. The students didn't find it easy, but were able to readily include invariants with their Java code as I hoped. Some went as far as to add assertions to the code in order to further support their invariants, a technique that I had not included in the book, but something that really connected programming and "proving".

My interest in teaching started when I had the opportunity to be a TA at McMaster for CS4TB3, the compiler construction course taught by Dr. Sekerinski. I was interested in all aspects of the course and was permitted to help with creating tests and assignments. I had no idea I was interested in teaching before this.

Now, I have been teaching courses at Centennial College and U of T. My PhD will focus on CS education, in particular the experience of students in undergrad formal methods courses.

The book can be ordered through Amazon.

© 2006 McMaster University  |   1280 Main Street West  |   Hamilton, Ontario L8S4L8  |   905-525-9140  |   Contact Us   |   Terms of Use & Privacy Policy