Search
William M.'s Photo

Software developer and CS lecturer
William M.

1,199 hours tutoring

Your first lesson is backed by our Good Fit Guarantee

Hourly Rate: $30
Response time: 11 hours

About William


Bio

My career started with a crime: I tore an ad for an HP-65 programmable calculator out of a Scientific American in my high school library--I was fascinated by the idea of a machine that could be programmed to follow a series of steps. Shortly after that I entered college as a Computer Science major. I loved it immediately. I earned BS and MS degrees in Computer Science. After almost a decade in industry, I became an independent software development contractor/consultant.

In 1996 I took...

My career started with a crime: I tore an ad for an HP-65 programmable calculator out of a Scientific American in my high school library--I was fascinated by the idea of a machine that could be programmed to follow a series of steps. Shortly after that I entered college as a Computer Science major. I loved it immediately. I earned BS and MS degrees in Computer Science. After almost a decade in industry, I became an independent software development contractor/consultant.

In 1996 I took the opportunity to teach a college course in comparative programming languages. I found that I loved the challenge of explaining material and helping students master it. In the years since I've continued to blend teaching and tutoring into my schedule as time and opportunity permit.

I've got years of experience with C, C++, Java, Ruby, Python and other languages. I've taught twelve programming languages at the university level. I've spent thousands of hours working individually with students.

In industry my roles have included director of engineering, chief architect, project manager, team leader, and individual contributor. I've worked in a variety of areas, including e-commerce, programming language implementation, graphical design systems, clinical medicine systems, K12 educational systems, fantasy sports, systems programming, and software development tooling.

There's a thing that I call The Fundamental Thrill of Programming. You get it when you write some code and it does what you want it to do. It's been over forty years since I wrote my first program but I still get that thrill. If you're struggling with programming, I believe I can help you. Let's find out!


Education

North Carolina State University
Computer Science
The University of Arizona
Masters

Policies

  • Hourly Rate: $30
  • Rate details: I'm always happy to take a student's situation into account and negotiate on my rate.
  • Lesson cancellation: 0 hours notice required
  • Background check passed on 10/30/2020

  • Your first lesson is backed by our Good Fit Guarantee

Schedule

Loading...

Sun

Mon

Tue

Wed

Thu

Fri

Sat


Approved Subjects

Computer Science

Computer Science

Along with working as a software development contractor/consultant since 1993 I've taught upper-division computer science classes as an adjunct lecturer at The University of Arizona as time and opportunity have permitted since 1996. The subject I've most frequently taught is comparative programming languages, covering Standard ML, Haskell, Ruby, Prolog and other languages over the years. I have also taught systems programming, UNIX, web programming, and classes focused specifically on C++.
Java

Java

I've worked with Java in a variety of ways since 1996. I've used it in a number of contracting/consulting projects, I've managed an engineering office of a Java-centric start-up, I've taught Java at The University of Arizona in professional education classes, and I've tutored dozens of Java students on an individual basis both here on Wyzant and elsewhere.
Linux

Linux

I fell in love with UNIX when I was an undergraduate Computer Science major and I've worked with UNIX and UNIX-like systems or tool suites on a daily basis for over 30 years since then. I've got experience with V6, V7, BSD, SunOS, Solaris, Ultrix, AIX, macOS, Linux, MKS Toolkit, Cygwin, and others. I've taught UNIX in a 300-level university class several times. I've also worked as a UNIX system administrator, although not in recent years. I especially love cooking up Bash pipelines to solve problems. The various flavors of Linux, UNIX, packages like Cygwin, and now Microsoft's Windows Subsystem for Linux make UNIX tools available on a very wide of platforms. I can help you master those tools and put them to great use.
Python

Python

I've worked with Python on a regular basis since 2010. I've taught Python in classes both at The University of Arizona and on a volunteer basis at the high school level for Microsoft TEALS. I've also collaborated with other faculty at The University of Arizona to develop and improve content in CSC 110 and CSC 120, their Python-based introductory computer science classes.
C
Computer Programming
William M.'s Photo

Questions? Contact William before you book.

Still have questions?

Contact William
Response time: 11 hours

Ratings and Reviews


Rating

5.0 (329 ratings)
5 star
(326)
4 star
(1)
3 star
(1)
2 star
(1)
1 star
(0)

Reviews

Patient, Knowledgeable, Great Teacher

William took the time to make sure I was really comprehending the material we were going over. He was extremely patient and kind, and never condescending no matter how lost I was. If you're looking to actually learn, William is the tutor for you!

Kaitlyn, 9 lessons with William

Code Master William: Turning My Son into a Python Pro

William is honestly a hidden gem. He’s been teaching my son Python, breaking down all the tricky stuff in a way that just makes sense. He’s super smart, down-to-earth, and totally committed to helping my son get better. The lessons are spot-on, and my son’s not only learning a ton but actually enjoys it. We’re so thankful for William and plan to stick with his lessons as long as we can. Couldn’t recommend him more!

Ondrej, 8 lessons with William

Exceptional tutor

Introduction to Computer Science Using Python; Very patient tutor who explains the concepts well. He shows his command of programming when he creates problems of his own to test for understanding.

Jude, 29 lessons with William

Patient and knowledgeable Python tutor

William has been a tremendous find on Wyzant. He's a patient and superb teacher and has allowed me to grasp Python concepts easier and with greater retention. I would most definitely recommend him to anyone to anyone looking to get a better grasp on Python.

Jimmy, 18 lessons with William

Explains things in a way that I can understand.

I'm a first-year CS graduate student and I needed help with Java fundamentals and a class assignment. These lessons gave me an opportunity to start getting a better grasp on fundamental Java concepts. I learned a great technique to use jshell as a way to quickly check some output. I was able to get further along in a homework assignment that I didn't understand. I would strongly recommend William to any student that's just getting started or working on advanced concepts.

Maciej, 7 lessons with William

Great at breaking down big concepts into bite sized pieces.

William is great! He helped me understand a complex problem in step by step ways. He's taught me how to manipulate arrays and to plot data from the arrays. I was stuck and had major impostor syndrome about it and tutorials weren't helping. William has greatly helped to answer all my questions that tutorials do not.

Julia, 76 lessons with William

Great at breaking down big concepts into bite sized pieces.

William is great! He helped me understand a complex problem in step by step ways. He's taught me how to manipulate arrays and to plot data from the arrays. I was stuck and had major impostor syndrome about it and tutorials weren't helping. William has greatly helped to answer all my questions that tutorials do not.

Julia, 76 lessons with William

Great tutor

William is very helpful with all of my projects. He really makes sure I am learning what we are doing and that he is not just telling me what to do. He also goes through the project in a way that teaches me how to begin such n=big projects like these without feeling overwhelemed

Shannon, 15 lessons with William

Super friendly and helpful

Fantastic. 5 stars. William was patient and respectful. Went above and beyond to help me. Highly recommend. Explained all the questions I had and was knowledgable even though we were working with a program he hadn't used in quite some time.

Olivia, 6 lessons with William

Works through the process.

William is patient. Explains what needs to be done and why. Walks through the process for your understanding. Confirms the amount of time spent and charged. Highly recommend.

Duong, 1 lesson with William
Hourly Rate: $30
Response time: 11 hours
Contact William