Curriculum Vitae for David R. Wright by ocn20264

VIEWS: 65 PAGES: 6

									CV, David R. Wright                                                                                                         1


                                             David R. Wright
                                   Doctoral Student, Department of Computer Science
                                             North Carolina State University
                                                 7316 James Austin Rd.
                                                Willow Spring, NC 27592
                                                 phone: (919) 412-6891
                                              email: david wright@ncsu.edu


 Education
       Ph.D. Computer Science (expected 2009), North Carolina State University, Raleigh, NC.
           • Working Dissertation Title: “Principles, Patterns, and Process: A Framework for Modeling and Teaching
             Software System Design.”
           • Committee: Thomas Honeycutt (Computer Science) (chair), Mladen Vouk (Computer Science), Purush Iyer
             (Computer Science), John Tector (Design).

       M.S. Computer Science (2003), North Carolina State University, Raleigh, NC.
           • Thesis Title: “Type-based Static Analysis of Web Documents with Embedded Executable Components.”
           • Committee: Purush Iyer (chair), Matthias Stallmann, Edward Gehringer.

       B.S. Computer Science (2001) (Magna Cum Laude), North Carolina State University, Raleigh, NC.


 Teaching Experience
      Preparing for your Teaching Observation Workshop
      (Facilitator, 7 participants)
         • Guide in-person participant discussions through effective use of questions and comments.
         • Evaluate participant performance for successful completion of workshop.

      Teaching Portfolio Online Workgroup
      (Facilitator, 25 participants)
         • Research resources and scholarly publications on teaching portfolio development for graduate student teachers.
         • Develop a teaching portfolio evaluation checklist for the Certificate of Accomplishment in Teaching (CoAT)
            program.
         • Organize and deploy workgroup resources in the NCSU VISTA Online Learning Management System.
         • Facilitate and supervise 18 graduate students participating in the 6 week online workgroup.
         • Migrate time-limited workgroup deployment into an open resource on VISTA available to all 191 CoAT
            participants.

      Writing a Statement of Teaching Philosophy Workshop
      (Facilitator, 15 participants)
         • Research resources and scholarly publications on teaching philosophy statement development for graduate
            student teachers.
         • Organize and deploy workshop materials in the NCSU VISTA system for the CoAT program.
         • Facilitate the in-person and online portions of the workshop.
         • Evaluate participant performance for successful completion of workshop.
         • Assess workshop effectiveness against CoAT program objectives and make recommendations for future iter-
            ations of the workshop.

      CoAT CORE Workshop
      (Co-Facilitator with Nancy Fire, CoAT Coordinator, 13 participants)
         • Research and develop new resources for writing learning objectives portion of workshop.
         • Develop and lead in-person active learning exercises for writing learning objectives, ethics and teaching, and
           building classroom community portions of workshop.

      CSC495D, Perspectives on Software System Design
      (Instructor, 15 students)
          • Redefine learning outcomes, write course proposal and syllabus based on experience gained from CSC295D.
CV, David R. Wright                                                                                                        2


 Teaching Experience (continued)
          •   Research course material and refine into language appropriate for advanced undergraduate course.
          •   Develop lesson plans, instructional schedule, and student reading assignments, and led all class meetings.
          •   Develop homework assignments and mid-term exam, including grading criteria.
          •   Develop design project, including background materials, group work tasks, and peer evaluation criteria.
          •   Evaluate student performance based on learning objectives and modify learning environment appropriately.
          •   Assess my teaching effectiveness using different methods, including observation, student evaluations, and
              in-class exercises, and adapt teaching methods to optimize student learning.

      CSC295D, Perspectives on Software System Design
      (Co-Instructor with T. Honeycutt, 7 students)
         • Define learning outcomes, write course proposal and syllabus in conjunction with NCSU Preparing the Pro-
           fessoriate program.
         • Research course material and refine into language appropriate for undergraduate course.
         • Provide classroom support and collaboration.
         • Develop instructional schedule and lesson plans.
         • Develop homework assignments and define grading criteria.
         • Lecture on special topics of interest to the course.
         • Develop mid-term exam questions and grading criteria.
         • Evaluate student performance based on learning objectives and modify learning environment appropriately.
         • Assess teaching effectiveness, applicability of instructional materials, and course organization, and adapt
           teaching methods to optimize student learning.

      CSC216 - Programming Concepts in Java
      (Instructor, Summer 2004-6, 25 - 80+ students)
          • Develop lesson plans and instructional support materials based on departmental curriculum guidelines.
          • Design homework assignments, exercises, tests grading criteria based on course objectives.
          • Supervise 1 - 2 teaching assistants.
          • Assess teaching effectiveness using a variety of methods and adapt teaching methods to optimize student
            learning.

      CSC423/546 Knowledge Dynamics Theory and Applications
      (Co-Instructor with T. Honeycutt, 35 - 40 students)
         • Research and identify required and optional reading assignments.
         • Lecture on special topics of interest to the course.
         • Develop and grade written homework assignments.
         • Assist with the creation of midterm and final exams.
         • Provide in-class support and lecture collaboration.

      CSC510 Software Engineering
      (Co-Instructor with T. Honeycutt, 30 - 45 students)
         • Prepare and deliver approximately one-fourth of the class lectures.
         • Research and identify required and optional reading assignments.
         • Create, document, and administer semester-long design project.
         • Develop and grade written homework assignments.
         • Assist with the creation of midterm and final exams.
         • Provide in-class support and lecture collaboration.

      CSC379 Ethics in Computing
      (Teaching Assistant)
         • Maintain course web site.
         • Provide in-class support and lecture collaboration.

      CSC423/546 Knowledge Dynamics Theory and Applications
      (Teaching Assistant)
         • Provide research support for lecture topics.
         • Refine materials from past iterations of the course with new insights.
