inflearn logo

Computational Thinking (Part 1) - Problem Solving through Software

Along with reading, writing, and arithmetic, computational thinking is an essential skill that everyone living in the AI era must possess. Simply put, computational thinking can be defined as thinking like a programmer or a computer scientist. This course replicates an actual full-semester university lecture and covers essential content for those new to programming or beginners planning to major in computer science. Furthermore, through this course, non-computer science majors or those with a background in the humanities can develop the ability to communicate easily with professional programmers. Even in an age where learning prompts for "AI vibe coding" is necessary, computational thinking will help you develop the ability to instruct AI more accurately and effectively.

(4.8) 6 reviews

46 learners

Level Beginner

Course period 4 months

Algorithm
Algorithm
software-design
software-design
Business Problem Solving
Business Problem Solving
Algorithm
Algorithm
software-design
software-design
Business Problem Solving
Business Problem Solving

What you will gain after the course

  • You can learn how to think like a programmer or a computer scientist.

  • Beginners starting to code for the first time can become familiar with computational thinking.

  • Computational thinking can be applied to various fields to solve problems.

  • You can learn the fundamental concepts of coding rather than just programming language syntax.

A must-take course before learning programming (coding) for the first time

  • A course suitable for beginners from a humanities background who want to build foundational knowledge in programming (coding).

  • A course for beginners who have no background knowledge in the programming field but want to get started with Vibe Coding.

  • A must-take course for those who have learned programming language syntax but failed to enter the coding field and eventually gave up.

  • It is recommended to take Computational Thinking (Part 1) before taking Computational Thinking (Part 2)!!

It is a direct transfer of a university lecture.

Who are the people who absolutely must take the Computational Thinking course?

  • This course is a direct adaptation of a university semester-long course (when including both Part 1 and Part 2), and you will learn how to think like a programmer or a computer scientist.

  • It covers essential content for those new to programming or beginners planning to major in computer science.

  • It explains concepts using easy examples so that non-majors or those with a background in the humanities can easily communicate with professional programmers.

Textbook referenced in this lecture

Learning Content

Section (1) Chapter 1 Computational Thinking

  • We will examine the historical events that contributed to the invention of modern computers and software.

  • We will examine the first machine with a program concept and the first programmable computer.

  • Understand the concept of stored programs and the process of program execution and data processing.

  • Learn about the first analog computer and the first digital computer.

  • We will examine the first digital computer based on the stored-program concept.

  • Learn about the basic configuration and characteristics of modern computers.

  • Examine the practical definition of computational thinking, which is the ability to solve problems through software.


Section (2) Chapter 2 Real-World Information and Data

  • Understand the relationship between information and data, and the difference between analog and digital.

  • Define measurements for data size and the capacity required to store real-world information.

  • Understand how data is encoded into bitstreams for representation in computer systems.

  • Understand positional notation and explore how integers and real numbers can be encoded.

  • We will look into how to encode text characters into integers in order to encode them into bitstreams.

  • Understand the sampling methods required to encode analog sound into digital bitstreams.

  • Understand how to represent colors and how to encode images into digital bitstreams.

  • Understand the principles of compressing digital images into smaller and shorter bitstreams for storage or transmission.


Section (3) Chapter 3 What is Logic?

  • Understand that logic is necessary and useful for correct and rational thinking.

  • Understand inductive and deductive logic and be able to attempt logical reasoning.

  • Examine how propositions and logic in natural language are represented as symbols.

  • Define logical values and logical operators, and understand truth tables, tautologies, and contradictions.

  • Logical reasoning can be constructed through logical negation and implication.

  • Learn how logic is applied to solve real-world problems (search engines, database queries, digital circuits, image synthesis, software requirements writing, etc.).


