Welcome to Dave Powell's  Home Page
Professor of Computing Sciences

"Software runs the world!"

Contact Information
Office Location  Duke 101-B
Phone number  336-278-6233
Gmail/Hangout    dpowell2@elon.edu
Office Hours

The  growth rate and demand for jobs requiring up to date computer skills has continued to outpace the yearly supply of new college graduates. The shortage of talent has resulted in a job market that offers talented degreed professionals a choice among many jobs at a starting salary that exceeds most other professions. Since my arrival at Elon in 2001, my goal has been to help develop the computing skills of Elon students to enable them to either have their pick among these many high paying  jobs or to attend graduate school to further their education.  I am extremely pleased that  with the exception of only two students, 100 percent of all Elon Computer Science graduates in from 2010-2017 were employed in the computer industry in the job of their choice or attending graduate school for an advanced degree in Computer Science.

From 1983 until July  2001, I developed software for industry. I have managed the whole software development process from software product requirements development, architecture design, subsystem design, implementation, test, documentation, maintenance and customer support. In the process, I have worked with and hired many student interns and graduates  from a variety of institutions and I know the skill sets that are needed and expected.  Accordingly, my courses at Elon mix course content with hands on use of the latest software, productivity tools and software development methodologies. For example, during the fall 2013 semester, I taught Computer Science III using the IBM Cloud to teach Java Server Faces, Primefaces and HTML 5 using a glassfish 4.0 JEE 7 implementation and a Netbeans IDE. In the spring 2014 semester, I taught  Advanced Programming and covered enterprise programming using Java Spring 3.2. The course developed and tested  locally using Eclipse, Tomcat and MySQL and deployed  to a Tomcat 7 stack on a Cloudbees cloud with a MySQL backend. Though JSF is the recommended approached for developing a web application, I feel it is too high level and the student does not get a fundamental understanding of servlets and web services. Accordingly, in the Fall 2014 semester, I taught Computer Science III using servlets, javaserver pages and RESTFUL services along with supporting technologies of HTML 5, CSS 3 and MySQL.The course used the NetBeans IDE, JDK 8.0, MySQL and Tomcat 8 for local development. Deployment was on the cloud using CloudBees. In the Spring 2015 semester, I introduced flipped instruction to Computer Science 1 by using a Udacity MOOC for interactive video content, problem sets, forums and dashboard that was supplemented by extensive in-class exercises. In the Fall 2015 semester and the Fall 2016 semester, I continued to improve Computer Science III by adding Responsive Web Design, more flipped classroom materials for client side instruction and  familiarization with Git, Linux Commands, JavaScript, JQuery and JSON. Since CloudBees changed their business model and was no longer free to students, I moved to using  the OpenShift cloud from RedHat. In the spring 2016 semester, I taught the Spring Framework  version 4  using the Spring Tool Suite with Maven, a Tomcat Server and MySQL for local development and testing. The OpenShift cloud was used for deployment. The Computer Science curriculum was reconfigured for Academic Year, 2017-2018. In the fall semester, I am teaching CSC 230 Java Programming and CSC320 Web Development. The Java Programming course is essentially unchanged but the CSC320 Web Development Course will focus on Front End Web Technologies such as HTML 5, CSS, Bootstrap, JavaScript and JQuery. The course will introduce back end Node.JS and MongoDB using a Flipped Classroom.

I welcome the chance to work with Elon students and the entire Elon community. My door is always open. Please stop by at any time and say hello. I have posted scheduled office hours on Monday, Tuesday, Wednesday and Thursday. In addition, I am generally on campus Monday through Friday and can gladly meet at other times by setting up an appointment.