CV, David R. Wright                                                                                               3


 Teaching Experience (continued)
          • Provide in-class support and lecture collaboration.

      CSC326 Software Engineering
      (Head Teaching Assistant, 137 students)
         • Research and propose lecture topics and material for instructor.
         • Prepare supplemental notes and reading material.
         • Develop lab exercises and homework problems.
         • Select and supervised five (5) Lab Instructors.
         • Maintain course web site.

      CSC501 Operating Systems Principles
      (Teaching Assistant)
         • Develop grading keys for homework assignments and grade student submissions, providing instructional
           feedback.
         • Set up remote-access computer lab for programming projects.
         • Grade tests and exams using instructor’s key.
         • Answer student questions regarding lecture material and homework assignments.

      CSC316 Data Structures for Computer Scientists
      (Supplemental Teaching Assistant)
         • Answer student questions regarding Java programming language.

      CSC333 Automata, Grammars, and Computability
      (Teaching Assistant)
         • Develop grading keys for homework assignments and exams.
         • Grade homeworks and exams, providing instructional feedback.
         • Answer student questions regarding lecture material and homework assignments.

      CSC417 Theory of Programming Languages
      (Teaching Assistant)
         • Develop grading keys for homework assignments, programming projects, and exams.
         • Grade student work and provide instructional feedback.
         • Answer student questions regarding lecture material and homework assignments.

      CSC214 Programming Concepts in C++
      (Undergraduate Head Teaching Assistant, 3 class sections)
         • Assist course instructors with homework problem development.
         • Design efficient grading scripts and programs to improve TA performance.
         • Coordinate six (6) undergraduate teaching assistants.
         • Monitor online message forums and email lists.
         • Answer student questions regarding lecture material and homework assignments.

      CSC210 Programming Concepts in C++
      (Undergraduate Teaching Assistant)
         • Grade student work and provide instructional feedback.
         • Answer student questions regarding lecture material and homework assignments.

      CSC114, Introduction to Computing - C++
      (Undergraduate Lab Instructor)
         • Grade student work and provide instructional feedback.
         • Answer student questions regarding lecture material and homework assignments.
