Over 50 tutoring hours

Thomas A.

Corvallis, OR


Math-Related Subjects

In-person lessons
Background check passed as of 4/24/14
4.0 average from 21 ratings
good tutor but didn't explain ideas very well
— Gerry, Corvallis, OR on 11/14/16


Send a message explaining your needs and Thomas will reply soon.

Response time: 11 hours

Contact Thomas

Oregon State University
Math, Physics
Oregon State University (Computer Science)


Oregon State University (Math, Physics)

Oregon State University (Computer Science) (PhD)

About Thomas

My name is Tom and I’m very passionate about teaching math. I have degrees in 3 math-related subjects from Oregon State University. I have a B.S. in math and physics, and a Ph.D. in computer science. All things math are my passion including probability, statistics, electronics, logic circuits, electrical theory, etc. I find it exhilarating when a difficult concept is understood by my students. I find that helping both struggling students, and accelerated math students, reach their goals is immensely satisfying.

My experience includes teaching at Oregon State University, tutoring at both high schools in Corvallis and I’m currently tutoring students through Disabilities Access Services at Oregon State University. I was a Teaching Assistant for 4 years at OSU and an instructor in the Computer Science Department; during this time I received good reviews by my lead professor. The subjects I've tutored include: math, physics, computer science, probability, statistics, and even specialized topics such as "discrete math".

Teaching approaches that separate me from others is the movement away from rote-memorization. I’ve found success in teaching techniques to track down problems so students have tackle math problems much like a detective. This can help make even the tedious mathematical equation more interesting. I not only do the typical step-by-step approach for traditional sequences, but like to connect one concept to another so students not only understand how to solve the equation, but why it is done a certain way, and how it is related to the bigger picture. I have a knack for explaining problems from several viewpoints which I have found aids long-term memory. I love math and loving sharing my passion with others.
My name is Tom and I’m very passionate about teaching math. I have degrees in 3 math-related subjects from Oregon State University. I have a B.S. in math and physics, and a Ph.D. in Read more

Travel Radius
Travels within 2 miles of Corvallis, OR 97333
Background Check: Passed
In-person lessons

"good tutor but didn't explain ideas very well"

- Gerry, Corvallis, OR on 11/14/16

"Great Math Tutor"

- Connor, Corvallis, OR on 4/24/14
ACT Math, Algebra 1, Algebra 2, Calculus, Differential Equations,
Discrete Math,
Econometrics, Finite Math,
Geometry, Linear Algebra,
Prealgebra, Precalculus, Probability, SAT Math, SPSS, Statistics, Trigonometry
ACT Science, Astronomy, Chemistry, Electrical Engineering,
Mechanical Engineering, Physical Science, Physics
English, ESL/ESOL, Grammar, Reading, Writing
Test Preparation:
ACT Math, ACT Science, SAT Math
COBOL, Computer Engineering, Computer Programming,
Computer Science,
General Computer, HTML, Java, JavaScript, Linux, Macintosh, Mathematica, MATLAB,
Microsoft Excel, Microsoft PowerPoint, Microsoft Windows, Microsoft Word, Pascal, Python, SPSS, UNIX, Web Design
World History
Elementary Education:
Grammar, Reading, Study Skills
Accounting, Economics, Microsoft Excel, Microsoft PowerPoint, Microsoft Word

Approved subjects are in bold.

Approved subjects

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 a Ph.D. in computer science and many years of experience in C programming (as well as many other computer languages). I can explain/tutor the following important (even critical) features of C: four major types of program statements, expressions/precedence table, loop design, data structures/types, function declarations/use/standard, library, (beginner) pitfalls/traps. I can also explain more abstract concepts such as: overall program design issues/process thereof/control of complexity, and many other aspects of programming--including debugging techniques.


I have a Ph.D. in computer science from Oregon State University (as well as degrees in math and physics), teaching experience in the C language at OSU (as well as several theory courses), and took the C++ class at OSU.

The C++ programs I've written include one to reduce a matrix of rational numbers and another to analyze a 3-dimensional matrix (both approximately 1000 lines). I am knowledgeable in the pitfalls/traps/potential misuses in both C and C++ (an example of a trap for the latter is writing virtual objects to a disk file; the "cure" seems to be rolling your own in this case). Another example is the "inbred grandfather class".

I can also address more abstract issues including: the design process (organizing your program), debugging techniques/tracking down a problem. The real rational of object-oriented programming is to promote a higher level of organization for applications that have complex data types and relations between those data types.

Computer Programming

I have computer science (CS) Ph.D. (as well as degrees in math and physics). My experience includes teaching and grading courses at Oregon State U. in the C, FORTRAN, and LISP languages (as well as theory courses). I have also written complex programs in C++ and PASCAL and am familiar with/have some experience with a dozen other high-level languages and a dozen machine/assembly languages.

Solid knowledge of the computer language the programmer uses is critical to programming--especially expression syntax (which resembles algebra in the majority of computer languages), tests, loops, subroutines as well as declarations and comments, all of which I can explain.

I can also explain deeper/more abstract issues such as: the design process/how to "organize" a program/control complexity/make the program "easily verifiable", debugging techniques, and many other aspects of programming.

Computer Science

I have a Ph.D. in computer science (CS) and have taught many CS courses--including both theory and programming languages.

