Send Patrick a message explaining your needs and you will receive a response shortly. Have you already emailed Patrick or another tutor? If so, you have an account! Sign in now
If you select this option, WyzAnt will ask interested tutors to contact you by email if they are able to help. A maximum of five different tutors will email you and none of your personal information, including your email address, will be released.
Illinois State University (BIS)
I can provide a solid understanding of the concepts / building blocks for computer languages and development - primarily with the Java programming language. These building blocks help develop the core of future development understanding. From an object-oriented viewpoint, my first goals are to ensure the student understands the core concepts of the "bits and bytes", object identity, object storage, interfaces and how they are used in the "real world", and the basic java/C types, in addition to the core objects of the language itself. Until those concepts are mastered, developing in the language will always be a struggle.
I currently work in the corporate environment using Java/J2EE and the Spring framework. I am the senior technical architect of my division, and am the technical interviewer for prospective employees; I will teach you some of the core concepts that most folks I interview don't have the answer to.
I once struggled with math/programming but was fortunate enough to obtain an athletic scholarship to an elite college where I was taught by world-class instructors (one worked on the Manhattan project), and realized my ability. That bridge of confusion to solid comprehension is what I would like to pass along to any person struggling with computer programming.
I can provide a solid understanding of the concepts / building blocks for computer languages and development - primarily with the Java programming … Read more
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 got started programming / learning computers with a Vic-20, then graduated onto a Commodore 64 (assembler programming), and then IBM PC / (but always defaulted to my Commodore Amiga).
I learned disassembly "enhancement" from an electronics person in the Navy, and that set my sights higher once I figured out the (non-shocking) electrical currents involved. After blowing out a few components (expensive to do that back in the day) - I got lucky and learned some actual mathematics that would accentuate (and support) my college degree in Business Information Systems.
From there - I've been doing 20+ years of programming in one language or another (Assembler, PL/1, Cobol, Visual Basic, C++, Java) and now have settled into a position where I get to set the current and future standards. Could probably still write a printer driver for Linux if I had to - but would rather tutor that stuff than do it myself nowadays!
I will tutor folks what and "how" to do things - but if I'm successful - they will find a better way to do it than I can!
I am a technical architect/manager (and final interviewer/decider) for a division within a Fortune 500 company.
Regardless of the experience of the candidate, I start with the core concepts of Java that are the building blocks of understanding the more advanced concepts. If the candidate is not able to answer most of the concepts (included below), he/she will not be considered for the position -- I'm still surprised how many EXPERIENCED candidates don't have a grasp of these concepts - thereby telling me to assume hearing about "nullPointerExceptions", "thread issues", and basic errors that should rarely if ever occur. I strongly believe with a knowledge of the concepts listed, any person can make a strong developer and can tackle more advanced concepts with success.
I believe my educational background is a great story of someone who struggled with both math and programming - but with the help of several very strong teachers helped me to "get it"; with my background I believe to be able to shape my tutoring for any student and bring it to their level. So many languages (and so many years) allow me to delve into the core concepts with the student - Assember, PL/1, Cobol, C -- all accomplish the same thing but use a different "language".
I have experience training in college as one of two students per year selected to be university-paid "tutor/debugger" for students in introductory courses - and I currently train incoming graduates into our company's team with the basics I "drill" into them before I let them touch production code!
I have worked in both the standard java stack (EJB/JSF) as well as several alternatives (Spring/MVC), I offer either/both into the tutoring based off experience or coursework.
*** Core Concepts I start with to ensure the student is well versed - unless they are just looking for a very direct path to "pass a class"....
-- Equals / hashcode
-- Immutable vs. "final"
-- Java + pointers + memory leaks (from my C days)
-- Interface-driven design / code to the interface "always"
-- Thread safety
-- Pitfalls of inheritance (favor composition over inheritance)
-- Polymorphism and important OO concepts
-- Why to disfavor "new" keyword in code
-- Singletons vs. prototypes and implications
-- SOLID Unit Testing + mock objects
-- Code vs. Configuration
-- Injection / AOP
-- Three or four common OO patterns I believe build into other patterns / combos - Decorator,Template Method, Adapter, Proxy- and most importantly - identifying when to use each.
I have over 15 years experience with standard *nix, starting with IBM/AIX and then Solaris and onto Linux.
At one point VERY early on, I wrote a printer driver for Linux - not sure how far it got into the commit cycle, but did get it working!
Can teach the basics and fundamentals along with the core programming requirements for drivers,programs, etc. compiled to binary; experience with scripting languages like PERL.