CV, David R. Wright                                                                                                        4


 Summary of Professional Experience
      Freelance Computer Hardware & Software Consultant (01/1994 - Present)
          • Custom personal & small business computer and local area network builds, installation, configuration, repair,
            and maintenance.
          • Operating system & application software installation, configuration, and customization.
          • Personalized training on hardware and software.
          • Custom small business and personal productivity software and web site design, development, and mainte-
            nance.

      Specialized Research Professional (07 - 09/2008)
      NCSU Graduate School, Raleigh, NC
        • Design and maintain online survey to determine competencies for graduate students who teach, specifically
          those participating in the Certificate of Accomplishment in Teaching program.
        • Assist the Director of Graduate Teaching Programs in data analysis and reporting.
        • Prepare literature review and preliminary outline for a research article to publish survey findings.

      Research Assistant (09/2007 - 06/2008)
      NCSU Faculty Center for Teaching and Learning (FCTL), Raleigh, NC
        • Develop proposals for multi-track concentrations within the FCTL’s Certificate of Accomplishment in Teach-
          ing (CoAT) Program.
        • Develop core competencies for graduate student teaching.
        • Explore potential collaborations between the FCTL, The NCSU Center for Excellence in Curricular En-
          gagement, and the NCSU Graduate School for enhanced engagement opportunities for graduate students in
          research and teaching.
        • Research, develop, and facilitate new in-person, online (WebCT/VISTA), and hybrid workshops for the CoAT
          program.
        • Evaluate and recommend alternative learning management systems for use in the CoAT program.

      Programmer, Development and Maintenance (05 - 11/1999)
      Level8 Systems, Inc., Cary, NC
         • Perform software maintenance activities on enterprise middleware systems.
         • Develop enhanced keystroke-handling subroutine resolve flaws in legacy systems.
         • Migrate old branches of source tree to new version control system to allow support relating to “Y2K bug.”
         • Perform pre-release testing of system updates on multiple platforms, including multiple versions of Windows,
            OS/2 Warp, and various Unix/Linux flavors.
         • Develop new test routines, sequences, and suites to replicate software defects.

      Information Systems Specialist (05 - 08/1998)
      United States Postal Service Distributed Systems Certification and Deployment, Raleigh, NC
         • Provide technical support for stand-alone and networked workstations at Post Offices across the country.
         • Develop new and more efficient solutions to commonly reported problems relating to the Windows 95 operating
           system used on remote systems.
         • Design and implement dBase II/Clipper programs to test and repair databases on remote systems.
         • Train Help Desk staff on advanced Windows 95 troubleshooting and problem-solving techniques and developed
           corresponding training and support manual.

      Electronic Technician, Service Manager, Business Owner (06/1978 - 07/1997)
      (Various companies)
         • Diagnose, repair, and upgrade consumer, commercial, and industrial electronic and computer equipment,
           including consumer and professional audio/video, industrial machine control systems, nucleonic measuring
           devices, and personal computer systems.
         • Supervise up to 9 technicians and support staff responsible for servicing more than 2500 units per month.
         • Develop training programs for technicians and technical supports personnel.
CV, David R. Wright                                                                                                    5


Publications
     Refereed Conference Papers
         • Wright, D. “The Decision Pattern: Capturing and Communicating Design Intent,” in Proceedings of The 25th
           ACM International Conference on Design of Communication (SIGDOC ’07), El Paso, TX, Oct 22-24, 2007.
         • Wright, D. “Towards a Theory of Software Design: Timeless Principles of Software System Design,” in
           Proceedings of the ISCA 16th International Conference on Software Engineering and Data Engineering (SEDE-
           2007), Las Vegas, NV, July 2007.
         • Wright, D., “Research Ethics and Computer Science: An Unconsummated Marriage,” in Proceedings of The
           24th ACM International Conference on Design of Communication (SIGDOC ’06), Myrtle Beach, SC, Oct.
           18-20, 2006.


     Refereed Conference Workshops
         • Honeycutt, B., Fire, N., Wright, D., and Jenkins, J. “Developing Leveled Competencies for Graduate Teaching
           Assistants within a Campus-Wide Effort for Graduate TA Development,” in Proceedings of the 2008 Lilly
           Conference on College and University Teaching at Greensboro, Greensboro, NC, Feb 8-10, 2008. (Workshop
           co-organizer and presenter)
         • Honeycutt, T. and Wright, D., “Building Bridges: Connecting Research Ethics and Computer Science,” in
           Proceedings of The 24th ACM International Conference on Design of Communication (SIGDOC ’06), Myrtle
           Beach, SC, Oct. 18-20, 2006 (Workshop co-organizer and panelist).


     Refereed Conference Poster Presentations
         • Wright, D., Honeycutt, B., and Fire, N. “Promoting Excellence in Graduate Student Teaching: The Certificate
           of Accomplishment in Teaching Program at NCSU,” in Proceedings of the 2008 Lilly Conference on College and
           University Teaching at Greensboro, Greensboro, NC, Feb 8-10, 2008.
         • Wright, D., “Capturing Organizational Wisdom for Effective Software Development” in Proceedings of the
           44 th ACM Southeast Conference (ACMSE2006), Melbourne, FL, Mar. 10-12, 2006.


     Other Works
         • Wright, D. “Research Ethics & Responsible Conduct of Research @ NC State An Inventory of Resources
           Available to Doctoral Students.” Wilkinson Research Ethics Fellowship deliverable, May, 2008.
         • Wright, D. and Honeycutt, B. “A Brief Comparison of the CoAT Program with PtP and with GTA Training
           at Peer Institutions.” Report to the Graduate School, March, 2008.
         • Wright, D., Clayton, P., and Honeycutt, B. “Starting Points for Engagement in Graduate Education.” Notes
           for NCSU meeting with the Faculty Center for Teaching and Learning, the Center for Excellence in Curricular
           Engagement, and the Graduate School, November, 2007.
         • Wright, D., “Motivation, Design, and Ubiquity: A Discussion of Research Ethics and Computer Science.”
           LANGURE Computer Science Research Ethics Module essay, available at http://arxiv.org/abs/0706.
           0484v1
         • Wright, D., Honeycutt, T., Gehringer, E., and Comstock, G., “Incorporating Ethics into Computer Science
           Research” LANGURE Computer Science Research Ethics Seminar, May, 2006.
         • Wright, D., Honeycutt, T., and Comstock, G., “Computer Science and Research Ethics” LANGURE Computer
           Science Research Ethics Seminar, Oct. 2005.
         • Wright, D., Doctoral Written Qualifying Exam: “The Nature of Order and the Process of Software Develop-
           ment.”
         • Wright, D., Master’s Thesis: “Type-based Static Analysis of Web Documents with Embedded Executable
           Components.”


