I have fifteen years experience designing and delivering traditional, hybrid, and online (Blackboard, Moodle) courses in Computer Science at the Community College level in upstate New York and North Carolina. I have also delivered short courses and workshops related to programming and instructional design. I work hard to help students succeed and have always received the highest quality student evaluations.
I’m drawn to the challenges associated with first-level courses such as Introduction to Program Logic and Design. I’ve taught this type of course over many years using a range of approaches: algorithms-only, Pascal, C++, Java, and now Web-based, using PHP/HTML/MySql. The Web approach has by far proved the most successful. Students become very engaged and achieve more in terms of logical problem solving and their understanding of control and data structures. I have written and published a textbook, A Web-Based Introduction to Programming, now in its third edition, to support this approach. The book, and my course, utilizes a free standalone distribution of the Apache Web server that allows students to perform all work on a portable disk, on Windows, Macintosh or Linux, with no need for network access.
My course content is always provided online no matter what course delivery method. I find that approach helps me to create a well-structured, supportive, and predictable learning environment, with clear outcomes, effective learning activities, and accurate assessments. I believe that a carefully constructed, conceptually coherent, step-by-step approach not only goes a long way to removing unnecessary road-blocks to learning, but also clarifies roles and responsibilities (the instructor provides the learning structure and coaching, and the students do the learning).