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 firstname.lastname@example.org 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 eﬀective 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 Certiﬁcate 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 eﬀectiveness 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) • Redeﬁne 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 reﬁne 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 eﬀectiveness using diﬀerent 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) • Deﬁne learning outcomes, write course proposal and syllabus in conjunction with NCSU Preparing the Pro- fessoriate program. • Research course material and reﬁne into language appropriate for undergraduate course. • Provide classroom support and collaboration. • Develop instructional schedule and lesson plans. • Develop homework assignments and deﬁne 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 eﬀectiveness, 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 eﬀectiveness 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 ﬁnal 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 ﬁnal 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. • Reﬁne 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 ﬁve (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 eﬃcient 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, conﬁguration, repair, and maintenance. • Operating system & application software installation, conﬁguration, 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, speciﬁcally those participating in the Certiﬁcate 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 ﬁndings. 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 Certiﬁcate 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 ﬂaws 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 ﬂavors. • Develop new test routines, sequences, and suites to replicate software defects. Information Systems Specialist (05 - 08/1998) United States Postal Service Distributed Systems Certiﬁcation and Deployment, Raleigh, NC • Provide technical support for stand-alone and networked workstations at Post Oﬃces across the country. • Develop new and more eﬃcient 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 staﬀ 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 staﬀ 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 Eﬀort 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 Certiﬁcate 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 Eﬀective 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 • Certiﬁcate 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 scientiﬁc 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 ﬁeld 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 uniﬁcation, 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 eﬃcient design and problem-solving, Creative ways to build critical thinking skills in both the general sense and in speciﬁc 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.
Pages to are hidden for
"Curriculum Vitae for David R. Wright"Please download to view full document