Metaphysics of Software Engineering - PowerPoint PPT Presentation

1 / 12
About This Presentation
Title:

Metaphysics of Software Engineering

Description:

Lecture 1. Metaphysics of Software Engineering. Beauty in Software Engineering. A piece of code is beautiful if every line in it serves a concrete, explainable ... – PowerPoint PPT presentation

Number of Views:35
Avg rating:3.0/5.0
Slides: 13
Provided by: Alexi79
Learn more at: https://cs.nyu.edu
Category:

less

Transcript and Presenter's Notes

Title: Metaphysics of Software Engineering


1
Lecture 1
  • Metaphysics of Software Engineering

2
Beauty in Software Engineering
  • A piece of code is beautiful if every line in
    it serves a concrete, explainable purpose.

3
Beauty in Software Engineering
  • A design is beautiful if it creates all
    encompassing and succinct model of the process.

4
Occams Razor
  • Things must be no more complicated than
    they really need to be.

5
Patterns
  • 1,0,1,1,0,1,1,1,0,....

6
Simple self-referential sentence, which is
undecidable
  • This sentence is false.

7
Turing Theorem
  • It is not possible to determine via
    mathematical algorithmic procedure whether given
    Turing machine will halt on the given input.
  • Or simply There are things that are not
    possible to compute!

8
Modeling
  • What is it that will make our models better,
    closer to perceived reality?

9
What is a Class?
  • Class is a category, aggregate abstraction,
    a philosophical form, which unites underlies and
    describes objects or entities of similar type.
  • That is (notice the recursion here), entities
    which are similar enough to be assigned to a
    single class. Class is a blueprint for an object.
    Class, as far as program is concerned, is a meta
    physical entity
  • (well, maybe not in Java ).

10
What is an Object?
  • Object, is a member, instance of a class.
    Objects are grouped into classes by similar
    features. Object, as far as program is concerned,
    is a physical entity.

11
Example
  • public class Human
  • // Constructs human with first name, last
    name date of birth
  • public Human( String sFirstName, String
    sLastName )
  • this.sFirstName sFirstName
  • this.sLastName sLastName
  • public String getFirstName() return
    sFirstName
  • public String getLastName() return
    sLastName
  • public String toString() return
    sFirstName " " sLastName
  • private String sFirstName, sLastName
  • // Lets try it out
  • public static void main( String args )
  • Human ka new Human("Ken", "Arnold")
  • // an instance of a class is object
  • System.out.println( "We have created
    human " ka.getName() "" )

12
Please read
  • The Construction of Human-Computer Interfaces
    Considered as a Craft,
  • by David Wroblewski
  • This article can be found under resources and as
    a link from lecture 1 page
Write a Comment
User Comments (0)
About PowerShow.com