Curriculum Vitae

John I. Moore, Jr.
July 2016

 

John Moore  
Professor    
Mathematics and Computer Science   Work Phone: 843-953-7883
The Citadel   Cell Phone: 301-906-7887
Charleston, SC  29409   Email: john.moore@citadel.edu

 

Education

B.S. Mathematics The Citadel
M.S. Computer Science    Georgia Institute of Technology
Ph.D.    Mathematics University of South Carolina

 

Professional Societies

Institute for Electrical and Electronics Engineers (IEEE)
 

Areas of Expertise

  • Object-oriented analysis and design: Unified Modeling Language (UML), Design patterns
  • Java and Java-based technologies: JDBC, Servlets, JSP, JavaMail, Tomcat, etc.
  • Mobile Applications: Android
  • Web development: HTML, XHTML, CSS, JavaScript
  • XML and XML processing: Java parsers, DOM, JDOM, SAX, CSS, XLST, DTD, Schemas
  • Relational database design/development: SQL, normalization, Oracle, PL/SQL, Apache Derby, Access
  • Web Services: REST, JSON
  • Programming languages: Java, JavaScript, C++, Visual Basic, C, Haskell, FORTRAN, Ada, Pascal
  • Unix and Windows platforms: Linux, Shell Scripts, Windows XP/7/10
  • Design/implementation of programming language compilers and translators
  • Applied mathematics: statistics, operations research, mathematical modeling, computer simulation

 

Experience Summary

I have a wide range of experience in both industry and academia, with specific expertise in the areas of object-oriented technology, software engineering, and applied mathematics. For more than three decades I have designed and developed software using relational databases and several high-order languages. In addition, I have developed and taught numerous academic courses and industrial seminars on advanced topics in mathematics and computer science, training hundreds of mathematicians and software professionals throughout the United States and Canada.

 

Employment Summary

  • August 2003-present: Department of Mathematics and Computer Science, The Citadel, Charleston, South Carolina.

    Professor, August 2003-present
    Department Head, August 2003-June 2013

    As Department Head, provided academic and administrative leadership for the department and served as liaison between the department and the college administration. As Professor, taught a variety of courses in both mathematics and computer science including Data Structures and Algorithms, Database Design, Enterprise Java, Developing Mobile Applications (Android), Compiler Design, Object-Oriented Design Patterns, and Discrete Mathematics.

  • March 1993-present: Founder and Principal Consultant, SoftMoore Consulting, Rockville, Maryland and Charleston, South Carolina.

    Provide a wide range of advanced software consulting, training, and software development services specializing in object-oriented and internet/web technologies. Nationwide customers include Computer Sciences Corporation, First Call (Thomson Financial), The Analytic Sciences Corporation, Denro, SAIC, Autodesk, COMSAT, Manugistics, Bookspan (Bertelsmann), The MageLang Institute/jGuru, SELECT Software Tools, TTC, Bell South, Montgomery Ward, the Software Productivity Consortium, Blue Cross Blue Shield, and GE Information Services.

  • September 1985-May 1996: Lecturer (part time), Whiting School of Engineering, Johns Hopkins University.

    Taught graduate-level courses in object-oriented technology and software engineering as part of a professional master’s degree program in computer science. Introduced several new courses into the computer science curriculum.

  • January 1983-March 1990 and September 1990-March 1993:Vitro Corporation, Silver Spring, Maryland.

    Principal Software Engineer, April 1992-March 1993
    Director, Corporate MIS, September 1990-April 1992
    Principal Software Engineer, June 1984-March 1990
    Mathematician, Section Leader, January 1983-June 1984

    Held various positions of increasing responsibility. Provided planning and technical leadership for the implementation of information systems involving corporate databases, local area networks, and information system architecture. Provided technical support for software business development initiatives including proposal development and technical marketing presentations.

  • March 1990-September 1990: Division Director, Software Engineering and Ada Technology, Advanced Computer Systems, Inc. (now ANSTEC), Fairfax, Virginia.

    Provided technical leadership on software-intensive contracts with NASA and DOD customers.

  • August 1976-December 1982: Department of Mathematics and Computer Science, The Citadel, Charleston, South Carolina.

    Associate Professor (with tenure), August 1980-December 1982
    Director of the Computer Science Laboratory, August 1980-December 1982
    Assistant Professor, August 1976-August 1980

    Taught full range of courses in mathematics and computer science. Provided leadership for the establishment and operation of the Computer Science Laboratory to support academic instruction.

 

