Math CountS

5 downloads 0 Views 288KB Size Report
Please take a few minutes to read Tony Ralston's excellent ... Ralston says, “I argued for a long time that CS .... Invited talks were given by David Gries (Cornell.
Featured Columns living on their own, sharing rooms and living quarters with others and forming their attitudes about college, adult life, and responsibility. The culture shift occurred by retraining the residential staff to stop treating students as though they were guests at a “Hilton Hotel” (where the staff jumps to handle difficulties) and instead to teach students how to be responsible citizens in a democracy, communicate with each other, and resolve conflicts themselves. With this as a foundation, it has been natural to extend these notions to student societies and beyond. With students suitably attuned to viewing themselves as vital parts of a functioning democracy, community service has become part of the campus culture. Mehaffy concluded the session with two important recommendations, saying that to promulgate civic engagement on campus, it “cannot be optional, and cannot be a spectator sport”.

Math CountS Mathematics in the Curricula Peter B. Henderson Please take a few minutes to read Tony Ralston’s excellent editorial “Do We Need ANY Mathematics in Computer Science Curricula?” in this issue of inroads. His editorial, in conjunction with another excellent document “Computing Curricula 2004 Overview Report” [1], are very timely. Tony talks about the historical perspective of mathematics in CS/SE education and direction in which we might head. The CC2004 Overview Report presents the current state of curricula for computing disciplines. Both complement and reinforce each other in several ways. Ralston mentions, “There is just no substantial reason to require any calculus at all in an undergraduate CS/SE program”. The word “calculus” does not appear in the CC2004 document. Unfortunately, neither does the word “discrete”. The word “math” or “mathematics” occurred eleven times in various contexts (e.g., “mathematics department”). The most important occurrence of “mathematics” was in Table 3.2 on page 28. Here, the report presents the comparative weight of non-computing topics, including “mathematical foundations”, in different undergraduate computing disciplines. Computer engineering, computer science and software engineering are given a total minimum/maximum “mathematical foundations” weight of 13/15, where 15 would be the maximum (5 is max for one discipline). These are higher than the weights of any other three total non-computing topics, as it should be. Two things of interest are missing: • The comparative weights of “mathematical foundations” with computing topics (Table 3.1) • A definition of “mathematical foundations” Ralston says, “I argued for a long time that CS students should take a year of discrete mathematics as early as possible …” CC2004 does not comment on either what math or when. However, the various curricula volumes that have evolved from CC 2001 for the computing disciplines include significant commentary on mathematics. All advocate the importance of discrete mathematics and logical reasoning, and mention potential barriers to teaching these in the first year. CC2001 recommends 43 core (classroom) hours of discrete structures/mathematics. This is at least one course, but the CC2001 pedagogy focus group recommended two courses. SE2004 recommends 56 core (classroom) hours of

Points to Ponder What then, is the role of an honor society in promoting social awareness and civic engagement? What are the roles of educators? As computing educators, does the pervasiveness of computing in society create an imperative for us to infuse service into the curriculum? And if so, what should be the relation between the service and the rest of the curriculum? If service becomes an integral part of the K-12 curriculum, what differences will we see in students arriving at college? Clearly, there isn’t enough space for discourse on these items here. But the events described above have certainly gotten my mind engaged on them, and on taking a good hard look at what we’re doing and how – or whether – we should change the way we do business in the field of computing education. I’d like to hear your thoughts. If this discussion has been even mildly as thought provoking for you as these events have been for me, we should have quite a conversation! References [1] Association of College Honor Societies, http://www.achs.or g [2] Brokaw, T. “The Greatest Generation”, Random House:1998, ISBN:0375502025. [3] Wolfe, M., Weinberg, A., Galston, W., Mehaffy, G., “Citizenship for Scholarship”, Association of College Honor Societies Annual Council Meeting 2005: Honor Societies: Developing Citizen-Scholars for the 21st Century, Feb. 18, 2005. [4] CIRCLE (Center for Institutional Research for Civic Learning and Engagement), http://www.civicyouth.org [5] American Association of State Colleges and Universities, http://www.aascu.org

------------Upsilon Pi Epsilon (UPE) is the International Honor Society for the Computing and Information Disciplines

inroads – The SIGCSE Bulletin

20

Volume 37, Number 2, 2005 June

