Feedback on TIP Theoretical Foundations of Computer Science



From members of the 2000 class:


When I reflect on my experiences taking this course under Mr. Belmonte, I can say unequivocally that this course is unlike any I have ever taken. Mr. Belmonte attacked the course material with a palpable and enthusiastic passion. Refreshingly, this course focused almost exclusively on the theoretical material that is almost completely ignored in normal high-school level classes. The combination of interesting material, capable teaching, and a humblingly intelligent group of fellow classmates created an atmosphere in which I learned more over the course of three weeks than I have been able to teach myself in ten years of self-instruction. Mr. Belmonte takes pains to demonstrate the context and purpose of every one of the concepts taught; in the end, I was left with an appreciable store of new knowledge, an admiration for a field previously unknown to me, and an intense desire to know more. I would recommend this class to anyone who expresses even a flicker of interest in it; the subject matter is not simply the syntax of a programming language, but the larger problem of formalizing and manipulating those processes that come so naturally to the human mind. In this context, this course was thoroughly enjoyable.



From members of the 1999 class:


LISP computer science has helped me tremendously in school this year. I see the logicality of C++ like never before. As a result, I am writing more complicated and less bug filled programs. I even created a chess program that actually worked. I had tried this before but had never succeeded. I can't believe it, but I have started to program on paper first and I think that is what has made the difference. I am thinking through the programs before coding them. I learned more from your three week class than I had learned in three years of computer science at my school. I got something different out of your class that has drawn everything I've learned together. Your class drastically changed for the better the way I think about and actually program code.



From members of the 1998 class:


I took Mr. Belmonte's course under the assumption that a lot of it would be spent programming. There was a small note in the description of the class that mentioned theory, and I thought that was fine, too. When I got there, we didn't use a computer at all for the first week. We learned mathematical theory. At first, it was a disappointment, but as it went on I got more and more interested in it. The lessons that he taught us about automata theory and such are applicable in any computer science-related field or in any programming language, and I think that I got a lot more out of the class than I would have if he just taught us the syntax of C.


First, I am going to say that I enjoyed the theoretical approach very much, and the ideas and concepts in the class helped immensely my understanding of languages other than the one we focused on and used for writing programs for the class (C++).

The course at TIP was really the first computer science course I had taken, and it has also been the only one that has taught much computer science. Before my experience at TIP, I had previously taken a class in elementary school (LOGO =), and I had taken two one-week courses teaching Scheme. All of my other knowledge was self-taught.

Coming to TIP and taking the class there, I really did not know what to expect from the class. The approach was theoretical, but along with the theory came a better understanding of computer science, in general. The discussions of Finite State Automata, Lambda Calculus, and many other topics that I had never before encountered on the theoretical level helped me both to understand what I had previously dealt with (Scheme and C/C++), as well as helped me widen my knowledge of languages and their inner workings more readily.

Since taking the course at TIP, I have skipped over all C.S. classes at my high school, and I have moved on to taking courses at N.C.S.U. My knowledge of the material covered in the TIP class has allowed me to skip 2 courses at N.C.S.U. and move on to more advanced classes.

Not only does the theoretical work help provide a better general understanding of computer science, but it coincides well with the programming project in the class. To help make the interpreter, methods for scanning and parsing are important knowledge that is derived from the theoretical basis of the classwork.

Personally, Matthew Belmonte's programming project has inspired me to continue working on designing and developing interpreters and compilers for fun.


TFoCS is a Great course! I highly recommend it to anyone intrested in Computers and Computer Science. It's a good bit of work, but you'll really appreciate the better understanding of Computer Science you have, it has really helped me in my AP Comp Sci class this year (all I had to learn was syntax). If you enjoy computers and/or mathematics, you will enjoy this class.