1 / 25

CSC 490 - Senior Seminar I

CSC 490 - Senior Seminar I. This is your most important class!. CSC 490 - Senior Seminar I. Written Homework Assignment #1 due. Systems Assignment 1 topic due next time Systems Assignment 0 returned. CSC 490 - Senior Seminar I. Sassn0 grading. issues of “professional programming practice”.

cybele
Download Presentation

CSC 490 - Senior Seminar I

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CSC 490 - Senior Seminar I This is your most important class!

  2. CSC 490 - Senior Seminar I Written Homework Assignment #1 due Systems Assignment 1 topic due next time Systems Assignment 0 returned

  3. CSC 490 - Senior Seminar I Sassn0 grading issues of “professional programming practice”

  4. CSC 490 - Senior Seminar I meaningful identifiers useful comments indentation input prompts output formatting …

  5. CSC 490 - Senior Seminar I NTO text chapter 10 first read (abstraction) second read (cognition) refer to supplemental texts

  6. CSC 490 - Senior Seminar I Program Correctness two approaches 1. testing 2. proof

  7. CSC 490 - Senior Seminar I

  8. CSC 490 - Senior Seminar I 1. testing recall CSC370 discussion {test data set} input --> Program --> output {verify}

  9. CSC 490 - Senior Seminar I to verify … compare actual program outputs to expected outputs determined beforehand

  10. CSC 490 - Senior Seminar I testing is hard: - must determine expected outputs beforehand (manually perhaps) - must choose good test data sets

  11. CSC 490 - Senior Seminar I can’t fully test most programs are too large to fully test - all paths - all inputs

  12. CSC 490 - Senior Seminar I testing only shows presence of errors it can’t prove their absence

  13. CSC 490 - Senior Seminar I purpose of testing is to show errors testing can not show that a program is correct

  14. CSC 490 - Senior Seminar I Program Correctness two approaches 1. testing 2. proof

  15. CSC 490 - Senior Seminar I 2. proof

  16. CSC 490 - Senior Seminar I initial work of Tony C.A.R. Hoare young dude old dude beards are cool

  17. CSC 490 - Senior Seminar I “An axiomatic basis for computer programming” program proofs are inductive after assertions are made on the structure

  18. CSC 490 - Senior Seminar I model: {P} C {Q} make assertions{P} = pre; {Q} = postC = command /instruction prove structure is correct

  19. CSC 490 - Senior Seminar I use valid logic

  20. CSC 490 - Senior Seminar I mathematical induction step 1 – base case step 2 - induction

  21. CSC 490 - Senior Seminar I example: prove that 3n >= 2n + 1 if n >= 1

  22. CSC 490 - Senior Seminar I importance of proof some (many) programs are too large and too critical to completely test

  23. CSC 490 - Senior Seminar I NTO p. 63ff note: debugging is nottesting if proof is correct … if proof fails …

  24. CSC 490 - Senior Seminar I NTO p. 64 a sudden “jump”Euclid’s algorithm follow algorithm p. 65

  25. CSC 490 - Senior Seminar I NTO p. 66 follow proof …

More Related