中华会计函授学校基层财政干部培训28

上传人:e****s 文档编号:243053819 上传时间:2024-09-14 格式:PPT 页数:72 大小:223.50KB
返回 下载 相关 举报
中华会计函授学校基层财政干部培训28_第1页
第1页 / 共72页
中华会计函授学校基层财政干部培训28_第2页
第2页 / 共72页
中华会计函授学校基层财政干部培训28_第3页
第3页 / 共72页
点击查看更多>>
资源描述
Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,*,OOPSLA 05,Amiram Yehudai,A subjective report,1,Program,Invited speakers,Technical papers,Practitioner reports,Expert panels,Demonstrations,Educational symposia,Workshops,Tutorials,The Onward! track,Posters,2,Educators Symposium,Agile Teaching,Monday, 8:30, 1 hour 30 minutes, San Diego Room,Teaching Techniques,Monday, 10:30, 1 hour 30 minutes, San Diego Room,Keynote Address,Monday, 13:30, 1 hour 30 minutes, San Diego Room,Teaching Tools,Monday, 15:30, 45 minutes, San Diego Room,Looking to the Future,Monday, 16:15, 1 hour 15 minutes, San Diego Room,Demos and Posters,Monday, 8:30, 9 hours, San Diego Room,3,Educators Symposium Agile Teaching,The symposium begins with an interactive presentation that illustrates agility in the classroom via a Scrum sprint with student apprentices.,Opening Remarks,Eugene Wallingford,Apprenticeship Agility in Academia,David West, Pam Rostal,4,Apprenticeship Agility in Academia,David West, Pam Rostal, New Mexico Highlands University,This presentation will use multimedia and scripted theater to illustrate a typical development iteration as practiced by the apprentices of the NMHU Software Development Apprenticeship Program. Seven students and one faculty member will conduct a thirty-minute Scrum sprint using minutes instead of days or hours as our unit of measure. By sharing our insights into overcoming the disruptions, distractions, and impediments of the academic environment, we hope to convey ideas that will be useful to all professional software developers and educators who must respond to the challenge of teaching and experiencing agile software development techniques in an inhospitable environment.,5,Educators Symposium Teaching Techniques,A Laboratory for Teaching Object-Oriented Language and Design Concepts with Teachlets,Axel Schmolitzky,Teaching OO Methodology in a Project-Driven CS2 Course,Barry Kurtz, Frank Barry, James Wilkes,Modeling OO Design,Robert Rist,Roles of Variables in Object-Oriented Programming,Petri Gerdt, Pauli Byckling, Jorma Sajaniemi,6,A Lab for Teaching OO Concepts with Teachlets,A Laboratory for Teaching Object-Oriented Language and Design Concepts with Teachlets,Axel Schmolitzky, Hamburg,Teachlets are a new method originally developed to teach design patterns. Based on executable code, a problem is set that is to be solved collaboratively and interactively by all the participants of a teaching unit. A moderator is on hand to operate the computer, the development environment and video projector when called upon to do so. While deployable in themselves as an innovative teaching method, teachlets can also be used as a design object in seminar-like workshop events. In the course on advanced concepts of object-oriented programming described here, the participants themselves developed and used teachlets in a so-called teachlet laboratory.,7,Teaching OO Methodology in a Project-Driven CS2 Course,Barry Kurtz, Frank Barry, James Wilkes, Appalachian State University,After we adopted an objects-first approach in CS1, we realized this meant redesigning our CS2 and data structures courses. This paper reports on our efforts to develop a project-driven CS2 course that expands on the object-oriented methodology introduced in the CS1 course. We omitted some traditional data structures materials, such as pointer implementations of linked lists, and concentrated on using Java Collections. Our focus on using data structures in meaningful, large-scale projects helped students understand why these structures are important before concentrating on implementation in the subsequent data structures and algorithms course.,C. Horstmann, Big Java + W. Savitch, Absolute Java,CS1 Use Blue J, CS2 Dr. Java,8,Roles of Variables in OOP,Petri Gerdt,Pauli Byckling,Jorma Sajaniemi, University of Joensuu,Roles can be assigned to occurrences of variables in programs according to a small number of patterns of use that are both language- and algorithm-independent. Studies on explicitly teaching roles of variables to novice students have shown that roles are an excellent pedagogical tool for clarifying the structure and meaning of programs. This paper describes the results of an investigation designed to test the understandability and acceptability of the role concept and of the individual roles in novice-level object-oriented programming.,9,Roles of Variables in OOP (cont),The investigation consisted of a short tutorial on roles, a brief training session on assigning roles to variables, a test evaluating the subjects ability to assign roles, and a set of open questions concerning their opinions of roles. The responses of 43 computer science educators were analyzed. Every role was identified at least by 50% accuracy, and in typical uses of variables by 70-100% accuracy. Subjects comments on the role concept in general were mostly positive. The role set used in the investigation turned out to be suitable for describing variable usage in novice-level programming with some supplements. The study suggests that more roles are needed in novice-level object-oriented programming than in novice-level procedural programming.,:/ cs.joensuu.fi/saja/var_roles/,10,Educators SymposiumKeynote:,Ward Cunningham,This year, we are honored to have as our keynote speaker Ward Cunningham. Ward has pioneered so many of the ideas and tools we all use today: object-oriented programming, CRC cards, patterns, wiki, extreme programming, test-first design, and FIT. In his talk, Ward will offer some advice for how we can recognize good ideas in their humility, how to nurture good ideas to fruition, and how we might teach these skills in our courses.,Nurturing the Feeble Simplicity,11,Educators SymposiumTeaching Tools,This session consists of a paper session and a panel. The papers explore ways that educators are using two of Wards innovations, CRC cards and FIT tests, in the classroom. The panel looks to the future of OO education, in particular seemingly never-ending tug-of-war around language and programming style in the first-year courses. Both of these subsessions will be contain ample time for the authors, panelists, and attendees to discuss the ideas under consideration.,Improving CRC-Card Role-Play with Role-Play Diagrams,Jrgen Brstler,Monday, 15:30, 20 minutes, San Diego Room,The Practice of Specifying Requirements Using Executable Acceptance Tests in Computer Science Courses,Grigori Melnik, Frank Maurer,Monday, 15:50, 20 minutes, San Diego Room,12,Improving CRC-Card Role-Play w/ Role-Play Diagrams,Jrgen Brstler, Ume University,CRC cards are a lightweight approach to collaborative object-oriented modelling. They have been adopted by many educators and trainers to teach early object-oriented design. Reports in the literature are generally positive. So is our own experience. However, over the years, we have noticed many subtle problems and issues that have largely gone unnoticed in the literature.,In this paper, we discuss the problems and issues we experienced when teaching CRC cards to novices. Two major sources of problems can be traced back to CRC card role play. One is the usage of CRC cards as substitutes for actual objects during the scenario role-play and the other the difficulty to document or trace the scenario role-play on the fly. We propose a new type of diagram to support the role play activities and to overcome these problems. Our experience so far is quite positive. Novices have fewer problems with role-play activities when using these diagrams. Teaching and learning the new type of diagram adds only little overhead to the overall CRC approach.,We also provide general guidelines for CRC card usage. Although our improvements are aimed at novices, we believe that the proposed diagram is useful even for professional software development.,13,Requirements Using Executable Acceptance Tests in CS Courses,The Practice of Specifying Requirements Using Executable Acceptance Tests in Computer Science Courses,Grigori Melnik,Frank Maurer, University of Calgary,This report describes the practice of using executable acceptance testing for specifying programming assignments in software engineering courses. We summarize experiences from two courses introduced in two academic institutions over four semestersboth from students and instructors perspectives. Examples of projects and the discussion of the assignment flows are given. The paper highlights testing as an all-encompassing activity in software development projects. It also contains recommendations for academics thinking of incorporating executable acceptance testing into their courses.,14,Educators SymposiumLooking to the Future,The symposium closes with a panel discussion and an open-mike session. The panel looks to the future of OO education, in particular seemingly never-ending tug-of-war around language and programming style in the first-year courses. The open-mike session session gives participants a chance to share their best teaching ideas and their ideas for future Educatorss Symposia.,Are We Doomed? Reframing the Discussion,Robert Biddle, Alistair Cockburn, Brian Marick, Alan OCallaghan, Eugene Wallingford, moderator,Monday, 16:15, 1 hour, San Diego Room,Closing Session,Eugene Wallingford,Monday, 17:15, 15 minutes, San Diego Room,15,Panel: Are We Doomed? Reframing the Discussion,Robert Biddle, Carleton University,Alistair Cockburn, Humans and Technology,Brian Marick, Independent Consultant,Alan OCallaghan, De Montfort University,Eugene Wallingford, moderator, U. of Northern Iowa,At universities around the world, interest in computer science has plummeted. Is this decline part of a cyclical trend, or a reflection of a change in the world in which computing operates? This panel discussion will discuss the state of computer science education and what we as computer science educators can do to redefine university computing education. The audience will participate in the discussion!,16,Panel: Are We Doomed? some points mentioned,Teach about design.,Ruby on rails - Rails is a full-stack, open-source web framework in Ruby for writing real-world applications,with joy and less code,than most frameworks spend doing XML sit-ups,movie,17,Panel: Are We Doomed? what to teach?,What do educated people need to know about CS (course by B. Kernighan),Give students a working project, replace pieces.,User interaction design,Team work, comm. skills,Look at performance arts curriculum,18,19,Educators SymposiumDemos and Posters,A Pattern-based Approach for Introducing Object-Oriented Analysis and Design in Undergraduate Courses Haitham Hamza,Double Dispatch for Two-Tiered Type Checking Adair Dingle,:/ oopsla.org/2005/ShowEvent.do?id=265Carl Alphonce, Blake Martin,Implementing Operating Systems the Object-Oriented Way Juan Carlos Guzman, Patrick Bobbie,:/ oopsla.org/2005/ShowEvent.do?id=269Dean Sanders,Teaching Web Services with Water Matt Kendall, Ed Gehringer,Virtual PC: Letting Your Students Install and Explore Without Fear Joe Hummel,Visual OS: An Object-Oriented Approach to Teaching Operating System Concepts James Hill, Aniruddha Gokhale,20,invited speakers,Robert Hass,Gerald Jay Sussman, Why Programming is a Good Medium for Expressing Poorly Understood and Sloppily Formulated Ideas,David P. Reed,Martin Fowler,Grady Booch,Jimmy Wales, Wikipedia in the Free Culture Revolution,Mary Beth Rosson,21,invited speaker,Creativity,Robert Hass, Chancellor of The Academy of American Poets,safety vs. freedom,memory/ knowledge preservation vs. innovation,vietnamese saying spit streight up learn something,book by Arthur Kestler on creativity?,22,invited speaker,Designing Croquets TeaTime - A Real-time, Temporal Environment for Active Object Cooperation,David P. Reed,Co-architect of Croquet,23,invited speaker,Finding Good Design,Martin Fowler, Chief Scientist, ThoughtWorks,24,Martin Fowler,Martin Fowler was best described by Brian Foote as an intellectual jackal with good taste in carrion. Hes not come up with great languages or tools, built major companies or found academic success. Hes an author who has struggled with understanding what good design might be and how to communicate it. His books on patterns, refactoring, UML, and agile development reflect this question and his struggles to find an answer. He hasnt succeeded yet, but is happy to share his current position, lost in a maze of twisty objects, all alike,25,Martin Fowler: Finding Good Design,Dont separate design from Programming,Most important principle: avoid duplication,Separate UI code from all else imagine you need two different UIs,Performance problems come from the DB,The network is never transparatent,Patterns are a “chunking mechanisms,Books should be written so that one does not need to read them end to end.,26,invited speaker,On Creating a Handbook of Software Architecture,Grady Booch, Free Radical, IBM,27,Grady BoochOn Creating a Handbook of Software Architecture,It is a sign of maturity for any given engineering discipline when we can name, study, and apply the patterns relevant to that domain. In civil engineering, chemical engineering, mechanical engineering, electrical engineering, and now even genomic engineering, there exist libraries of common patterns that have proven themselves useful in practice. Unfortunately, no such architectural reference yet exists for software-intensive systems. Although the patterns community has pioneered the vocabulary of design patterns through the work of the Hillside Group and the Gang of Four, our industry has no parallel to the architecture handbooks found in more mature design disciplines.,28,Grady BoochOn Creating a Handbook of Software Architecture,Following the work of Bruce Anderson, who over a decade ago conducted a series of workshops at OOPSLA, Ive begun an effort to fill this void in software engineering by codifying a the architecture of a large collection of interesting software-intensive systems, presenting them in a manner that exposes their essential patterns and that permits comparison across domains and architectural styles.,In this presentation, well examine the nature of architectural patterns and the process of conducting architectural digs to harvest them, and then examine a few of the systems studied thus far.,29,invited speakerOnward! Keynote:,The End of Users,Mary Beth Rosson,Pennsylvania State University,30,Mary Beth Rosson The End of Users,Over the past 20 years, user interface designers and usability engineers have studied and refined human-computer interaction techniques with the goal of improving peoples productivity and experience. But the target of these efforts the end-user is fast becoming a thing of the past. Many people now construct software on their own, building artifacts that range from email filters to spreadsheet simulations to interactive web applications. These individuals are use-developers: they build ad hoc solutions to everyday computing needs.,31,Mary Beth Rosson The End of Users,Will use-developers help to resolve the software crisis? Given the right tools, people and groups may be able to rapidly develop custom solutions to many context-specific computing requirements, eliminating the wait for IT professionals to analyze and engineer a solution. Or are these individuals a danger to society? Use-developers are informal programmers with no training in software construction methods or computing paradigms. They have little intrinsic motivation to test their products for even basic concerns like correctness or safety. In this talk I argue that the transformation of end-user to use-developer is well underway and discuss the prospects for maximizing the benefits to society while addressing the risks.,32,Research papers,Research papers form the heart of the OOPSLA experience. Research papers describe substantiated new research or novel technical results, advance the state of the art, or report on significant experience or experimentation. The 29 technical papers were selected after a rigorous peer review of 142 submissions by an international program committee consisting of 28 experts representing the spectrum of object technology. Each paper was assigned to at least three reviewers with many reviewed by more, and one by nine. The committee met face-to-face for two days in Los Angeles, California. The papers selected for presentation at this conference should advance the state of the art of object technology in significant ways.,33,Research papers,Type Types,Analysis Analyzed,Archetypal Architectures,Language Lingo,Adaptation Adapted,Machine Machinery,Tracing Traces,Concurrency | Concurrency,Exceptional Exceptions,34,Research papers,Type Types,Associated Types and Constraint Propagation for Mainstream Object-Oriented Generics,Jaakko Jrvi, Jeremiah Willcock, Andrew Lumsdaine,Generalized Algebraic Data Types and Object-Oriented Programming,Andrew Kennedy, Claudio Russo,Scalable Component Abstractions,Martin Odersky, Matthias Zenger,35,Associated Types and Constraint Propagation ,Support for object-oriented programming has become an integral part of mainstream languages, and more recently generic programming has gained widespread acceptance as well. A natural question is how these two paradigms, and their underlying language mechanisms, should interact. One particular design option, that of using subtyping to constrain the type parameters of generic functions, has been chosen for the generics extensions to Java and C#. Certain shortcomings have previously been identified in using subtyping for constraining parametric polymorphism in the context of generic programming. To address these, we propose the expansion of object-oriented interfaces and subtyping to include associated types and constraint propagation. Associated types are type members of interfaces and classes. Constraint propagation allows certain constraints on type parameters to be inferred from other constraints on those parameters and their use in base class type expressions. The paper demonstrates these extensions in the context of Generic C# and presents a formalism proving their safety. The formalism is applicable to other mainstream OO languages supporting F-bounded polymorphism, such as Java.,36,Generalized Algebraic Data Types and OOP,Generalized algebraic data types (GADTs) have received much attention recently in the functional programming community. They generalize the type-parameterized datatypes of ML and Haskell by permitting constructors to produce different type-instantiations of the same datatype. GADTs have a number of applications, including strongly typed evaluators, generic pretty-printing, generic traversals and queries, and typed LR parsing. We show that existing object-oriented programming languages such as Java and C# can express GADT definitions, and a large class of GADT-manipulating programs, through the use of generics, subclassing, and virtual dispatch. However, some programs can be written only through the use of redundant run-time casts. We propose a generalization of the type constraint mechanisms of C# and Java to avoid the need for such casts, present a Visitor pattern for GADTs, and describe a switch construct as an alternative to virtual dispatch on datatypes. We formalize both extensions and prove a type soundness result.,37,Scalable Component Abstractions,We identify three programming language abstractions for the construction of reusable components: abstract type members, explicit selftypes, and symmetric mixin composition. Together, these abstractions enable us to transform an arbitrary assembly of static program parts with hard references between
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 商业计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!