Ir al contenido principal

Logic and Computational Thinking

About This Course

Understanding how a computer "thinks" is one of the first steps to becoming an excellent computer programmer. A foundation in logic is crucial in developing this understanding. Mastering logic is more than learning a set of rules. It involves learning how to break problems into smaller chunks, figuring out how repeatable processes can save time and improve quality, and understanding how to organize problems into the right size.

In this course, you'll learn how to do all those things and use computers to make them easier. After all, logical tasks are what computers are best at doing!

This is not a programming course, but it will teach you how to approach critical thinking as both a lifestyle and an aide to better programming and testing.



What you'll learn

  • Logical form and how to construct arguments
  • Deductive and inductive argument forms
  • The basics of critical thinking
  • How to break down problems into simpler tasks
  • Recognizing patterns and understanding why this is important
  • How to use an algorithm to solve problems
  • The relation of logic to fundamentals in computer science

Course Syllabus

1. Module 0: Introduction to the course

    a. What this course is about

        i. Analytic logic and its relation to computer science

        ii. Critical thinking as both a lifestyle and aide to better programming and testing

        iii. Note: This is not a programming course

    b. Let's get started: critical thinking and logical reasoning

        i. What does it mean to think critically?

        ii. An overview of definition, induction, and deduction

        iii. Computer programming and logical thinking

2. Module 1: Deduction and Induction

    a. Deduction and deductive syllogisms

        i. Validity and invalidity

        ii. Argument forms

        iii. Deductive arguments and computer code

        iv. Exercises

    b. Induction and inductive syllogisms

        i. Inductive arguments and critical thinking

        ii. Exercises

    c. Assessment

3. Module 2: Deductive Reasoning and Categorical Logic

    a. Focus on how to discipline thinking to write better programs

    b. The categorical statement

    c. The categorical syllogism

    d. Venn diagrams

    e. Application to computer code

    f. Exercises

    g. Assessment

4.Module 3: Inductive Reasoning and Software Testing: How to think critically

    a. The logic of science

    b. Looking for the cause (Mill's Methods)

    c. Critical thinking and modern science

    d. Applying critical thinking skills to software testing

    e. Assessment

5. Final Exam

Meet the instructor

Course Staff Image #1

Paul Pardi

Principal Content Developer

Microsoft Corporation

Instructor of Philosophy

Seattle Pacific University

Paul created his first computer program when he was 12 years old and has been programming ever since. He received his Master’s degree in philosophy in 1997 and has taught philosophy courses at Seattle Pacific University since 2002. At Microsoft Paul has worked in Windows and Microsoft Learning doing engineering work and managing both engineering and content teams.