跳到主要內容

Logic and Computational Thinking

About this course

This course is part of the Microsoft Professional Program in Entry-Level Software Development.

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
5. Final Exam

Prerequisites

N/A

Meet the instructors

Paul Pardi

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.

註冊