Unlock the power of logical thinking and formal reasoning essential for success in computer science, data analysis, and software development with this dynamic course. Ideal for students, software engineers, data scientists, and IT professionals, this comprehensive program delves into logic foundations critical for advanced computing careers.

Logic for Computer Science

Logic for Computer Science
This course is part of Mathematics for Engineering Specialization

Instructor: BITS Pilani Instructors Group
Access provided by SGCSRC
Recommended experience
Recommended experience
Beginner level
There are no prerequisites for this fundamental course.
Recommended experience
Recommended experience
Beginner level
There are no prerequisites for this fundamental course.
What you'll learn
Analyse computational problems to identify appropriate proof techniques and logical reasoning methods that best address their complexities.
Design comprehensive solutions to algorithm development challenges by synthesising and applying principles of propositional and predicate logic.
Evaluate system reliability by conducting model checking using temporal logics, and interpret the results to ensure system correctness.
Construct formal verification plans for algorithms and programs using Floyd-Hoare logics and justify their correctness through logical reasoning.
Details to know

Add to your LinkedIn profile
113 assignments
See how employees at top companies are mastering in-demand skills

Build your subject-matter expertise
- Learn new concepts from industry experts
- Gain a foundational understanding of a subject or tool
- Develop job-relevant skills with hands-on projects
- Earn a shareable career certificate