At Oregon State University, I have graded/taught/tutored undergraduate (300-level)/graduate theory courses covering concepts ranging from "efficiency" of algorithms to language theory/automata (theoretician's "toy" computers).

On the programming side, I have taught the C and FORTRAN languages at OSU, and could teach many others as well as many concepts related to programming.

Differential Equations

I have degrees in Math [including two graduate-level sequences in differential equations (DEs)] and Physics (which "lives and breathes" DEs).

I am familiar with DE-equation types and can give pointers on how to recognize these types and choose a technique to solve them.

I can also explain partial-differential equations and their solution techniques such as "separation of variables".

Discrete Math

I have degrees in math, physics, and a Ph.D. in computer science. My experience includes teaching several theory computer courses (Oregon State University) which rely heavily on discrete math as well as tutoring students in finite/discrete math.

In addition to finite-math concepts, I can tutor subjects ranging from the theory of the integers/infinite/countable sets, mathematical induction, computer-related concepts (NP, information theory, recursion), Project Evaluation and Review Technique (PERT) charts/critical-path method (CPM), numerical techniques (number-crunching, equation solving, etc.) discrete analogues of continuous concepts (geometry, logarithms, calculus--also known as finite differences), and many other topics under discrete math's non-continuous-math umbrella.

I can explain connections between concepts, why they should be so defined, how abstract concepts relate to problems, and strategies for problem-solving. Some examples are: how to recognize what approach to take, the sequence of steps, and why these approaches are appropriate.


I have used DOS heavily since I got my first PC in Dec. '86. That usage includes the creation of over a thousand batch files, creating some utilities (written in C), as well as defining more than a thousand commands under a program that permits single-line command definitions. My expertise also includes configuring bootstraps (config.sys and autoexec.bat--which I broke up into several subroutines). Also include optimizing the placement of "Terminate-and-Stay-Resident" programs in main and "upper" memory (manually--I do not trust programs that do this "automatically" because they wouldn't do that the way I want).

Electrical Engineering

I'm a superwhiz in the background subjects (math and physics--and have passed several WyzAnt tests in these areas). As someone who has deep knowledge of physics, I am, of course, knowledgeable in electrical theory. My dad is a retired electrical engineer, and I got started learning from him and then passed him up. I have designed circuits using transistors and integrated circuits. For example, I designed a digital circuit to measure the speed of HO model railroads in HO miles/hour, my dad built it, and I debugged it. I have also been tutoring high-school and occasionally college students in electrical theory. As a physics grad, I know the 19th-century "theory of everything" for electricity and magnetism (Maxwell's equations)--and have occasionally tutored college students on this theory.

Finite Math

I have math, physics, and computer-science degrees as well as extensive knowledge of probability and statistics. My experience includes: teaching computer-science courses (at Oregon State University--OSU) for which finite/discrete math was a prerequisite, tutoring many subjects which fall under the umbrella of finite math, and tutoring students taking finite/discrete math courses.

My extensive math knowledge includes the following discrete/finite math topics: traditional algebra-to-precalculus/matrices/trig curriculum, associative law, set theory, venn diagrams, graph theory, (equivalence) relations, theory of prime numbers, group theory through (including skew) fields, linear programming, number of combinations, probability/statistics, mathematical models, game theory, and a wide variety of similar/related topics such as logic, veitch diagrams/Karnaugh maps, and information theory.

I can explain connections between concepts, strategies for problem solving, and why they are performed in a particular way--especially the reason behind algebraic equation solution techniques.


I used Fortran extensively when I was in high school. I taught Fortran (as the primary instructor--somebody else graded the papers) at OSU for 1 term. Even so, I remember most of the features of the language years later.

Linear Algebra

I have: math, physics, and computer-science degrees as well as experience teaching computer science courses at Oregon State University (OSU). My coursework includes: advanced linear algebra (LA) courses at OSU which I aced (skipping the simpler ones) as well as matrix numerical analysis (meaning calculations involving numbers in a computer) and related numerical issues.

My knowledge of this subject includes: a thorough understanding of the reasons for the procedures used in linear algebra/why various aspects of LA work the way they do--including many connections between aspects such as the rank of a matrix and the number of dimensions of the related subspace.


I am thorough familiar with the concepts of symbolic logic (SL, and much more--including predicate logic). My background includes proof in geometry and "advanced calculus" (proof-oriented calculus), so proofs involving a very few variables in SL are easy. I'm familiar with "modus ponens" (the simplest form of deduction), distributive and Demorgans laws, etc. Also note that SL is equivalent to set theory and Boolean Algebra.


I have a Ph.D. in computer science (Oregon State U., 2002).

My experience includes: teaching assistant and instructor in computer science (4+ years, OSU), I took every numerical analysis course at OSU (including one that used MATLAB), many programming languages--assembly/machine language to javascript.

MATLAB is a programming language that supports operations on vectors and matricies as single statements (i.e., no loops), making it a "simplified" version of APL, with which I'm quite familiar.


I hate to rely entirely on rote memorization. Instead, I rely on visualizing geometric diagrams to help remember trig relations--and can explain these diagrams to students. It is also helpful to understand concepts from multiple viewpoints--including connections to other concepts (such as complex multiplication). Even though it has been a long time since I took trig and other mathematical subjects, I have a phenomenal memory for mathematical concepts. Besides a variety of relations in (right) triangles, I can explain how the cosine law relates to (and can be derived from) the Pythagorean theorem.

Oregon State University
Math, Physics
Oregon State University (Computer Science)


Oregon State University (Math, Physics)

Oregon State University (Computer Science) (PhD)

good tutor but didn't explain ideas very well

Smart tutor but I just never got the click moment. I'm sure others would benefit excellently but I just couldn't understand

— Gerry, Corvallis, OR on 11/14/16

Hourly rate

Standard Hourly Rate: $30.00

Travel policy

Thomas will travel within 2 miles of Corvallis, OR 97333.