Some students have a natural interest in computers and computer programming and often learn to program independently. Students that are required to take introductory programming classes may not have the same interest or ability.
In my experience, roughly one third of all students in beginning programming courses drop out or earn less than satisfactory grades. The reason? Teachers, graduate student instructors, and professors were teaching programming the same way they learned mathematics: by writing numerous examples on the board, assuming that students could all learn by example and imitation. This may be suitable for students with prior programming experience, natural ability, and interest in programming. This is not suitable for all students and specifically not suitable for those with no prior experience in programming.
I enjoy teaching and bring some very important experience to this task. Shortly after graduating from college I went to work for NASA. My first project was to develop a scheduling system that was used to plan and schedule the activities that the astronauts were to perform during Space Shuttle Mission STS-57 that carried a laboratory (SPACEHAB 1) into orbit within the Space Shuttle Bay. While preparing the schedule for the work to be performed within the Laboratory, I had the honour to work with Learning Specialists and with some of the Astronauts training to perform the experiments. One of the Learning Specialists that I worked with explained a very simple principle. You cannot measure what people know, you can only measure what they can do.
In this light I have adopted a simple and effective approach to teaching high-school and college programming courses. The first step is not to teach students how to program, instead the first step is to teach students how to read a computer program and explain what the computer will do. To measure what students can do, first walk through some simple programs using worksheets to record what the computer will do at each step. Next provide some simple programs with worksheets and ask the students to record what the computer will do at each step. Any difference between what the computer will do and what a student records can be easily identified, addressed, and tested again until the students reliably provide correct answers. With this foundation, the next step is to introduce common parts of programs (which the students can now read), to demonstrate how to create new programs using these common parts, and then how to create new common parts when needed.
My goal when tutoring students in computer programming and related topics is to ensure that a student has a proper foundation and is able to read and explain what a computer program will do before introducing new subjects that require this essential ability.
I have an insatiable interest in computer science, programming languages, the art of computer programming, and the many things that you can do with computers. I started programming (to pay my way through school) in my first year of college and I continue programming to this day. Along the way I earned a BS in Mathematics at the University of Missouri Kansas City, MS in Computer Science at the University of Kansas, and a PhD in Computer Science at the Missouri University of Science & Technology with more than 15 years teaching undergraduate and graduate level Computer Science classes. With this background, I am qualified to provide tutoring for standard middle school, high school, and undergraduate level Computer Science courses, and with some preparation, tutoring for special topics and graduate level courses.
(p.s. I still remember the 10 days that I worked in the NASA control-center during Space Shuttle Mission STS-57, revising and updating the astronauts' schedule each night, while they slept.)
Education & Certification
Undergraduate Degree: University of Missouri-Kansas City - Bachelor of Science, Mathematics
Graduate Degree: Missouri University of Science and Technology - Doctor of Philosophy, Computer Science
Collecting memorabilia from my previous work in the NASA Space Shuttle and Space Station programs.
AP Computer Science Principles
Basic Computer Literacy
Technology and Coding