Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 11 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
11
Dung lượng
3,32 MB
Nội dung
Lecture CS 1813–DiscreteMathematics Learning Goals Lesson Plans and Logic Rex Page Professor of Computer Science University of Oklahoma EL 119 – Page@OU.edu CS 1813Discrete CS 1813DiscreteMathematics Learning Goals Apply mathematical logic to prove properties of software Predicate calculus and natural deduction Boolean algebra and equational reasoning Mathematical induction Mathematical induction Mathematical induction Understand fundamental data structures Sets Trees Functions and relations Additional topics e! r o l a g s f proo e! Graphs Counting Algorithm Complexity CS 1813Discrete lor proofs ga e! ofs galor pro lore! proofs gagalore! proofs ore! proofs gal 100s of input s Why Proofs? input signal s Key presses Mouse gestures Files Databases … software computatio n > 2100s output of signal possibilitie s s Images Sounds Files Databases … Software translates input signals to output signals A program is a constructive proof of a translation But what translation? Proofs can confirm that software works correctly Testing cannot confirm software correctness Practice with proofs improves software thinking CS 1813Discrete CS 1813DiscreteMathematics Textbook and Tools Discrete Mathematics Using a Computer Cordelia Hall and John O’Donnell Springer-Verlag, January 2000 Tools provided with textbook Download from course website for CS 1813 Hugs interpreter for Haskell Download from course website Haskell is a math notation (and a programming lang) Reading assignments begin with Chapter Read Chapter (Haskell) as needed, for reference Haskell coverage JIT, like other math notations CS 1813Discrete Formal Mathematical Notations Notations introduced as needed (JIT) H l as ke l Logic a∧b, a∨b, a→b, ∀x.P(x), ∃ x.Q(x), … Sets A ∪ B, A ∩ B, {x | x∈S, P(x)}, … Sequences [x | x