Software Development Experience

  • Developed software in Java and Oracle’s PL/SQL to support statistical analysis of sales data and forecasting of future sales using linear regression techniques.
     
  • Designed and developed software for several web-based e-commerce and internet/intranet applications using the Java programming language, XML, HTML, JavaScript, Java Server Pages (JSP), Java Servlets, JavaMail, and JDBC with both Oracle and Apache Derby databases. Also developed numerous stored procedures and database triggers in Oracle’s PL/SQL language.
     
  • Provided object-oriented analysis consulting and project mentoring for a large international project. Developed Java prototype of a rule-based pricing engine for marketing incentives.
     
  • Provided object-oriented mentoring on a sales automation project for a large US company.
     
  • Served as a software consultant for object-oriented design and Ada on a project for the US Air Force involving ground data analysis of satellite sensor software.
     
  • Served as architect and lead developer for a corporate software re-engineering environment based on modern language translation technology and a repository approach to environment integration. Project software was developed in REFINE and C++ in a distributed environment using Sun workstations running Unix.
     
  • Served as principal designer for a corporate information system based on Novell networks and a client/server architecture using Oracle RDBMS and Paradox clients.
     
  • Designed and developed the statistical approach and all related Pascal software for the analysis of results in NASA's drug testing program.
     
  • Served as project leader for the Ada Design Tools Project, with overall responsibility for prototyping and developing tools to assist in the design of Ada software. Developed in Pascal, C, and Ada using an object-oriented approach, these tools supported both graphical and textual representations of software architecture. Designed and implemented a reusable software component in Ada for automatically laying out a directed graph in the x, y-plane.
     
  • Designed and developed a highly efficient inference engine for processing rule-based expert systems using backward chaining. Originally developed in Pascal, this inference engine was used in several projects including the implementation of a powerful expert system that performs fault diagnosis on a programmable automatic cable tester.
     
  • Developed several FORTRAN programs to support forestry planning and research, with primary emphasis on statistical analysis software, graphic display of data, and laboratory information systems.
     
  • Served as an expert witness on mathematical modeling and developed software in FORTRAN for analysis of client’s data.
     
  • Developed a computer program in BASIC to track the status of software installed onboard Navy ships.
     
  • Developed software in BASIC to support the Charleston AFB Youth Center activities of registration, record keeping, and scheduling.

 

Related Employment Experience

  • Served as an expert witness on a software copyright case.
     
  • Provided leadership and technical support for numerous software business development initiatives including proposal development, “red team” review, preparation of capability summaries, and technical marketing presentations to potential customers and business partners.
     
  • Developed an Ada implementation plan for the USAF Tactical Air Command.
     
  • Performed and documented a comparative analysis of programming languages and made corresponding recommendations for developing a NATO AAW system.
     
  • Provided direction in the development and formulation of software engineering policies, procedures, and methodology as part of a corporate software engineering program.

 