There are 10 modules in this course
In this module, you will learn the relevance of formal logics in computer science. You will understand the difference between syntax and semantics. The module will also introduce you to propositional logic and informally to its syntactic constructs.
What's included
10 videos4 readings8 assignments
10 videos• Total 43 minutes
- Introducing Logic• 2 minutes
- Introduction to Propositional Logic • 1 minute
- Need for Formal Logics in Computer Science • 5 minutes
- Ambiguity of Natural Language: An Example• 3 minutes
- Propositional Logic: The Distinction Between Syntax and Semantics • 8 minutes
- Declarative Sentences: An Example• 5 minutes
- Introduction to Connectives in Propositional Logic and Their Informal Meanings• 8 minutes
- Propositional Logic Syntax • 4 minutes
- Examples of a Well-Formed Formula• 7 minutes
- Summary: Propositional Logic• 1 minute
4 readings• Total 30 minutes
- Course Overview• 10 minutes
- Course Structure & Critical Information• 10 minutes
- Recommended Reading: Declarative Sentences• 5 minutes
- Recommended Reading: Well-Formedness (Syntax) of Propositional Logic• 5 minutes
8 assignments• Total 48 minutes
- Practice Quiz: Need for Formal Logics in Computer Science • 6 minutes
- Practice Quiz: Ambiguity of Natural Language: An Example• 3 minutes
- Practice Quiz: Propositional Logic: The Distinction Between Syntax and Semantics• 3 minutes
- Practice Quiz: Declarative Sentences: An Example• 6 minutes
- Practice Quiz: Introduction to Connectives in Propositional Logic and Their Informal Meanings• 6 minutes
- Practice Quiz: Propositional Logic Syntax • 3 minutes
- Practice Quiz: Examples of a Well-Formed Formula• 6 minutes
- Test Yourself: Propositional Logic• 15 minutes
In this module, you will learn about the symbolic manipulation technique of natural deduction. The module will also discuss the different rules of natural deduction with examples.
What's included
12 videos3 readings11 assignments
12 videos• Total 50 minutes
- Natural Deduction in Propositional Logic• 1 minute
- Proof Systems: Notations• 8 minutes
- Natural Deduction: Conjunction Rule• 2 minutes
- Natural Deduction: Conjunction Rules—An Elementary Example• 2 minutes
- Natural Deduction: Implication Rule• 8 minutes
- Natural Deduction: Negation Rules• 4 minutes
- Natural Deduction: Disjunction Rules• 8 minutes
- Example 1: Modus Tollens• 3 minutes
- Example 2: Proof by Contradiction • 3 minutes
- Example 3: Law of Excluded Middle• 5 minutes
- Example 4: Natural Deduction Proof of a Logical Identity• 5 minutes
- Summary: Natural Deduction in Propositional Logic • 1 minute
3 readings• Total 15 minutes
- Recommended Reading: Proof Theory• 5 minutes
- Recommended Reading: Proofs Using Natural Deduction• 5 minutes
- Recommended Reading: Usage of Natural Deduction as Proof Technique• 5 minutes
11 assignments• Total 60 minutes
- Practice Quiz: Proof Systems: Notations• 9 minutes
- Practice Quiz: Natural Deduction: Conjunction Rule• 3 minutes
- Practice Quiz: Natural Deduction: Conjunction Rules—An Elementary Example • 3 minutes
- Practice Quiz: Natural Deduction: Implication Rule• 3 minutes
- Practice Quiz: Natural Deduction: Negation Rules• 3 minutes
- Practice Quiz: Natural Deduction: Disjunction Rules• 3 minutes
- Practice Quiz: Modus Tollens• 6 minutes
- Practice Quiz: Example 2: Proof by Contradiction • 3 minutes
- Practice Quiz: Example 3: Law of Excluded Middle• 3 minutes
- Practice Quiz: Example 4: Natural Deduction Proof of a Logical Identity• 9 minutes
- Test Yourself: Natural Deduction in Propositional Logic• 15 minutes
In this module, you will learn about state-of-the-art methods of resolution and Davis-Putnam-Logemann-Loveland (DPLL) methods to argue about the satisfiability of a propositional logic formula. We study the relevant characteristics of a logical theory, i.e., the consistency, soundness, and completeness, and comment on natural deduction as a proof technique on how it scores over these characteristics.
What's included
14 videos3 readings13 assignments
14 videos• Total 67 minutes
- Semantics, Soundness, and Completeness of Natural Deduction• 1 minute
- Interpretation of Propositional Logic Formulas• 4 minutes
- Interpretation of a Complex Formula: The Truth Table Method• 5 minutes
- Tautologies and Fallacies, Satisfiability, and Validity• 6 minutes
- Satisfiability Using Truth Table Method• 10 minutes
- Semantic Equivalence, and Adequate Set of Connectives • 4 minutes
- Normal Forms: CNF and DNF• 6 minutes
- Satisfiability and Validity: Duality• 4 minutes
- Satisfiability Proof Using Resolution• 7 minutes
- Davis Putnam Algorithm: An Introduction• 5 minutes
- Davis Putnam Algorithm: A Running Example• 7 minutes
- Development of Logical Theory: A Look Back at Natural Deduction• 4 minutes
- Soundness and Completeness of Natural Deduction• 4 minutes
- Summary: Semantics, Soundness, and Completeness of Natural Deduction• 1 minute
3 readings• Total 15 minutes
- Recommended Reading: Semantics of Propositional Logic • 5 minutes
- Recommended Reading: Normal Forms • 5 minutes
- Recommended Reading: Soundness and Completeness of Natural Deduction • 5 minutes
13 assignments• Total 54 minutes
- Practice Quiz: Interpretation of Propositional Logic Formulas• 3 minutes
- Practice Quiz: Interpretation of a Complex Formula: The Truth Table Method• 6 minutes
- Practice Quiz : Tautologies and Fallacies, Satisfiability, and Validity• 3 minutes
- Practice Quiz: Satisfiability Using Truth Table Method• 3 minutes
- Practice Quiz: Semantic Equivalence, and Adequate Set of Connectives • 3 minutes
- Practice Quiz: Normal Forms: CNF and DNF• 3 minutes
- Practice Quiz : Satisfiability and Validity: Duality• 3 minutes
- Practice Quiz : Satisfiability Proof Using Resolution• 3 minutes
- Practice Quiz : Davis Putnam Algorithm: An Introduction• 3 minutes
- Practice Quiz : Davis Putnam Algorithm: A Running Example• 3 minutes
- Practice Quiz : Development of Logical Theory: A Look Back at Natural Deduction• 3 minutes
- Practice Quiz : Soundness and Completeness of Natural Deduction• 3 minutes
- Test Yourself: Semantics, Soundness and Completeness of Natural Deduction• 15 minutes
In this module, you will be introduced to model-based formal verification techniques, in particular, the model checking techniques. The module will informally discuss two popular families of temporal logics: linear temporal logic (LTL) and computation tree logic (CTL).
What's included
13 videos4 readings12 assignments
13 videos• Total 70 minutes
- Model Checking Techniques and Temporal Logics• 1 minute
- Approaches to Computer Verification• 5 minutes
- Model Checking• 4 minutes
- Transition System: An Example• 6 minutes
- Formal Definition: Transition System• 6 minutes
- Paths and Traces: An Example• 8 minutes
- Invariants, Safety, and Liveness Properties• 7 minutes
- Examples of LTI Properties• 7 minutes
- Revisiting: Model Checking Steps• 3 minutes
- Family of Temporal Logics• 4 minutes
- Linear Temporal Logic: An Informal Introduction• 8 minutes
- Computation Tree Logic: An Informal Introduction• 11 minutes
- Summary: Model Checking Techniques and Temporal Logics• 1 minute
4 readings• Total 70 minutes
- Essential Reading: Introduction to Model Checking 1 • 30 minutes
- Essential Reading: Introduction to Model Checking 2 • 30 minutes
- Recommended Reading: Model Checking• 5 minutes
- Recommended Reading: Temporal Logics • 5 minutes
12 assignments• Total 48 minutes
- Practice Quiz: Approaches to Computer Verification• 3 minutes
- Practice Quiz: Model Checking• 3 minutes
- Practice Quiz: Transition System: An Example• 3 minutes
- Practice Quiz: Formal Definition: Transition System• 3 minutes
- Practice Quiz: Paths and Traces: An Example• 3 minutes
- Practice Quiz: Invariants, Safety, and Liveness Properties• 3 minutes
- Practice Quiz: Examples of LTI Properties• 3 minutes
- Practice Quiz: Revisiting: Model Checking Steps• 3 minutes
- Practice Quiz: Family of Temporal Logics• 3 minutes
- Practice Quiz: Linear Temporal Logic: An Informal Introduction• 3 minutes
- Practice Quiz: Computation Tree Logic: An Informal Introduction• 3 minutes
- Test Yourself: Model Checking Techniques and Temporal Logics• 15 minutes
In this module, you will formally learn the LTL and CTL temporal logics. The module will also introduce you to the algorithms used for model checking over these algorithms. The module will further explain fundamental system properties, such as invariance, safety, and liveliness. Furthermore, the module will give provide you insight into how to encode natural language sentences into LTL and CTL formulas.
What's included
13 videos5 readings12 assignments
13 videos• Total 79 minutes
- Model Checking • 1 minute
- LTL Syntax• 5 minutes
- Examples: Encoding of Natural Language Sentence into LTL• 6 minutes
- LTL Semantics• 10 minutes
- Equivalences of LTL Formula• 10 minutes
- Release and Weak Until Operators• 5 minutes
- LTL Model Checking: Naive Idea• 7 minutes
- LTL Model Checking : Discussion on Properties Inexpressible in LTL• 2 minutes
- Computational Tree Logic: The Syntax• 7 minutes
- Examples: Encoding of Natural Language Sentence into CTL• 9 minutes
- Computational Tree Logic: The Semantics• 9 minutes
- Model Checking Algorithm for CTL: Naive Idea• 8 minutes
- Summary: Temporal Logics and Algorithms for Model Checking• 1 minute
5 readings• Total 25 minutes
- Recommended Reading: Linear-Time Temporal Logic• 5 minutes
- Recommended Reading: Syntax of LTL• 5 minutes
- Recommended Reading: Syntax of LTL and LTL Model-Checking Algorithm• 5 minutes
- Recommended Reading: Computational Tree Logic• 5 minutes
- Recommended Reading: Computational Tree Logic • 5 minutes
12 assignments• Total 48 minutes
- Practice Quiz: LTL Syntax• 3 minutes
- Practice Quiz: Examples: Encoding of Natural Language Sentence into LTL• 3 minutes
- Practice Quiz: LTL Semantics• 3 minutes
- Practice Quiz: Equivalences of LTL Formula• 3 minutes
- Practice Quiz: Release and Weak Until Operators• 3 minutes
- Practice Quiz: LTL Model Checking: Naive Idea• 3 minutes
- Practice Quiz: LTL Model Checking: Discussion on Properties Inexpressible in LTL• 3 minutes
- Practice Quiz: Computational Tree Logic: The Syntax• 3 minutes
- Practice Quiz: Examples: Encoding of Natural Language Sentence into CTL• 3 minutes
- Practice Quiz: Computational Tree Logic: The Semantics• 3 minutes
- Practice Quiz: Model Checking Algorithm for CTL: Naive Idea• 3 minutes
- Test Yourself: LTL and CTL Temporal Logics; Algorithms for Model Checking• 15 minutes
In this module, you will learn the need for predicate logic and how to express statements in predicate logic. You will also learn about the syntax of predicate logic and the fundamentals behind writing proofs in predicate logic. You would also learn the concept of substitution and the difference between the free variables and bound variables. You will also get introduced to basic predicate logic rules that are used for proving sequents.
What's included
23 videos4 readings22 assignments
23 videos• Total 141 minutes
- Predicate Logic• 2 minutes
- Need for Predicate Logic • 5 minutes
- Expressiveness of Predicates: Variables and Quantifiers—Part I• 6 minutes
- Expressiveness of Predicates: Variables and Quantifiers—Part II• 8 minutes
- Expressiveness of Predicates: Arguments of Predicates• 6 minutes
- Expressiveness of Predicates: Function Terms• 11 minutes
- Expressiveness of Predicates: Non-deterministic Relations• 9 minutes
- Expressing Using Predicates: Conventions and Examples 1• 7 minutes
- Expressing Using Predicates: Conventions and Examples 2• 5 minutes
- Expressing Using Predicates: Examples 3• 4 minutes
- Expressing Using Predicates: Examples 4• 6 minutes
- Expressing Using Predicates: Example 5• 5 minutes
- Expressing Using Predicates: Examples 6• 6 minutes
- Expressing Inductive Rules Using Predicate Logic• 10 minutes
- Syntax of Predicate Logic• 5 minutes
- Predicate Logic: Conventions Used• 5 minutes
- Universal Quantifier Elimination with Examples• 5 minutes
- Existential Quantifier Introduction with Examples• 4 minutes
- Substitution and Binding• 8 minutes
- Bound vs. Free Variables• 8 minutes
- Substitution Revisited• 10 minutes
- Substitution and Renaming• 8 minutes
- Summary: Predicate Logic• 1 minute
4 readings• Total 20 minutes
- Recommended Reading: Need for Predicate Logic and its Expressiveness • 5 minutes
- Recommended Reading: Expressing using Predicate Logic • 5 minutes
- Recommended Reading: Universal Quantifier Elimination and Existential Quantifier Introduction• 5 minutes
- Recommended Reading: Substitution and Binding • 5 minutes
22 assignments• Total 99 minutes
- Practice Quiz: Need for Predicate Logic • 6 minutes
- Practice Quiz: Expressiveness of Predicates: Variables and Quantifiers—Part I• 6 minutes
- Practice Quiz: Expressiveness of Predicates: Variables and Quantifiers—Part II• 6 minutes
- Practice Quiz: Expressiveness of Predicates: Arguments of Predicates• 6 minutes
- Practice Quiz: Expressiveness of Predicates: Function Terms• 6 minutes
- Practice Quiz: Expressiveness of Predicates: Non-deterministic Relations• 3 minutes
- Practice Quiz: Expressing Using Predicates: Conventions and Examples 1• 3 minutes
- Practice Quiz: Expressing Using Predicates: Conventions and Examples 2• 3 minutes
- Practice Quiz: Expressing Using Predicates: Examples 3• 3 minutes
- Practice Quiz: Expressing Using Predicates: Examples 4• 3 minutes
- Practice Quiz Expressing Using Predicates: Example 5• 3 minutes
- Practice Quiz Expressing Using Predicates: Examples 6• 3 minutes
- Practice Quiz: Expressing Inductive Rules Using Predicate Logic• 3 minutes
- Practice Quiz: Syntax of Predicate Logic• 6 minutes
- Practice Quiz: Predicate Logic: Conventions Used• 3 minutes
- Practice Quiz: Universal Quantifier Elimination with Examples• 3 minutes
- Practice Quiz: Existential Quantifier Introduction with Examples• 3 minutes
- Practice Quiz: Substitution and Binding• 3 minutes
- Practice Quiz: Bound vs. Free Variables• 6 minutes
- Practice Quiz: Substitution Revisited• 3 minutes
- Practice Quiz: Substitution and Renaming• 3 minutes
- Test Yourself: Predicate Logic• 15 minutes
In this module, you will learn to apply the proof rules of natural deduction to prove sequents in predicate logic. The proof rules that you would learn include: Universal Quantifier Elimination, Existential Quantifier Introduction, Universal Quantifier Introduction and Existential Quantifier Elimination. You would also learn to identify which specific rules to apply for writing proof of a given sequent.
What's included
17 videos3 readings5 assignments
17 videos• Total 122 minutes
- Natural Deduction in Predicate Logic• 1 minute
- Proof Rules for Natural Deduction in Propositional Logic: Revision• 6 minutes
- Universal Quantifier Elimination and Existential Quantifier Introduction: Examples• 7 minutes
- Universal Quantifier Introduction with Example• 6 minutes
- Existential Quantifier Elimination with Example• 8 minutes
- Universal Quantifier Introduction vs. Existential Quantifier Elimination• 7 minutes
- ND in Predicate Logic: Example 1• 13 minutes
- ND in Predicate Logic: Example 2• 8 minutes
- ND in Predicate Logic: Example 3• 6 minutes
- ND in Predicate Logic: Example 4• 5 minutes
- ND in Predicate Logic: Example 5• 8 minutes
- ND in Predicate Logic: Example 6• 9 minutes
- ND in Predicate Logic: Example 7• 10 minutes
- ND in Predicate Logic: Example 8• 6 minutes
- ND in Predicate Logic: Example 9• 6 minutes
- ND in Predicate Logic: Example 10• 16 minutes
- Summary: Natural Deduction in Predicate Logic• 1 minute
3 readings• Total 25 minutes
- Recommended Reading: Proof Rules for Natural Deduction in Predicate Logic • 5 minutes
- Practice Problems 1: A List of Problems for ND Proofs• 10 minutes
- Practice Problems 2: A List of Problems for ND Proofs• 10 minutes
5 assignments• Total 21 minutes
- Practice Quiz: Proof Rules for Natural Deduction in Propositional Logic: Revision• 6 minutes
- Practice Quiz: Universal Quantifier Elimination and Existential Quantifier Introduction: Examples• 6 minutes
- Practice Quiz: Universal Quantifier Introduction with Example• 3 minutes
- Practice Quiz: Existential Quantifier Elimination with Example• 3 minutes
- Practice Quiz: Universal Quantifier Introduction vs. Existential Quantifier Elimination• 3 minutes
In this module, you will learn about semantics and model interpretations in predicate logic. You would also learn about the satisfiability and validity of predicate logic formulas, along with the undecidability of validity. You would also learn about the limitations of first-order predicate logic and how second-order predicate logic is useful in such cases.
What's included
20 videos4 readings19 assignments
20 videos• Total 135 minutes
- Module Introduction: Semantics, Soundness, Completeness, and Undecidability of Predicate Logic• 1 minute
- Semantics in Predicate Logic: Introduction—Part I• 6 minutes
- Semantics in Predicate Logic: Introduction—Part II• 8 minutes
- Semantics: Models and Interpretations—Part 1• 11 minutes
- Semantics: Models and Interpretations—Part 2• 5 minutes
- Semantics: Models and Interpretations—Part 3• 5 minutes
- Semantics: Models and Interpretations—Part 4• 6 minutes
- Semantics: Models and Interpretations—Part 5• 4 minutes
- Semantics: Interpretation Involving Variables• 8 minutes
- Semantics: Interpretation Using Environments or Look-Up Tables• 11 minutes
- Model Checks Relation with Examples• 8 minutes
- Semantic Entailment• 6 minutes
- Satisfiability and Validity in Predicate Logic• 6 minutes
- Satisfiability and Validity: Example 1• 9 minutes
- Satisfiability and Validity: Example 2• 10 minutes
- Satisfiability and Validity: Example 3• 7 minutes
- Satisfiability and Validity: Example 4• 11 minutes
- Undecidability, Soundness, and Completeness of Predicate Logic• 4 minutes
- Limitations of First-Order Logic and a Glimpse of Second-Order Logic• 9 minutes
- Summary: Semantics, Soundness, Completeness, and Undecidability of Predicate Logic• 1 minute
4 readings• Total 25 minutes
- Recommended Reading 1: Semantics of Predicate Logic: Part I • 5 minutes
- Recommended Reading: Semantics of Predicate Logic: Part II • 5 minutes
- Practice Problems: Checking Satisfiability and Validity in Predicate Logic• 10 minutes
- Recommended Reading: Undecidability of Validity, Soundness & Completeness, and Limitations of First-Order Logic • 5 minutes
19 assignments• Total 84 minutes
- Practice Quiz: Semantics in Predicate Logic: Introduction—Part I• 3 minutes
- Practice Quiz: Semantics in Predicate Logic: Introduction—Part II• 3 minutes
- Practice Quiz: Semantics: Models and Interpretations—Part 1• 3 minutes
- Practice Quiz: Semantics: Models and Interpretations—Part 2• 3 minutes
- Practice Quiz: Semantics: Models and Interpretations—Part 3• 3 minutes
- Practice Quiz: Semantics: Models and Interpretations—Part 4• 3 minutes
- Practice Quiz: Semantics: Models and Interpretations—Part 5• 3 minutes
- Practice Quiz: Semantics: Interpretation Involving Variables• 3 minutes
- Practice Quiz: Semantics: Interpretation Using Environments or Look-Up Tables• 3 minutes
- Practice Quiz: Model Checks Relation with Examples• 3 minutes
- Practice Quiz: Semantic Entailment• 3 minutes
- Practice Quiz: Satisfiability and Validity in Predicate Logic• 3 minutes
- Practice Quiz: Satisfiability and Validity: Example 1• 3 minutes
- Practice Quiz: Satisfiability and Validity: Example 2• 3 minutes
- Practice Quiz: Satisfiability and Validity: Example 3• 3 minutes
- Practice Quiz: Satisfiability and Validity: Example 4• 3 minutes
- Practice Quiz: Undecidability, Soundness, and Completeness of Predicate Logic• 3 minutes
- Practice Quiz: Limitations of First-Order Logic and a Glimpse of Second-Order Logic• 3 minutes
- Test Yourself: Natural Deduction, Semantics and Model Interpretations in Predicate Logic• 30 minutes
In this module, you will learn how to formally verify programs written in imperative style. More specifically, you will learn formal methods to verify assignment statements, sequence of statements, conditional statements, and iterative statements. You will also learn the formal method to verify whether a given program terminates or not.
What's included
16 videos5 readings10 assignments
16 videos• Total 139 minutes
- Module Introduction: Program Verification• 1 minute
- Formal Verification: Motivation• 5 minutes
- Floyd-Hoare Logic: Introduction, and Partial vs. Total Correctness• 13 minutes
- Floyd-Hoare Logic: Correctness of Assignment Statements• 10 minutes
- Floyd-Hoare Logic: Correctness of Sequencing• 6 minutes
- Floyd-Hoare Logic: Pragmatics• 12 minutes
- Floyd-Hoare Logic: Correctness of Conditionals• 10 minutes
- Floyd-Hoare Logic: Meta-Rule and Examples• 15 minutes
- Termination Arguments for Total Correctness• 13 minutes
- Termination Arguments Examples 1• 8 minutes
- Termination Arguments Examples 2• 8 minutes
- Program Variables vs. Logical Variables• 3 minutes
- Verifying Correctness of Loops: Loop Invariants with Examples• 10 minutes
- Loop Invariants: Example 1• 15 minutes
- Loop Invariants: Example 2• 10 minutes
- Summary: Program Verification• 1 minute
5 readings• Total 35 minutes
- Recommended Reading: Floyd-Hoare Logic for Assignment and Sequencing • 5 minutes
- Recommended Reading: Floyd-Hoare Logic for Conditionals and Meta-Rule • 5 minutes
- Practice Problems 1: A List of Practice Questions on Program Termination • 10 minutes
- Practice Problems 2: A List of Practice Questions on Loop Invariants• 10 minutes
- Recommended Reading: Total Correctness and Loop Invariants• 5 minutes
10 assignments• Total 30 minutes
- Practice Quiz: Formal Verification: Motivation• 3 minutes
- Practice Quiz: Floyd-Hoare Logic: Introduction, and Partial vs. Total Correctness• 3 minutes
- Practice Quiz: Floyd-Hoare Logic: Correctness of Assignment Statements• 3 minutes
- Practice Quiz: Floyd-Hoare Logic: Correctness of Sequencing• 3 minutes
- Practice Quiz: Floyd-Hoare Logic: Pragmatics• 3 minutes
- Practice Quiz: Floyd-Hoare Logic: Correctness of Conditionals• 3 minutes
- Practice Quiz: Floyd-Hoare Logic: Meta-Rule and Examples• 3 minutes
- Practice Quiz: Termination Arguments for Total Correctness• 3 minutes
- Practice Quiz: Program Variables vs. Logical Variables• 3 minutes
- Practice Quiz: Verifying Correctness of Loops: Loop Invariants with Examples• 3 minutes
In this module, you will learn to prove the total correctness of various commonly used algorithms such as computing the power of two numbers, finding an element from an unsorted array, and selection sort. You would also learn to deduce loop invariants for programs of the above computational problems and prove that these programs terminates.
What's included
11 videos3 readings1 assignment
11 videos• Total 72 minutes
- Module Introduction: Program Verification: Case Studies• 1 minute
- Computing Power of two numbers: Partial Correctness• 12 minutes
- Computing Power of two numbers: Proof of Termination• 6 minutes
- Finding an Element in an Unsorted Array• 11 minutes
- Finding an Element in an Unsorted Array: Total Correctness• 9 minutes
- Selection Sort: Intuition• 6 minutes
- Selection Sort: C Program• 13 minutes
- Selection Sort: Correctness of findMinIndex()• 8 minutes
- Selection Sort: Correctness of sort()• 5 minutes
- Summary: Program Verification Case Studies• 1 minute
- Course Wrap-up• 2 minutes
3 readings• Total 30 minutes
- Practice Problems 1• 10 minutes
- Practice Problems 2• 10 minutes
- Congratulations & Next Steps• 10 minutes
1 assignment• Total 30 minutes
- Test Yourself: Program Verification• 30 minutes
Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.
Instructor

Offered by

Offered by

Birla Institute of Technology & Science, Pilani (BITS Pilani) is one of only ten private universities in India to be recognised as an Institute of Eminence by the Ministry of Human Resource Development, Government of India. It has been consistently ranked high by both governmental and private ranking agencies for its innovative processes and capabilities that have enabled it to impart quality education and emerge as the best private science and engineering institute in India. BITS Pilani has four international campuses in Pilani, Goa, Hyderabad, and Dubai, and has been offering bachelor's, master’s, and certificate programmes for over 58 years, helping to launch the careers for over 1,00,000 professionals.
Why people choose Coursera for their career

Felipe M.

Jennifer J.

Larry W.

Chaitanya A.
Explore more from Computer Science
UUniversity of Leeds
Course
UUniversity of London
Course
UUniversity of London
Specialization
TThe Hong Kong University of Science and Technology
Course