About the 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
1. Module 0: Introduction to the course
- What this course is about
- Analytic logic and its relation to computer science
- Critical thinking as both a lifestyle and aide to better programming and testing
- Note: This is not a programming course
- Let’s get started: critical thinking and logical reasoning
- What does it mean to think critically?
- An overview of definition, induction, and deduction
- Computer programming and logical thinking
2. Module 1: Deduction and Induction
- Deduction and deductive syllogisms
- Validity and invalidity
- Argument forms
- Deductive arguments and computer code
- Induction and inductive syllogisms
- Inductive arguments and critical thinking
3. Module 2: Deductive Reasoning and Categorical Logic
- Focus on how to discipline thinking to write better programs
- The categorical statement
- The categorical syllogism
- Venn diagrams
- Application to computer code
4. Module 3: Inductive Reasoning and Software Testing: How to think critically
- The logic of science
- Looking for the cause (Mill’s Methods)
- Critical thinking and modern science
- Applying critical thinking skills to software testing
5. Final Exam
Paul Pardi Principal Content Developer Microsoft Corporation