Presentation is loading. Please wait.

Presentation is loading. Please wait.

What did I take from the research in AMT to the research in Computer Science and Software Engineering Education? Orit Hazzan Department of Education on.

Similar presentations


Presentation on theme: "What did I take from the research in AMT to the research in Computer Science and Software Engineering Education? Orit Hazzan Department of Education on."— Presentation transcript:

1 What did I take from the research in AMT to the research in Computer Science and Software Engineering Education? Orit Hazzan Department of Education on Technology and Science Technion October 16, 2007

2 Abstraction Kramer (2007): Two aspects: The first emphasizes the process of removing detail to simplify and focus attention; … The second emphasizes the process of generalization to identify the common core or essence.

3 Research

4 The theme of reducing abstraction (Hazzan, 1999) Students use ways by which they reduce the level of abstraction of abstract (mathematical) concepts. Computability Abstract algebra Differential equations Data structures Graph theory School mathematics

5 Reducing abstraction Abstraction level as the quality of the relationships between the object of thought and the thinking person (Wilensky, 1991) Retreat to familiar mathematical structures Abstraction level as reflection of the process-object duality Show strong need for canonical procedures which reflects process conception More

6 Show strong need for canonical procedures Three main ways to solve an exam: Constructing a Turing machine Using Rice theorem Defining a reduction between two languages

7 Show strong need for canonical procedures Given L 3 = For determining weather L 3  R students could: use Rice theorem or construct a reduction from one of the non recursive languages. Relying on Rice theorem is a simpler and shorter process. Students prefer building a reduction.

8 Solving Question 3A No. of students who used Rice theorem: 36. No. of students who built a reduction: 72. Different languages as the source language of the reduction. HP 45 students L (  ) ’ or (L  ) ’ 12 (The symbol ‘ represents set complement.) L d 12 L u 3

9 Show strong need for canonical procedures A student: “ When I do a reduction from HP I know what to do in each case, when it halts and when it does not halt. [ … ] When I learn for the exam [and solve problems from previous years] instead of complicating the solution, showing that a property is a non-trivial property of languages in RE [and using Rice theorem], I always do a reduction from HP ”. Interpretation: “ A reduction from HP can sometimes be constructed automatically without understanding the subtle details ”.

10 Teaching

11 Teaching Programming Paradigms With Yulia Stolin

12 Paradigms, their building blocks and relationships among them Relations between building blocks Building BlocksProgramming Paradigm CompositionFunctionsFunctional HierarchyProcedures / Sequence of commands Procedural InheritanceClassesObject-oriented

13 Abstraction as an organizing theme for a Programming Paradigms course Programming language Programming paradigm

14 The Software Industry

15 Software complexity “ [m]any of the things we make with software today are more complex than most buildings and, as in building design, software design embraces many aspects: function, safety, human interface, ergonomics, graphics, algorithms, data structure, program structure, protocol, and application interface, among others. ” (Singer, 1994).

16 Abstraction in computing "Once you realize that computing is all about constructing, manipulating, and reasoning about abstractions, it becomes clear that an important prerequisite for writing (good) computer programs is the ability to handle abstractions in a precise manner". (Devlin, 2003). Devlin, K. (2003). Why universities require computer science students to take math? Communications of the ACM 46(9), pp. 37-39.

17 Abstraction in software development processes

18 Traditional methods

19 Abstraction levels in software development processes Traditional methods Agile methods

20 Abstraction in agile software development Small Releases Planning Game release and iteration Refactoring Pair Programming Agile methods

21 What did I take from the research in AMT to the research in Computer Science and Software Engineering Education? Theoretical lesson: The importance of abstraction Practical lesson: Everything you learn is useful


Download ppt "What did I take from the research in AMT to the research in Computer Science and Software Engineering Education? Orit Hazzan Department of Education on."

Similar presentations


Ads by Google