Search

Dave P.

Palo Alto, CA

$80/hour

Stanford CS Alum, programming tutor: Java, C/++, webdev, APCS and more

10+ Hours
5.0 average from 6 ratings
Great coach with detailed feedbacks for each session
— Liping, San Mateo, CA on 6/2/17

$80/Hour


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

Response time: 1 hour

Contact Dave

Stanford University
Symbolic Systems

Education

Stanford University (Symbolic Systems)

About Dave

Coding is hard, and writing code alone as a beginner can be frustrating and discouraging. Some students grasp the core concept of a program but the code won't compile and run, even after hours of debugging. Other students feel lost in confusing concepts the professor doesn't adequately explain. It is these students, who are hitting brick walls and need help getting started, who I am most suited to help. I once also struggled with coding and I'm familiar with the confusion. I promise that with some help and persistence you can break out of confusion and deadlock and start writing code that works.

I studied computer science at Stanford and worked as a developer at a startup in Sunnyvale, a few miles from the Google campus. Gradually I phased out industry development and moved to teaching as my primary work as I discovered a talent for clarifying confusing concepts. As of 2017 I have 600+ hours of tutoring experience through various agencies. It has been a pleasure to share the knowledge and learn from my students, too.

Students describe me as kind, knowledgeable, and lighthearted. Several have returned for services over more than one academic term. I believe in keeping positive energy and a sense of humor during lessons because coding is hard as it is. Please be aware I do not play the role of disciplinarian. I help those who are struggling but not those who lack motivation to improve.

My main client base is college students, high school students, and adults preparing for bootcamps or tech jobs. I have also taught children as young as 9 and hobby-coders taking online courses. Java, C, and C++ are my bread-and-butter but I accommodate diverse languages. Scratch, Python, and JavaScript are common requests I have plenty of experience teaching.

In my early lessons I emphasize problem-solving, coding habits, and debugging. As students learn to code for themselves they tend to need my help less, and while this is not the best business model for me I've found it to be the best for clients' homework performance and test scores.

I am accepting new students. I invite you to send an inquiry and we can schedule our first lesson. I respond day-of when possible. Thank you, and I look forward to meeting you soon!

-David
Coding is hard, and writing code alone as a beginner can be frustrating and discouraging. Some students grasp the core concept of a program but the code won't compile and run, even after hours of debugging. Other students feel lost in confusing concepts the professor doesn't adequately explain. It is these students, who are hitting brick walls and Read more

Policies
Cancellation
4 hours notice required
Travel Radius
Travels within 30 miles of Palo Alto, CA 94301

"Great coach with detailed feedbacks for each session"

- Liping, San Mateo, CA on 6/2/17

"Knows his stuff, and how to explain it"

- Ethan, Redwood City, CA on 10/21/16

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.

Computer Programming

The key elements I've found to helping students with software engineering are 1) teaching the patience to tackle a program in small pieces; 2) imparting the confidence to not second-guess a line of code that might be correct; and 3) calling a block of code done when it completes it role, as opposed to twiddling with code until it's "perfect," which often results in counterproductive complexity.

I have years teaching the skills that get programmers to self-reliance. These skills include: debugging best practices, reading documentation, decomposition, use of developer convention, and focused problem solving. I studied computer science at Stanford.

Computer Science

I studied computer science at Stanford. Many students appreciate that I translate for professors. Too many professors and teachers use a math-y, abstract language when explaining concepts and it leaves the rest of us confused when it's time to write the code. I help students digest bizarre concepts by framing them in the context of what they achieve for a program. Common-sense analogies are often more helpful than textbook definitions. Too often I hear "why do I have to write the code like this?" That's a question I have years of experience answering.

JavaScript

JavaScript is an appealing language because with its flexibility a student can build and test simple applications more quickly than with a rigid language like Java or C. Unfortunately the flexibility turns into its own trap as the program grows because the permissiveness of the language lets in lurking bugs that would cause a Java or C program to crash. That's why my priority when helping a student with JavaScript is setting up the strongest safeguards to detect bugs. I teach the tools to weed out bugs when strange behavior emerges. Web applications are a doozy, but with the right techniques they can be fun to build too.

Web Design

I studied computer science at Stanford and worked as a developer at a startup in Sunnyvale. Web Design is a crazy animal that keeps changing. New languages and platforms come out every year and each has its bizarre set of features and infuriating bugs. Sometimes I help students put together together a page in basic HTML and JavaScript. Sometimes we build a behemoth with Angular or Rails or the latest utility. I've learned over the years to keep the focus on what needs to get done, what feature of the language will get the job done, and what tools we can use to debug the program together.

Many students are ready with a idea of the design. The part that gets messy is the bugs and getting elements to interact as desired. I bring years of experience crunching through the technical barriers that stop a webpage from coming to life. Web Dev is a wild field, but that's part of what makes it fun for me to teach.

Stanford University
Symbolic Systems

Education

Stanford University (Symbolic Systems)

Great coach with detailed feedbacks for each session

Dave helped my son score 96.77% on his final exam in Python, which brought his grade up to an A- for the semester. Within a short period of time, David went through the new concepts and practice with my son. He successfully encouraged him to practice more and become confident for the final exam. We hope to work with David again this summer.

— Liping, San Mateo, CA on 6/2/17

Hourly rate

Standard Hourly Rate: $80.00

Cancellation: 4 hours notice required

Travel policy

Dave will travel within 30 miles of Palo Alto, CA 94301.