Most recently, as an adjunct instructor at Delaware County Community College, I taught two semesters of the "Introduction to Computer Science" (DPR108) course, which focuses on learning how to program using C in a C++ environment.
Previously, I taught "Principles of Computer Science I" and "Principles of Computer Science II", which were initially taught in C, at DePaul University's School of Computer Science, Telecommunications, and Information Systems (CTI), which is now the College of Computing and Digital Media.
As a Ph.D. candidate, I was a teaching assistant for "Introduction to Programming", which was taught in C. I taught three computer lab recitation sections over two semesters. Also, as a mentor with the PENNlincs C/Robotics Mentoring Program (IRCS Education Outreach), run by the Institute for Research in Cognitive Science at University of Pennsylvania, I developed materials and activities focused on programming concepts to teach C programming to middle school students.
I learned C++ over 20 years ago as a summer intern at Texas Instruments. I have taught multiple introductory computer science courses at the college level which used the C++ programming environment. While the courses did not focus on the object-oriented features of C++, I would be able to help students with not only the basic syntax of C++ but also with its object-oriented fundamentals.
I started working as a programmer the summer after I graduated from high school, almost 25 years ago. For two summers, I was part of the Corporate Student Summer Program at Texas Instruments in Dallas, Texas. I worked on projects using Common Lisp and C++.
As an undergraduate, I was a laboratory teaching assistant helping students in the course “Structure and Interpretation of Computer Programs”, which is the introductory computer programming class.
After completing my undergraduate degree, I worked as a programmer for Prograph Management Systems in Pittsburgh, Pennsylvania. I developed database applications for publishing and printing companies, using Paradox Application Language as well as C.
As a freelance Web developer, I have developed database-enabled Websites, using PHP and MySQL as well as Ruby on Rails, as a solo developer and as part of a team.
As a volunteer programming mentor for FIRST® Robotics Competition Team 1640, part of Downingtown Area Robotics, I oversee and guide high school students developing robot control code using LabVIEW (a graphical programming language).
I hold a Bachelor of Science degree in Computer Science and Engineering from the Massachusetts Institute of Technology. I hold a Master of Science and Engineering degree, as well as a Doctor of Philosophy degree, in Computer and Information Science from the University of Pennsylvania.
I have taught computer science courses at DePaul University in Chicago, Illinois, as well as at Delaware County Community College in Chester County, Pennsylvania.
I have taught introductory programming classes in Java as well as "Java for programmers" classes at the college level.
I can help high school students prepare for the AP Computer Science A exam if they need extra help or if their high school is not offering an AP Computer Science class.
I have programmed database-driven webpages using PHP as the programming language. PHP's non-object-oriented syntax is closely related to C and its object-oriented syntax is closely related to C++. Therefore, I can help students learn PHP based not only on my direct experience with PHP but also on my experience with C and C++.
In the summer of 2013, I was an online community teaching assistant for MITx's “Chi6.00intro: A Taste of Python Programming” summer course. I completed the course activities, including the programming assignments. Then I supported the students taking the course by answering questions in the online forum regarding Python and the programming assignments.
Since 1999 I have developed a number of database-enabled Websites using MySQL databases. I am familiar with SQL syntax and functionality as well as database structure. If you are interested in learning about using SQL to manage data, I can help!
I have been using UNIX and UNIX-like operating systems for over 20 years, beginning with Project Athena at MIT in 1988. As part of being a Web programmer, I regularly interact with Web servers through a UNIX-like shell (typically the Web server is running some flavor of Linux as its operating system). I also use Mac OS X on my home computers and I use Terminal regularly for various tasks. I am not a systems administrator, but I am able to accomplish advanced operating system tasks in UNIX environments.