Featured Columns Report on the 2004 Symposium on Teaching Formal Methods This report was submitted by Valerie Harvey, Department of Computer and Information Systems, Robert Morris University. Valerie can be reached [email protected] . Thanks Valerie. The 2004 Symposium on Teaching Formal Methods, organized by CologNet and Formal Methods Europe (FME), met in Ghent, Belgium, at the historic Ghent University ”Het Pand” building in November [1]. The symposium was co-chaired by Dr. C. Neville Dean, Anglia Polytechnic University, UK, and Dr. Raymond T. Boute, Ghent University. Drs. Dean and Boute edited the symposium proceedings [2] and a meeting of FME was held following the symposium [3]. See the DBLP entry for the proceedings [2] for a full list of titles of papers submitted and subscription access to full text. The symposium was designed to elicit responses to a sense of failure of education with regard to formal methods and the extent to which they are pragmatic, overcoming mathematics phobia, and the acquisition of basic skills. The symposium sought to address the need for more attention to formal methods in software engineering by exploring “failures and successes.” The symposium targeted participation by educators (formal methods, software engineering, and computer science), practitioners and project managers from industry, and publishers. Invited talks were given by David Gries (Cornell University), Leslie Lamport (Microsoft Corporation), and Peter Pepper (Technische Universität Berlin). The symposium focus was on teaching at the secondary and undergraduate higher education levels. The last scheduled presentation before the open discussion forum, J. N. Oliveira, “A Survey of Formal Methods Courses in European Higher Education” [2: 235248] gave an excellent overview of many aspects of the teaching of formal methods. Oliveira, as convener of the FME Subgroup on Education, reported on the formal methods curriculum (keyed to SEEK 2004 [4]). Included are histograms of number of courses per language (or notation) and number of courses per formal methods tool. Martin Loomes, Bruce Christianson, and Neil Davey, “Formal Systems, Not Methods,” [2: 47-64], recommended going beyond “applied mathematics” to educating students so they could appreciate “high-level processes such as formalization, abstraction, and proof” and not be overly bound to specific notations or application domains. Sylvia de Rosa, “Designing Algorithms in High School Mathematics,” [2: 17-31], recommends and describes a discrete mathematics course for high school teachers. Peter Pepper prefers “distributed” teaching of formal methods throughout “the entire curriculum” in “Distributed Teaching of Formal Methods,” [2: 140-152] as a paradigm. This implies broad faculty involvement and introduction of formal methods “in lightweight form” at the beginning of

mathematical foundations (mostly discrete, logic, and probability). This is more than one course and with the inclusion of mathematics from other SE knowledge areas such as modeling, formal methods; that is, it can potentially contain a total of three to four courses. Ralston says “…shouldn’t CS and SE departments be willing to have mathematics departments teach the discrete mathematics courses …?” CC2004 does not address this issue and probably need not. The computing volumes mention it; however, a significant impetus for this view is from the Mathematical Association of America’s “Undergraduate Programs and Courses in the Mathematical Sciences: CUPM Curriculum Guide 2004” [2]. For this model to work, math faculty teaching discrete mathematics courses for CS/SE majors need to work closely with computer science educators. This has been a goal of two MAA PREP workshops “Discrete Mathematics: An Early Foundation for the Study of Computer Science” and “Nifty Examples of Discrete Mathematics” offered at Valparaiso University during the summers of 2003 and 2004. In conclusion, Ralston says “…since the days of Curriculum 68 [11], mathematics has played a steadily decreasing role in CS/SE programs (although the decrease has been less rapid recently than in the decade after Curriculum 68)”. This general view is supported by evidence presented in the papers “Has Our Curriculum Become Math Phobic? (An American Perspective)” [3] and “Our Curriculum has Become Math-Phobic!” [4]. However, I believe this decreasing trend is slowly reversing. This is evidenced by more focus on mathematics in the recent computing curricula volumes, the 2004 MAA curriculum guidelines, activity at educational conferences, and keynote addresses at a variety of educational and technical conferences addressing these issues. With continued diligence, this new trend will be sustainable. So, has your institution made progress toward achieving Tony’s long envisioned goals of two semesters of discrete math early in the curriculum? Send me your views and comments please. What is missing from both Tony’s editorial, from CC2004, and from the various curricula volumes is how we can apply and integrate mathematics into the curricula of the computing disciplines. For the sake of argument, let us say that in 2006 all programs required a year of discrete mathematics in the first year. Now what? A partial answer to this question can be found in the following report on the 2004 Symposium on Teaching Formal Methods. (a) http://www.acm.org/education/Overview_Draft_11-2204.pdf (b) http://www.maa.org/cupm/ (c) K. Bruce, C. Kelemen, P. Henderson, O. Astrachan and A. Tucker, Proceeding of The 5th Annual ITiCSE Conference, 2000 (d) K. Bruce, C. Kelemen, and A. Tucker, Proceeding of The 32nd SIGCSE Technical Symposium on Computer Science Education, 2001. inroads – The SIGCSE Bulletin

21

Volume 37, Number 2, 2005 June

