SENG609.19

Theoretical Foundations of Software Engineering

 

 

 

 

¤  SENG609-19 (Fall, 2005/-/09) - Theoretical Foundations of Software Engineering

 

Lecture Notes

 

Lecture 1 [PDF]

Lecture 2 [PDF] [Ref. paper: The Coordinative Work Organization Theory of SE]

Lecture 3 [PDF] [Ref. paper: Cognitive Complexity of Software]

Lecture 4 [PDF]

Lecture 5 [PDF]

Lecture 6 [PDF]

 

Classic Literature Reviews

 

1.1. Edsger W. Dijkstra (1972), The Humber Programmer, 1972 Turing Award Lecture, Communications of the ACM, Vol.15, No.10, pp.859-866.
 
2.2. 2. Frederick P. Brooks (1987), No Silver Bullet – Essence and  Accident in Software Engineering, IEEE Computer Vol.20, No.4, pp.10-19.

[Reference paper: The Coordinative Work Organization Theory of SE]

 
3. Juris Hartmanis (1994), On Computational Complexity and the Nature of Computer Science, 1994 Turing Award Lecture, Communications of the ACM, Vol.37, No.10, pp.37-43.

[Reference paper: Cognitive Complexity of Software]

 
4.4. David L. Parnas (1995), On ICSE’s ‘Most Influential’ Papers, ACM Software Engineering Notes, Vol.20, No.3, pp.29-32.
 
5.5. C.A.R. Hoare (1980), The Emperor’s Old Clothes, The 1980 Turing Award Lecture, Communications of the ACM, Vol.24, No.2, pp.75-83.

 

 

Outline [PDF]

 

Type: Q(3-0)

Lecturer: Dr. Y. Wang

Period: Oct. 21, 2009 – Dec. 2, 2009                       

Date: Wednesdays

Time: 17:30 – 20:30

Classroom: ICT 516

 

Course description

 

Principles and constraints of software engineering (SE): Basic constraints of SE. Tackling SE constraints by fundamental principles; Transdisciplinary foundations of SE; Philosophical foundations of SE: Philosophies of science and engineering. Formal reasoning methodologies. SE philosophies; Engineering foundations of SE: Generic engineering principles for SE. The coordinative work organization theory for SE. Large-scale software project organization; Mathematical foundations of SE: Classic mathematics. Denotational mathematics. Real-time process algebra (RTPA); Concept algebra. Computational foundations of SE: Basic computation models. Data object modelling. Behavior modelling. Program modelling. SE resources and processes modelling; System Science Foundations of SE: System philosophies, system topology, system algebra, principles of system science, software system engineering; Cognitive Informatics foundations of SE: Classic and contemporary information theories. Cognitive informatics. Informatics laws of software. Cognitive complexity of software. Cognitive computing and SE.

 

Prerequisite: N/A  

   

Evaluation

 

1. Assignments (x5): 30%

    - Hand in on Wednesdays following each previous lecture 

    - Both electronic and hard copy submissions are required

 

2. Group presentations and discussions on assigned classic papers (x5): 20%

 

3. Quiz (x1): 20%

    - Final week, multiple choice questions, 30 min.

 

4. Final project report: 30%  

    - >10 pages 

    - Grades are based on originality, quality, background knowledge, and formal written styles

    - Only an electronic submission in Word format is required.  

   

Reference textbooks

 

Y. Wang (2009), Lecture Notes on Theoretical Foundations of Software Engineering (Handouts).

 

M. Broy and E. Denert eds. (2001), Software Pioneers: Contributions to Software Engineering, Springer. 

 

       Y. Wang (2007), Software Engineering Foundations: A Software Science Perspective, Auerbach Publications, NY, USA, 1480pp.