UC Santa Cruz (Mathematics)
Hi, I am a retired computer programmer who has been using Unix systems to write software in C, Java and many other languages since the mid 1980's, when I received my BA in Math. Along the way I've become an expert Excel and MS Word user.
In teaching, I aim to support my students to learn for themselves. This means that I ask them to do most of the work (since most of us learn better by trying it ourselves) and watch what they do to find the places where they have difficulties.
Note to new students:
I find I'm often helping people with a specific programming assignment. If this is you, please consider including the following in your first or second email to me. If I have a chance to get familiar with the assignment and code, it means that I use less of our time together (for which I bill you) figuring out what's going on. I generally ask for at least a day's advance notice of: 1) the assignment, 2) any code you have written, 3) any specifics about what's causing you difficulties.
I also like to know : a) what you use to compile and run your code (e.g. Eclipse, or Gnu C compilers), b) what OS you use (typically one of Linux, Mac OS, or Windows), and c) is there any programming project that interests you (not a homework assignment). As an example, I like to compute and print Fibonacci numbers. Hi, I am a retired computer programmer who has been using Unix systems to write software in C, Java and many other languages since the mid 1980's, when I received my BA in Math. Along the way I've become an expert Excel and MS Word user.
In teaching, I aim to support my students to learn for themselves. This means that I ask them to do
I am available for groups - please contact me for rates.
I took some lessons in R programming from Craig this year. He was an amazing tutor, very meticulous, patient and knowledgeable!! I would most definitely recommend him to anyone wanting to learn programming. in fact I will get in touch with him next year for Python Courses!
My son was having difficulties with a graduate-level course that ended up being more computer processing than map design. Craig has been a lifesaver - he has excellent teaching skills and really helps my son understand the material, as well as just getting the assignment done. We highly recommend him!
He's Already Provided Some Great Insights, Other Learning Resources, Inspiration In My Studies, Very Laid Back But Sharp, In-Tune, Good Listener. Where My Individual Passion For The Subject Tapers Off He Sparks A New Interest Where There Once Wasn't.
Craig's teaching style demonstrates his deep knowledge on the subject and he challenges me to think outside the box.
Craig was a pleasure to work with. He taught me more than I have learned in an entire semester. He answers in a thorough and methodical way where it can't help but make sense.
This is my 2nd review of Craig. I'm studying Java thru an online school at an intermediate level. Sometimes the online discussion format just isn't good enough for getting my questions answered, and it helps to discuss things one-on-one with a "live" person. That's where Craig comes in.
I've been using Craig's tutoring services once or twice a week now for about 4 or 6 weeks. It's been apparent since my first meeting with him that Craig knows Java REALLY WELL, which is one reason I keep using him! His thorough knowledge with Java probably stems from the fact that, according to Craig, Java has been his primary language for many of his 25 years of work as a professional programmer.
Not only does Craig seem to enjoy tutoring but he also likes Java as well. He is a very patient tutor and doesn't get frustrated when I get stuck. I can also tell that he has enough experience to show me subtle alternative techniques for what my assignments require that are both appropriate for my level of learning, but yet are not over my head.
In addition to Java, Craig has also mentioned to me that he knows UNIX really well, too, because he worked with Java in a UNIX operating environment for many years. Soon, I would like to start asking him about Linux.
Craig is reliable and professional, yet informal. Although he's sometimes just a few minutes late, he's never canceled a tutoring session without notifying me first, and he's MORE THAN FAIR with his time spent versus the amount he charges. I would DEFINITELY recommend him to anyone who needs help with Java! I would also recommend him for UNIX or C++, which is another programming language that Craig knows fairly well because of its similarities with Java.
My rating: 4 1/2 - 5 STARS (out of 5).
Craig was very reliable, helpful and caring. He worked hard at making sure he helped me with what I needed.
Craig is a unique combination of smart, fun, innovative and kind. The kids picked up on his qualities immediately and fell into learning about computer programming and math. After a fun hour or so of learning, he then taught the kids how to fall. It was like having a favorite uncle come to visit. We can't wait until next week's lessons.
In most cases, tutors gain approval in a subject by passing a proficiency exam. For some subject areas, like music and art, tutors submit written requests to demonstrate their proficiency to potential students. If a tutor is interested but not yet approved in a subject, the subject will appear in non-bold font. Tutors need to be approved in a subject prior to beginning lessons.
I have been a professional programmer, writing data analysis and display tools in C since 1985. In addition, I have taught programming, basic and intermediate computer usage skills to college students, faculty and staff.
This been using Macintosh, Linux, Unix and VMS computers. I have also been a system administrator for the Linux machines.
As part of my work I have taught programming to college students, faculty, staff and more junior programmers.
I've been learning about computers since the early 1980s, mostly self taught. My work has been programming computers, usually for schools, and that included lots of informal instruction of students, faculty and staff in how to use computers.
I've used Windows since it began, Linux from when it was Unix, and Apple computers since the first Mac came out. Most of the time, I can explain what's happening 'under the hood' as deeply as you care to go.
I have used Java as my primary programming language since 2001. With it, I've written small to medium sized programs and web servlets for a research group specializing in medical imaging research. The programs read, write, analyze and display numerical data sets using a variety of technologies including Java-3D. I usually use Eclipse as my development environment.
In teaching, I emphasize understanding and design (as distinct from coding without thinking) because it makes everything easier and much more fun.
I like making tools that do something useful, and Java is a good way to do so.
I have been a professional programmer for over twenty years, using Linux and Unix computers. I have also been a system administrator at times, and have taught use of Unix computers at levels ranging from beginner to expert.
I have been a professional programmer and Unix system administrator since 1985.
As part of my work I have taught college students, faculty, staff how to use Unix (and Linux) systems to get work done. I consider myself well qualified to teach the subjects I have listed above.
When teaching about computers, I like to ask questions of my students, mostly of the nature: "what do you expect to happen when you push this button" - this is to get them to think, and to make explicit their internal model of how it works. Then, we compare what happened with what was expected to happen, and that gives me a way in to teach them something new. I also believe in allowing mistakes (unless they are going to be huge) so that I can show that a) the error can be fixed and b) help understand what went wrong, and why.