Honors
      Fellowships
          • Walter H. Wilkinson Research Ethics Fellow, 2007-08. Develop and report catalog of Research Ethics resources
            at NCSU and area institutions.
CV, David R. Wright                                                                                                      6


Honors (continued)
          • NCSU Preparing the Professoriate Fellow, 2006-07. Design, teach, and assess CSC 295D and CSC 495D courses
            on Software System Design.
          • NCSU Junior Research Ethics Fellow, NCSU Research Ethics Program and LANGURE (Land Grant Uni-
            versity Research Ethics) initiative, 2005-07. Develop Computer Science/Engineering curriculum module in
            collaboration with Senior Fellows and wrote module core essay.
          • NC State College of Engineering Dean’s Fellowship for Graduate Studies, 2001-2002.


      Teaching Awards
          • Certificate of Accomplishment in Teaching, NCSU Faculty Center for Teaching and Learning, April 2008.
          • University Outstanding Teaching Assistant Award, NC State University Graduate Student Association and
            NC State Alumni Association, April 2004.


      Academic Honors
          • College of Engineering Semester Dean’s List (undergraduate): Fall 1997, Spring 1998, Fall 1998, Fall 1999,
            Spring 2000.
          • Member, Golden Key National Honor Society. Inducted Spring 2000.
          • Member, Upsilon Pi Epsilon Computer Science Honor Society. Inducted Spring 2001.



Research and Teaching Interests
         • Software Engineering: Models of software development, Languages for representing models of software systems
           and software development processes, Cognitive and Social aspects of software engineering and software design,
           Software development as a creative scientific endeavor.
         • Education: Creative ways for teaching software design and program development as applications of critical
           thinking to improve retention and support application of concepts to other problem domains, training and
           mentoring Teaching Assistants to improve the overall learning experience for students.
         • Ethics in Computing and Software Engineering: Ethical issues in Professional, Academic, and Research, Cross-
           discipline ethics and standards for software systems development, Ethical and responsible conduct or research
           in Computer Science, Software Engineering, and related disciplines.
         • Engagement in Research and Teaching: Challenges and opportunities for meaningful engaged research and
           teaching projects in a field dominated by proprietary software products, Enhancing research and student learning
           through real-world collaboration and cooperation.
         • Programming Languages: Object-oriented languages, Type-safe programming languages, Strongly-typed lan-
           guage systems, Type inference and unification, Innovative ways to teach programming.
         • Problem-solving techniques: Conceptual and formal models of problem-solving in individual and team contexts,
           Communication and representation as a basis for efficient design and problem-solving, Creative ways to build
           critical thinking skills in both the general sense and in specific problem domains.


Activities and Service
         • Conference Session Chair, SIGDOC 2007, SEDE 2007, SIGDOC 2006.
         • President, Computer Science Graduate Student Association, 2005-06, 2006-07.
              Implemented optional orientation and training session for new graduate teaching assistants.
              Initiated workshop and seminar series exploring multi-, cross-, and inter-cultural issues.
         • Computer Science Graduate Student Association representative to NCSU University Graduate Student Asso-
           ciation, 2005-06.
         • Member, Association for Computing Machinery (ACM), Design of Communication Special Interest Group,
           American Society for Engineering Education.

								
To top