• Full-time faculty at Lane Community College

  • Adjunct Instructor at the University of Oregon

  • Software Engineering Trainer at Ramanujan IT City in Chennai, Tamil Nadu, India

  • CEO and Software Developer at Creative CyberSolutions

Doing what I Love

I love writing software and I love teaching, so I am thrilled that I get to have a career that lets me do both.

Creating Software

In addition to teaching software development, I do it. As CEO of Creative CyberSolutions, I not only co-manage the business, but also do some of the software design and coding.

Seeing the World

I love to travel, meet people from other cultures, learn their languages and enjoy their food. My wife and I have lived in Central Asia and during the summers of 2015--2017 our family had the privilege of living in South India while I was training Software Engineers.

Courses I Teach

Over the last dozen years I have had the opportunity to teach a wide variety of courses. A summary of the coruses I have taught follows.

Lane Community College

As a member of the full-time faculty in the Computer Information Technology department, I have taught:

  • CS160: Introduction to Computer Science
  • CS161, CS162 and CS234: Beginning, intermediate and advanced programming in C++
  • CS133N and C233N: Beginning and intermediate programming in C#
  • CS133JS: Beginning programming in JavaScript
  • CS260: Data structures and algorithms
  • CIS195: Web authoring with HTML and CSS
  • CS235AM and CS235IM: Android and iOS application development (with the Xamarin platform)
  • CS244: Systems analysis
  • CS246: System Design
  • CS295N: Web development 1, ASP.NET Core MVC
  • CS296N: Web development 2, Web security and DevOps
  • CS297: Capstone project

University of Oregon

During my summer breaks from LCC, I have taught these courses in the Computer and Information Science department at the University of Oregon:

  • CIS 111: Introduction to web programming (JavaScript)
  • CIS 115: Multimedia web programming (HTML5 and JavaScript)
  • CIS 399: Android application development (with Java)

ROI Training

As a trainer with ROI Training, I have taught the courses below to newly hired Software Engineers at a large international firm in Chennai, South India:

  • Developing a business case and system requirements
  • Oracle SQL and data modeling
  • Object oriented analysis and design
  • UNIX essentials
  • Intro to Big Data Analysis (with Hadoop)
    Test driven development and automation
  • Java for OO programmers and Java / XML
  • Mastering the Spring framework
  • Implementing SOA with XML web services in Java
  • Dynamic web application development with JavaScript frameworks
  • C# web programming

Portfolio

The links below will take you to example and demonstration apps that I have written for the classes I teach.

Web Apps

These web apps are hosted on SmarterASP.NET, a shared Windows IIS web hosting service.


ASP.NET Core MVC
  • Book Info: A site for posting book descriptions and reviews--just a demonstration, not a complete web app.
    • Source code
    • Built using ASP.NET Core 2.2 and SQL Server.
    • using self-contained deployment with an x86 runtime target.

ASP.NET Core Razor Pages
Tic-tac-toe: The classic game
ASP.NET MVC
Tip of The Day: A crowd-sourcing site for programming tips.

ASP.NET Web Forms

Technology Expertise

Languages

  • C / C++
  • Java
  • C#
  • JavaScript
  • SQL

Web

  • HTML5
  • CSS3
  • ASP.NET Core
  • Web Forms
  • Razor Pages
  • MVC

Mobile

  • Android
  • iOS
  • Xamarin

Data

  • SQL
  • Hadoop

Interests

Professional

  • Mobile App Development
  • Web Development
  • Big Data
  • Artificial Intelligence
  • 3D CAD
  • Business

Personal

  • Linguistics
  • Travel
  • Outdoor recreation
  • Gardening
  • Bible
  • Faith