Free Online Course: Logic and Computational Thinking
I just released the third installment of my free course “Logic and Computational Thinking” on edx.org published by Microsoft (outline below). This is a fundamentals course focusing on the basics of formal logic and associating that learning with computer science. I focused this course on helping the student develop basic skills in formal logic with the goal of helping him or her become stronger in thinking about how to apply logic to programming and other technical development tasks (such as testing and even circuit board design). The course includes case studies, plenty of assessment questions, and a large body of fellow students to bounce ideas off of.
As a part of the course curriculum, I was able to license content from a recent book by Dr. Paul Herrick called Think with Socrates: An Introduction to Critical Thinking published by Oxford University Press—probably the most preeminent publisher of philosophy right now. The value of using Dr. Herrick’s book is that it provides a practical perspective on using logic in real-world scenarios and with Dr. Herrick’s more than 30 years of teaching logic, the book provides a solid foundation to the rest of the material I developed for the course. Dr. Herrick was kind enough to record a few videos with me so you can learn from the author of that text directly.
In the two quarters that I’ve taught the course, it is has been well received by the almost 12000 students that have enrolled and I’ve had enormous joy putting the material together. If you’ve never had a formal course in logic, this free offering is a great opportunity to learn about this very important topic so check it out!
You can learn more about the course and enroll here: https://www.edx.org/course/logic-computational-thinking-microsoft-dev262x-1
Paul
Here’s the outline:
1) Module 0: Introduction to the course
a) What this course is about
i) Analytic logic and its relation to computer science
ii) ii. Critical thinking as both a lifestyle and aide to better programming and testing
iii) 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: Logic and Computer Science
a) Formal Logic and Computer Science
i) Introduction and prolegomena
ii) What is a Turing Machine?
iii) Bits and Bytes
iv) Algorithms
v) Logic and Computer Science
b) Introduction to Formal Logic
i) Introduction to Logic
ii) Arguments
iii) Statements
iv) Propositions
v) Truth Value
vi) Review Questions
c) Symbolizing and Logical Operators
i) Symbolization
ii) Introduction to Operators
iii) Negation Operator
iv) Conjunction Operator
v) Disjunction Operator
vi) Conditional Operator
vii) Sidebar: Operator of the largest scope
viii) Truth Tables
ix) Review Questions
3) Module 2: Deductive and Inductive Arguments
a) Types of arguments
i) Arguments again
ii) Review Questions
b) Deductive Arguments
i) Valid and invalid arguments
ii) Soundness
iii) Sound deductive arguments
iv) First two deductive syllogisms
v) Sidebar: formal fallacies
vi) Two more deductive argument forms
vii) Deductive arguments and computer programs
viii) Review questions
c) Inductive Arguments
i) Introduction to inductive arguments
ii) Strong and weak arguments
iii) Cogency
iv) Determining strength
v) Review questions
4) Module 3: Categorical Logic
a) Introduction to Categorical Logic
i) What is categorical logic?
ii) Aristotle's theory of forms
iii) Some, all, and none
iv) Quantity and quality
v) Review questions
b) Categorical form and syllogisms
i) Standard categorical form
ii) The categorical syllogism
iii) Forms of categorical syllogisms
iv) Review questions
c) Venn Diagrams
i) Categorical statements and validity
ii) Venn diagrams: I and O statements
iii) Venn diagrams: A and E statements
iv) Using Venn diagrams with categorical syllogisms
v) Venn diagrams: testing categorical syllogism for validity
vi) Review questions
5) Module 4: Introduction to Critical Thinking
a) What is Critical Thinking?
i) Introduction to critical thinking
ii) Socrates and critical thinking
iii) Socrates's definition of truth
iv) The Socratic Method
v) Two Socratic questions
vi) Applying the Socratic Method to computer science
b) Inductive Reasoning Applied
i) Forms of inductive reasoning
ii) The logic of science
iii) Confirmation and disconfirmation
iv) Mill's Method
v) Mill's method: agreement
vi) Mill's method: difference
vii) Mill's method: variation
c) A Case Study
6) Module 5: The Final Exam