# Logic and Computational Thinking

Microsoft

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

N/A

## 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 instructors

### Paul Pardi

Principal Content Developer
Microsoft Corporation

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.

1. Course Number

DEV262x
2. Classes Start

3. Classes End

4. Estimated Effort

Total 8 to 12 hours
Enroll