What did I take from the research in AMT to the research in Computer Science and Software Engineerin - PowerPoint PPT Presentation

1 / 21
About This Presentation
Title:

What did I take from the research in AMT to the research in Computer Science and Software Engineerin

Description:

Given L3 = For determining weather L3 R students could: use Rice ... Communications of the ACM 46(9), pp. 37-39. Abstraction in software development processes ... – PowerPoint PPT presentation

Number of Views:53
Avg rating:3.0/5.0
Slides: 22
Provided by: eduTech
Category:

less

Transcript and Presenter's Notes

Title: What did I take from the research in AMT to the research in Computer Science and Software Engineerin


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 L3
  • For determining weather L3 ? 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.)
  • Ld 12
  • Lu 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
13
Abstraction as an organizing theme for a
Programming Paradigms course
Programming paradigm
Programming language
14
The Software Industry
15
Software complexity
  • many 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
Abstraction in software development processes
  • 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
Write a Comment
User Comments (0)
About PowerShow.com