Publications and Contributed Papers

  1. John I. Moore, Jr., Graphs and Partially Ordered Sets, Ph.D. Thesis, University of South Carolina, 1975. (William T. Trotter, Jr., Advisor)
     
  2. William T. Trotter, Jr. and John I. Moore, Jr., “The Dimension of a Tree is at Most Three,” presented at the national meeting of the American Mathematical Society in Washington, DC, 1975.
     
  3. William T. Trotter, Jr. and John I. Moore, Jr., “Some Theorems on Graphs and Posets,” Discrete Mathematics 15 (1976), 79-84.
     
  4. William T. Trotter, Jr., John I. Moore, Jr., and David P. Sumner, “The Dimension of a Comparability Graph,” Proceedings of the American Mathematical Society 60 (1976), 35-38. Presented at the national meeting of the American Mathematical Society in San Antonio, Texas, 1976.
     
  5. William T. Trotter, Jr. and John I. Moore, Jr., “Characterization Problems for Graphs, Partially Ordered Sets, Lattices, and Families of Sets,” Discrete Mathematics 16 (1976), 361-381.
     
  6. William T. Trotter, Jr. and John I. Moore, Jr., “The Dimension of Planar Posets,” Journal of Combinatorial Theory (B) 22 (1977), 54-67.
     
  7. John I. Moore, Jr., “Interval Hypergraphs and D-Interval Hypergraphs,” Discrete Mathematics 17 (1977), 173-179. Portions presented at the Southeastern Section Meeting of the Mathematical Association of America in Mobile, Alabama, 1975.
     
  8. David P. Sumner and John I. Moore, Jr., “Domination Perfect Graphs,” Notices of the American Mathematical Society 26 (1979), A-569.
     
  9. John I. Moore, Jr. and James W. Urscheler, “An Application of Dynamic Programming to a Problem in Forestry,” presented at the Southeastern Section meeting of the Mathematical Association of America in Birmingham, Alabama, 1981.
     
  10. John I. Moore, Jr. and Harold E. Wefald, “Efficient Data Structures for Expert Systems,” Vitro Technical Journal 6 (Fall 1987), 62-71. Portions presented as part of a panel discussion on Artificial Intelligence and Ada, Ada Expo, 1988.
     
  11. Jeffrey White, John I. Moore, Jr., et al., “Final Project Report for the Design Tools Project,” Software Productivity Consortium Technical Report SPC TR 88 018 (105 pages), 1988.
     
  12. John I. Moore, Jr., “Sorting 100,000 Integers with Turbo Pascal,” TUG Lines 31 (June/July 1989), 10-16.
     
  13. John I. Moore, Jr., “Server-side Java: Software engineering on Internet time,” JavaWorld, February 21, 2000.
    (http://www.javaworld.com/article/2076051/java-web-development/sever-side-java--software-engineering-on-internet-time.html)
     
  14. John I. Moore, Jr., “Enums in Java – One More Time,” ONJava.com (O’Reilly), April 23, 2003.
    (http://www.onjava.com/pub/a/onjava/2003/04/23/jenum.html)
     
  15. John I. Moore, Jr., “BadInputFilter revisited,” JavaWorld, November 14, 2013.
    (http://www.javaworld.com/article/2078901/open-source-tools/badinputfilter-revisited.html)
     
  16. John I. Moore, Jr., “Java programming with lambda expressions,” JavaWorld, January 29, 2014.
    (http://www.javaworld.com/article/2092260/java-se/java-programming-with-lambda-expressions.html)
     
  17. John I. Moore, Jr., “A case for keeping primitives in Java,” JavaWorld, May 6, 2014.
    (http://www.javaworld.com/article/2150208/java-language/a-case-for-keeping-primitives-in-java.html)
     
  18. John I. Moore, Jr., “Iterating over collections in Java 8,” JavaWorld, August 7, 2014.
    (http://www.javaworld.com/article/2461744/java-language/iterating-over-collections-in-java-8.html)
     
  19. Ronald J. Hayne and John I. Moore, Jr., “Evolution of the Instructional Processor,” Computers in Education Journal, ASEE, Vol. 6, No. 4, October–December 2015, pp. 46-53. Presented at the 2015 ASEE Annual Conference and Exposition in Seattle, Washington, June 2015.
     
  20. John I. Moore, Jr., “GraphLib: An open source Android library for graphs,” JavaWorld, September 28, 2017.
    (https://www.javaworld.com/article/3226733/android/graphlib-an-open-source-android-library-for-graphs.html)
     

Other Professional Activities

  1. Director of a regional conference on Discrete Mathematical Models with principal speaker Dr. Fred S. Roberts, The Citadel, 1978.
     
  2. Director of a regional conference on Mathematical Models for Energy and Public Policy with Principal Speaker Dr. Robert M. Thrall, The Citadel, 1980.
     
  3. Developed and presented a 3-day seminar on Operations Research Techniques in Forest Management Planning, Westvaco, 1982.
     
  4. Invited speaker, “Network Models in Operations Research,” Department of Biometry, Medical University of South Carolina, 1982.
     
  5. Member of the IEEE Working Group on Ada as a Design Language, 1984 1985.
     
  6. Chairman of the 1985 Washington Ada Symposium sponsored by ACM.
     
  7. “Report on the 1985 Washington Ada Symposium,” ACM SIGAda Ada Letters, Volume V, Issue 3-6, November 1985, pp. 16-18.
     
  8. Member of both Program and Steering Committees of the 1986 Washington Ada Symposium.
     
  9. Member of Organizing Committee and Moderator of a Panel Discussion on Ada for Artificial Intelligence, AIDA 87, the Third Annual Conference on Ada and Artificial Intelligence, 1987.
     
  10. Invited speaker, “The Impact of Technological Advances on Software Productivity,” Second National Conference on Software Productivity, sponsored by DPMA, 1988.
     
  11. Program Chairman, AIDA 88, Conference on Artificial Intelligence and Ada, sponsored by George Mason University and the Software Productivity Consortium, 1988.
     
  12. Invited speaker, “Making the Future Happen: An Industry Perspective,” SOFTCON '89, sponsored by the US Army/CECOM, 1989.
     
  13. Developer/instructor for professional development seminar, “Advanced Ada,” sponsored by the Washington, DC Chapter of ACM, 1989.
     
  14. Developer/instructor for professional development seminar, “Ada Software Development: A Software Engineering Approach,” sponsored by Johns Hopkins University, 1987-1989.
     
  15. Invited speaker, “Transitioning to Object Technology,” SPC Member Forum, Software Productivity Consortium, 1996.
     
  16. Developer/instructor for professional development seminar, “Overview of Object-Oriented Analysis and Design,” sponsored by the Washington, DC Chapter of ACM, 1994-1999.
     
  17. Developer/instructor for professional development seminar, “XML and Java™ Technology,” sponsored by the Washington, DC Chapter of ACM (2000). Portions of this seminar were also presented at a meeting of the Washington Object Analysis and Design User’s Group (2000) and at talks given at the College of Charleston (2002) and The Citadel (2004).
     
  18. “Paradoxes in Mathematics” presented at a meeting of The Citadel Mathematics Club (2005).
     
  19. Developer/instructor for SoftMoore Consulting Object-Oriented Training Curriculum.
    • Object-Oriented Programming with C++ 1993-2009.
    • Object-Oriented Analysis and Design, 1993-2013.
    • Enterprise Java, 2006-2015.