I'm looking to connect with students on a one-on-one level. I'm a recent Ph.D. from the University of North Texas, and have over five years of experience teaching a variety of college classes and computer science classes, as well as one-on-one tutoring. The tutoring aspects of my job have always been the most rewarding, since I can get to know a person and understand how the material affects their life. I'm most comfortable when I can learn a student's perspective and tailor my explanation... [more]
Virtually everything I do builds on algebra. Algebra is, in a sense, basic mathematical reasoning. If you start with the same thing on both sides of the equals sign, and you do the same thing to both sides, you'll end up with the same thing on both sides of an equals sign. If you do the opposite of an operation you just did, you can cancel and it still works out. It's easy to get into the habit of doing things without knowing why, and that's a miserable experience and not likely to succeed. I can show why a step does or does not work. I can make it clear that there's more than one way to solve an equation, and help a student arrive at the way of conceptualizing it that works best for.
Calculus has been notoriously obtuse since George Berkeley complained of "the ghosts of departed numbers" in 1734, probably because it challenges our intuitions of infinity. Having taken several graduate courses in real analysis (sometimes called "Advanced Calculus") and conducted mathematical research that frequently involves taking limits of exotic objects, I'm familiar with the machinery under the hood of Calculus. I've approached calculus from several angles, so I can explain the paradoxes as they come up in a variety of ways, tailoring them to a student's individual thinking. I've also I've taught several sections of calculus, precalculus, and multivariable calculus as a graduate student, so I have experience drawing accessible and mathematically correct analogies between calculus concepts and everyday ideas.
I feel that statistics is one of the most important topics I can help teach -- the world is awash with statistics. Unfortunately, because statistics quantifies things like confidence and uncertainty, it has to rely on numerous approximations that make the concepts counterintuitive and the formulas seem arcane. I can help with that. I've taught college-level statistics, and I can explain the charts, the formulas, and the buttons on a TI calculator. I can help work through word problems, which statistics in particular has a lot of, and point out the key pieces of information that make clear what kind of situation each word problem describes.
I wrote Java professionally for about a year and a half working for Qwest, now CenturyLink. This required significant debugging work of both my code and others's. I used the JUnit unit testing framework under Eclipse to assist with this and guard against future bugs, and am confident I can work with other similar development software. My team was tasked with integrating telephone and internet access with DirecTV. My personal focus was keeping our source control system working smoothly and automating the many steps of the build and deploy process, working towards continuous integration. We used the Hudson continuous integration tool to kick off one five hour build and deploy every day. I wrote Java and Groovy to replace and extend our existing shell script framework for this purpose, using Ant to tie together the process.
I've used python for over ten years and have been tutoring it for two and a half years. I know the nuts and bolts of how Python is implemented "under the hood" and can apply that experience to show how to write slick, elegant, clear code. I've also used many of Python's most popular libraries and frameworks, including numpy, pandas, tensorflow, and django.
I've used C++ throughout my Master's degree and beyond, most often in the context of scientific computing. I'm familiar with not only language syntax, but debugging techniques, pros and cons of many design processes, and modifying existing code (often buggy and poorly designed). My Master's thesis project was the development and simulation of a routing protocol for Mobile Ad-hoc Networks. That is, given a collection of devices that can communicate wirelessly but there is no fixed base station (i.e., a disaster recovery scenario), how can machines communicate with each other, even when they're very dense or very spread out? I've also used C++ heavily in my mathematics research to perform difficult computations and generate examples and counterexamples for conjectures. This required developing flexible, extendable systems in short periods of time.
I've been tutoring computer science for about three years and taught math and computer science in front of a classroom for six prior to that. Both of my dissertations were computer-science heavy, so I got a perspective for how to be productively stuck, how to find solutions to hard problems, and how to debug methodically and logically. I can write in most major programming languages and can read almost anything, so whatever your project is written in I'm sure I can help.