Section (4) Chapter 4 Problem Solving

  • We will look into functional requirements, which are the core of problem definition in computing.

  • Based on the requirements, problems can be defined for software development.

  • Analyze the problem definition through logical reasoning, such as cause-and-effect reasoning, deductive reasoning, and inductive reasoning.

  • Complex problems can be solved through divide and conquer by decomposing them into smaller subproblems.

  • The concepts of data decomposition and divide-and-conquer can be understood through binary search.

  • Control abstraction can be used to simplify complex problems.

  • A class diagram can be used for the abstraction of data materials.

  • Use case diagrams can be used for the abstraction of behavior.


Section (5) Chapter 5 Algorithmic Thinking

  • Understand the origin of algorithms and the importance of the sequence of detailed operations within an algorithm.

  • Understand that the algorithms required during the program design phase operate through selection via logical conditional statements.

  • Understand that in an algorithm, a variable can represent either a memory space or the data itself, depending on its position.

  • Understand the concepts of computational state, events, and operations in computing.

  • In an algorithm, a change in the computational state refers to a state where the value of a variable in memory changes.

  • Understand how variable naming, selection, and iteration statements are represented in flowcharts (activity diagrams).


  • In algorithms, complex detailed operations can be modularized through control abstraction.

  • You can model a sequential algorithm with about 10 states.


Section (6) Chapter 6 Modeling Solutions

  • Understand activity diagrams and state diagrams for algorithm modeling.

  • You can interpret activity diagrams that include actions, conditions, and control flows.

  • Understand the three types of control in activity diagrams (sequencing, selection, and iteration).

  • Control abstraction can be used to abstract complex activities in an activity diagram.

  • You can create an activity diagram for a given algorithm.

  • You can interpret state diagrams that show changes in computational states within a computer system.

  • States and events can be recognized to understand the latent changes within the system.

  • You can represent the whole with a simple state diagram and express detailed information with an extended state diagram.

  • Can interpret state diagrams that include do, entry, and exit actions.

Notes before taking the course

Prerequisite Knowledge and Important Notes

  • It will be very helpful if you have an understanding of sets, logic, integers, and real numbers from the high school curriculum.

  • The initial lecture video quality (audio/video) is not excellent and may be updated in the future.

  • Any questions can be checked through the Q&A section.


Recommended for
these people

Who is this course right for?

  • Beginners or non-majors who wish to acquire essential concepts in the field of computing

  • Beginners who are new to programming but want to build a foundation for "vibe coding" in the future.

  • Non-specialists who want to communicate smoothly with programmers implementing business scenarios

Need to know before starting?

  • No special prior knowledge is required, but you should have an open mind toward computational thinking.

Hello
This is strandkings

Career Verified

74

Learners

9

Reviews

4.9

Rating

2

Courses

e-mail: strandnero@gmail.com

Experience working across ventures, large corporations, government-funded research institutes, and universities / Experience at IT companies in Silicon Valley and London

Internet Communications / Mobile Communication Networks / Mobile Computing / Computer Security / Network Security / System Software / Operating Systems / Quantum Computing / Quantum Communications

More

Curriculum

All

24 lectures ∙ (9hr 1min)

Published: 
Last updated: 

Reviews

All

6 reviews

4.8

6 reviews

  • vertzen2092님의 프로필 이미지
    vertzen2092

    Reviews 2

    Average Rating 5.0

    5

    33% enrolled

    • pk3000000님의 프로필 이미지
      pk3000000

      Reviews 5

      Average Rating 5.0

      5

      33% enrolled

      • innoddoo님의 프로필 이미지
        innoddoo

        Reviews 12

        Average Rating 5.0

        5

        33% enrolled

        • ggoooo님의 프로필 이미지
          ggoooo

          Reviews 6

          Average Rating 5.0

          5

          63% enrolled

          • phc93142856님의 프로필 이미지
            phc93142856

            Reviews 1

            Average Rating 5.0

            5

            33% enrolled

            Similar courses

            Explore other courses in the same field!

            25% off for new members

            $37.30

            25%

            $47.30