Critical Thinking in Computer Science and Database

by K. Yue

Foreword

Critical thinking is one of the most important skills and habits in learning and navigating our life. The materials below are based on the university's accreditation effort from 2010 to 2020 focusing on applied critical thinking (ACT). ACT is no longer the accreditation's effort, at least to me.

For those interested in critical thinking, I would recommend to start with Steven Pinker's work. You may or may not agree with him in many issues but his work has depth and is thought provoking.

  1. Steven Pinker's lectures on critical thinking: https://harvard.hosted.panopto.com/Panopto/Pages/Sessions/List.aspx#folderID=%2255a37adc-eaae-4aa6-8a06-ab25015a4ee8%22.
  2. Steven Pinker, Rationality: What It Is, Why It Seems Scarce, Why It Matters. Penguin.
1. Introduction

Critical Thinking In Computer Science in General and Design of Database Systems in Particular

Computer science is the scientific and practical study of computation and its applications. Its scope is well agreed upon. For example, in Wikipedia, it is "the systematic study of the feasibility, structure, expression, and mechanization of the methodical procedures (or algorithms) that underlie the acquisition, representation, processing, storage, communication of, and access to information." A thorough understanding and precise specification of the problem domain through modeling, with a clear understanding of all underlying assumptions, is a prerequisite for effectively using computer science to construct a computer-based solution. All elements of thought of critical thinking are essential in every step of the elaboration and modeling of the problem, and design, implementation, and maintenance of a computer-based solution.

In particular, information is usually stored permanently in database. In the design of database systems, critical thinking is integrated in the process. Database designers use principles of data modeling to thoroughly understand and specify the problemConcepts of normalization theory and data manipulation are applied to infer and construct suitable logical design solutions. The implications and consequences of the design are realized through the effective uses of query languages. The central question in the design of database systems is how to store and retrieve permanent data effectively.

2. Critical Thinking

Why?

Exercise:

Think about and use CT EoT and standards on the following topics. Use the critical thinking form. For groups, use the group form.

  1. How do you get a grade of A in this course?
  2. How much time should I devote in the course per week?
  3. How can I become a teaching assistant.

3. Critical Thinking Tools

Fundamental and Powerful Concepts (FPC) of the Course

In ACT vocabulary, fundamental and powerful concepts form the foundation that permeates and unites a course. In this course, these concepts are:

  1. Data modeling for thoroughly understanding and precisely specifying problem requirements, assumptions, and constraints.
  2. Database design for constructing database solution to satisfy the data model.
  3. Data manipulation for updating and accessing information stored in the database solutions.

SEE-I

Exercise:

Use FPC and SEE-I iteratively to learn the following topics:

  1. The basic relational data model.
  2. The Select Statement in SQL.
  3. The weak entity in Entity-Relationship (ER) model.
  4. Why are there seasons (Spring, Summer, Autumn and Winter)? See: http://cmap.ihmc.us/docs/theory-of-concept-maps