Featured Columns [6] SPARKAda, Praxis Critical Systems Ltd. at http://www.praxis-cs.co.uk/sparkada/ [7] Valerie J. Harvey and E. Gregory Holdan , “Insights from Teaching Discrete Mathematics in Information Systems Programs,” Report for the Discussion Forum, CoLogNet/Formal Methods Europe Symposium on Teaching Formal Methods (TFM’04), November 19, 2004, Ghent, Belgium, at http://www.rmu.edu/OnTheMove/wpresearch.get_results?ica lledby=wpresearch&ipage=60184&it=&iattr=&idisplay=D& ires_research_no=23132 [8] Franz Lichtenberger, “Mathematics Education for Software Engineers: It should be radically different!” at http://www.math.uoc.gr/~ictm2/Proceedings/pap305.pdf

the curriculum. Pepper emphasizes the importance of formal methods for embedded systems. Henri Habrias and Sébastien Faucou, “Linking Paradigms, Semi-formal and Formal Notations” [2: 166184] prefer B notation (rather than Z) because “it covers the whole development process.” Kung-Kiu Lau, “A Beginner's Course on Reasoning About Imperative Programs” [2: 1-16] describes the evolution of formal methods teaching at the University of Manchester and covers CSLI’s Tarski’s World package [5] for learning first order logic and the SPARK language and tools for learning about verification conditions [5]. Alternatives in notation and in teaching and motivational strategies were explored. Jim Davies, Andrew Simpson, and Andrew Martin, “Teaching Formal Methods in Context” [2: 185-202] characterize various approaches to teaching formal methods as lightweight, informal, weaving, and subterfuge, as they focus on student motivation and the value of an curricular design for software engineering that “reflects emerging practice.” Valerie Harvey reported on discrete mathematics teaching software requirements [7] [3: 3]. In the TFM discussion of teaching tools for formal methods Raymond Boute mentioned the importance of discrete mathematics teaching software not introducing artifacts (such as ordering in representation of sets). Discussion following the presentations and in the Open Forum at the conclusion of the symposium was productive and interesting. The discussion included practical exchange of information on teaching tools and techniques. For example, Franz Lichtenberger described approaches to introductory discrete mathematics in Austria [8].

Colorful Challenges Tuple Enumeration David Ginat

T

he editorial of this inroads issue elaborates on the need of mathematics in the CS curricula. Tony Ralston refers to both the general notion of math in CS and the particular courses of calculus and discrete mathematics. This column adds a related facet. We illuminated, throughout the years the essential role of mathematical considerations in the domain of algorithmic problem solving. Such considerations appeared as explicit expressions and terms, or as concise observations of mathematical patterns of the problems at hand. The new challenge requires both explicit expressions and mathematical patterns. The challenge involves the systematic enumeration of integer tuples. The notion of enumeration is apparent in algorithmic tasks at all levels. The key point in enumeration is often the precise specification of loop, or recursion boundaries. Such specification is based on the recognition of mathematical patterns that are translated into concise arithmetic expressions. This is also the case in the new challenge. The challenge is divided into three parts, which require different levels of mathematical insight. Following the presentation of the new challenge we display the solution of the previous issue challenge. As in many algorithmic solutions, the mathematics in this solution is not apparent through explicit formulae, but rather through insightful observations that yield a clever computation, based on a suitable data structure. In this task, the clever computation embodies the notion of “onthe-fly” progress and accumulation.

References [1] Symposium program and announcements at http://www.intec.rug.ac.be/groupsites/formal/Sympos2004/S ympos2004.htm [2] C. Neville Dean and Raymond T. Boute, Teaching Formal Methods, CoLogNET/FME Symposium, TFM 2004, Ghent, Belgium, November 18-19, 2004, Proceedings, Lecture Notes in Computer Science, vol. 3294 (Springer, 2004); DBLP proceedings entry at http://www.informatik.unitrier.de/~ley/db/conf/tfm/tfm2004.html with (subscription) electronic edition links. [3] Minutes of the subsequent FME meeting November 19 at http://www.fmeurope.org/manasite/mas/fme/meetingsitem/6 497-97.pdf [4] The Joint Task Force on Computing Curricula, IEEE Computer Society and ACM, Software Engineering 2004, Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering, August 23, 2004, (SEEK 2004) at http://sites.computer.org/ccse/SE2004Volume.pdf [5] Jon Barwise and John Etchmendy, Tarski's World (Center for the Study of Language and Information, 1993). See Tarski’s World (Jon Barwise, John Etchemendy and Dave Barker-Plummer in collaboration with Albert Liu, Center for the Study of Language and Information (CSLI), http://wwwcsli.stanford.edu/, Stanford University) inroads – The SIGCSE Bulletin

22

Volume 37, Number 2, 2005 June