John P. Dougherty
Haverford College
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by John P. Dougherty.
technical symposium on computer science education | 2003
John P. Dougherty; Tom Dececchi; Tony Clear; Brad Richards; Stephen Cooper; Tadeusz Wilusz
Recent work has stressed the importance of fluency with information technology (IT) in the modern world. This report presents a set of context profiles that detail courses and programs to realize increased IT fluency across a small sampling of academic institutions. The goal is to provide some representative examples for other schools interested in addressing the issues associated with IT fluency.
Education and Information Technologies | 2002
John P. Dougherty; Ned Kock; Cheryl Sandås; Robert M. Aiken
Information technology holds the promise of increased productivity. However, rapidly evolving tools require a professional able to incorporate these tools into their careers effectively, which signals the need for IT curriculum development initiatives that incorporate the use of complex, domain-specific IT applications in specific professional fields. This paper reports on a study that addresses this need, by developing, assessing and refining a curriculum development framework. The Information Technology Fluency (ITF) framework is a methodology for constructing components (case studies) for inclusion into existing or newly proposed courses to help students develop the skills needed for this challenge. Results obtained using the framework are reported, compared to similar work at a different institution, and used to suggest improvements to the framework.
ACM Inroads | 2016
John P. Dougherty
T his column expands on a topic mentioned in the previous Math Counts column. That topic is maturity, or more specifically mathematical maturity. Courses like discrete mathematics, probability and statistics, and linear algebra have specific content that directly supports computing curricula. However, as CS2013 notes, such courses also should provide “mathematical maturity” to further benefit computing students. My initial reaction was something like, “Well, of course mathematical maturity, or any maturity for that matter, will help computer science students.” Still, upon further consideration, I wanted to know not only why I believe this claim, but also what is meant by this term as applied to computing education. Merriam-Webster defines maturity as “having or showing the mental and emotional qualities of an adult,” as well as “having reached a final or desired state.” I see aspects of each of these definitions in (computing) education. We want our students to develop the set of skills to be successful as a graduate (i.e., defining adult as a person who has “graduated” childhood successfully). At the same time, we also want their abilities to grow towards a final, desired threshold, or level of practical performance. Maturity in any area implies more than understanding concepts; it implies a seasoned veteran (to some degree) of the field, one who has the confidence to persevere effectively and perhaps also know when to quit. It suggests a skill set that is completed by a capability, to sense of perspective, of why some things matter substantially while other things not so much. I had planned to begin this discussion of the term “mathematical maturity” with the classic, “I don’t know exactly what mathematical maturity is, but I know it when I see it.” This plan evaporated (i.e., I was beaten to the punch) after I found almost the exact same opening in [3], a paper Lynn Arthur Steen presented at a workshop on the future of college mathematics. In this paper, he defined mathematical maturity as the combination of two complementary capabilities. The first ability is abstraction, a term we in computing often cite as paramount [1]. He notes that abstraction requires a “leap of faith in which the security of numbers and objects is abandoned for the formalism of variables and definitions” [3, p. 99]. I believe most would agree that experience with abstraction in mathematics courses prior to, as well as during, undergraduate study helps our students. We believe that students are able to transfer proficiency with abstraction in math and apply it to computer science. The second mark of mathematical maturity is synthesis, the ability to use existing, known tools and concepts to tackle larger, more complicated, more advanced problems and generate new content knowledge. This skill is realized all the time in computing and software development (e.g., software reuse in APIs). The author notes this combination of abstraction and synthesis is less like the common use of the term maturity, and more like the common use of the term intelligence; perhaps that was truer thirty years ago than today, it is hard to know either way. But I digress. Steen also presents criteria for mathematical maturity that I believe are relevant to this current discussion. A subset of his examples include: • to interpret and use mathematical notation; • to model and to express real-world problems in mathematical form; • to see patterns and apply the appropriate principles (of symmetry); • to generalize from particular cases; • to detect and avoid sloppy reasoning; and • to read and understand mathematical writing in various contexts.
technical symposium on computer science education | 2016
John P. Dougherty; Joseph E. Hollingsworth; Joan Krone; Murali Sitaraman
Computing students often have difficulty understanding the relevance of the math we teach, though educators appreciate the significance. This BoF will discuss ways to connect this math with what computing students think they should be doing: programming. This BoF will focus on the benefits (and perils) of connecting math to the development of correct programs with the goal of motivating the relevance of the math-related portion of the ACM/IEEE Computer Society CS2013 curriculum. The discussion will continue the spirit and essence held by the math-thinking working group, a distributed working group of approximately 170 people who have been promoting and clarifying the importance of mathematics in computer science education.
technical symposium on computer science education | 2004
John P. Dougherty; Thomas B. Horton; Daniel D. Garcia; Susan H. Rodger
A panel at SIGCSE 2004 illustrated the trend in computer science departments to hire faculty to teach in a teaching-track position that parallels the standard tenure-track position, providing the possibility of promotion, longer-term contracts, and higher pay for excellence in teaching and service. [1] This birds-of-a-feather is designed to gather educators who are currently in such a position to share their experiences as members of the faculty of their departments and schools, and to provide opportunities for schools considering such positions to gather information.
technical symposium on computer science education | 2017
Benjamin Schreiber; John P. Dougherty
We discuss two video series, one that serves as an introduction to Binary Search, and the other to Selection Sort. Each narrated series begins with an overview of the algorithm and step-by-step simulations on an interactive blackboard. The series next proceeds to a video that illustrates how to perform a complexity analysis with guided examples, and then applies that process to the associated algorithm. The series concludes with a video showcasing a song with algorithm pseudocode as lyrics, which are utilized line by line to implement the algorithm in code. These video series were piloted among a set of introductory courses involving coding and algorithmic concepts at two colleges. We assess the effectiveness of each series in terms of conceptual understanding and changes in student attitudes.
ACM Inroads | 2017
John P. Dougherty
I n this month’s column, I would like to summarize and contribute to a Fall 2016 SIGCSE listserv discussion that started with a simple post by Ursula Wolz. The subject line of the post read, “Forget the language wars, try the math wars.” Nicely done, Ursula, as this post started, or should I say rekindled, a discussion about the role of mathematics in computer science education (and in software engineering education [5], but that’s for a subsequent column). And that also puts it squarely into the Math Counts arena. As I read the initial responses to the post, I had a few thoughts. For example, CS2013 seemed clear about the role of discrete mathematics in computing education, and how probability and statistics should line up with other computing areas. Furthermore, the role of calculus is still debated as it appears often in computing requirements, though arguments for its inclusion have been arguably shallow (i.e., we’ve always required it) and even described as “puzzling.” [1] I agree, as I have only used a derivative once in my professional career to identify the projected optimal performance of a parallel computing application. Still, accreditation often mandates a certain number of mathematics courses that either explicitly or implicitly force calculus into the computing curriculum. On top of this, many programming careers require an undergraduate degree as a minimum. I am glad that my current institution (not ABET accredited) does not require calculus for the computer science major. At the same time, I am working on alternatives that would support paths to other opportunities in mathematics such as statistics (see last quarter’s Math Counts column [3]). Several of the contributors to the SIGCSE listserv thread have written quite extensively on this topic in the past, with a few listed in the references. These col-
ACM Inroads | 2015
John P. Dougherty
MATH COUNTS has appeared in the SIGCSE Bulletin/Inroads for approximately fifteen years, highlighting the role of mathematics in computer science, as well as promoting informed discussion about how to prepare students for the rigor (and beauty) of computing using mathematics. The steward of this column has been Peter Henderson of Butler University. Earlier this year, Peter penned his final column, entitled “Sunset Time” [2]. On behalf of the SIGCSE community, I want to thank Peter for his service through the Math Counts column. He has been a persistent advocate and thoughtful author, and we are all better informed by his contributions. I offered to continue the Math Counts column, and I am honored (and a bit nervous) as I take the baton from Peter (hence the title). I have enjoyed reading about how a strong foundation in mathematics was not only helpful, but also necessary to really “get it.” Math Counts also served to help me “catch up” with the Math-Thinking group if (i.e., when) I was to fall behind in my reading. This column, my first, will introduce myself and my goals, as well as present my motivation for using mathematics to help students learn computing. So, who am I to step into this process, into Peter’s virtual shoes, and write this column? (Trust me, I have asked that myself.) I have taught computer science (and for a few years mathematics) at the undergraduate level for the last quarter century, first at Philadelphia University and most recently at Haverford College. I am also interested in K-12 outreach to support computing education, in particular, with a solid foundation in mathematics. I have been a member of the Math-Thinking group, most recently cochairing a “Birds of a Feather” session with
technical symposium on computer science education | 2018
Sushil K. Prasad; Charles C. Weems; John P. Dougherty; Debzani Deb
1. SUMMARY A working group proposed a curriculum in 2010 for computer science and engineering undergraduates on parallel and distributed computing (PDC), with the goal that every undergraduate in computing and engineering related fields should be exposed to courses and experiences in PDC-related topics. This group produced an edited book of contributed chapters on teaching PDC topics in the undergraduate curriculum in computing and engineering [1], and also provided updates to the SIGCSE community in 2011 [2] and again in 2014 [3]. In 2017, an expanded working group, including some early adopters, has undertaken a revision of this curriculum, especially considering the emerging aspects of Big Data, power, and distributed computing and identifying a set of cross-cutting topics, as well as formulating concrete exemplars for various PDC topics, modules, and courses.
technical symposium on computer science education | 2014
John P. Dougherty; Kris Nagel
Each of the four keynote presentations connected with their intended audience, uniquely addressing issues and actions. The SIGCSE Award winner, Bob Panoff of the Shodor Foundation, demonstrated the importance of computational thinking in scientific computing; for example, he noted that 16/64 reduces to 1⁄4 if you simply cancel the sixes (i.e., process counts). SIGCSE Lifetime Service Award winner, Andrea Lawrence of Spelman College, provided a wonderful address about mentoring to our first timers, including the many ways she and her students directly benefited from SIGCSE connections.