inflearn logo

Computational Thinking (Part 1) - Problem Solving Through Software

Alongside reading, writing, and arithmetic, computational thinking is a skill that everyone living in the AI era must possess. Computational thinking can be simply defined as thinking like a programmer or thinking like a computer scientist. This course faithfully reproduces an actual university semester-long course and covers essential content for those encountering programming for the first time or beginners planning to major in computer science. It also helps non-computer science majors and people with humanities backgrounds develop the ability to communicate easily with professional programmers. Even in an era when we need to learn prompting for AI vibe coding, this course helps learners develop the ability to give AI more accurate and effective instructions through computational thinking.

(4.9) 10 reviews

61 learners

Level Beginner

Course period 12 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 to think like a programmer or computer scientist.

  • Beginners who are starting to code can become familiar with computational thinking.

  • You can apply computational thinking to various fields to solve problems.

  • You can learn the basic concepts needed for coding rather than programming language syntax.

A course you should definitely take before learning programming (coding) for the first time

  • A course suitable for beginners from humanities backgrounds who want to build basic general knowledge in programming (coding).

  • A course for beginners with no background knowledge in programming who want to try getting started with vibe coding

  • A course essential for coding-averse learners who have studied programming language syntax but have been unable to enter the coding field

  • After taking Computational Thinking (Part 1), it’s best to take Computational Thinking (Part 2)!!

This is a faithful reproduction of a university lecture.

Who should definitely take the Computational Thinking course?

  • This course is adapted directly from a university semester-long course (including both Parts 1 and 2), and teaches you how to think like a programmer or computer scientist.

  • It covers the essential content for people who are new to programming or beginners planning to major in computer science.

  • It clearly explains concepts with examples to help non-majors and people with humanities backgrounds communicate easily with professional programmers.

Textbook referenced in this course

Learning Content

Section (1) Chapter 1: Computational Thinking

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

  • We examine the first machine embodying the concept of a program and the first programmable computer.

  • Understand the concept of stored programs and the process by which programs are executed and data is processed.

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

  • Examine the first digital computer to use the stored-program architecture.

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

  • Explore the practical definition of computational thinking, the problem-solving ability 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 the measurement of data size and the capacity required to store real-world information.

  • Understand how data is encoded as sequences of bits in computer systems.

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

  • We examine how text characters are encoded as integers in order to encode them into bit strings.

  • Understand the sampling methods needed to encode analog sound into a digital bitstream.

  • Understand how colors are represented and how to encode images as digital bitstreams.

  • Understand the principle of compressing digital images into smaller, shorter bit sequences 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 try making logical inferences.

  • Explore how propositions and logic in natural language are represented using symbols.

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

  • We can construct logical inferences through logical negation and implication.

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


Section (4) Chapter 4: Problem Solving

  • Learn about the functional requirements that are central to problem definition in computing.

  • You can define problems for software development based on requirements.

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

  • Complex problems can be broken down into smaller problems and solved using divide and conquer.

  • You can understand the concepts of data decomposition and divide and conquer through binary search.

  • Control abstraction can be used to simplify complex problems.

  • You can use class diagrams to abstract data.

  • A use case diagram can be used to abstract behavior.


Section (5) Chapter 5: Algorithmic Thinking

  • Understand the origin of algorithms and the importance of the order of detailed operations in an algorithm.

  • Understand that the algorithms needed in the program design stage use logical conditional statements to perform selection.

  • Understand that in an algorithm, a variable can be either a memory location 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 computational state refers to the state in which the values of variables in memory change.

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


  • Complex detailed operations in an algorithm can be modularized through abstraction of control.

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


Section (6) Chapter 6: Modeling Solutions

  • Understand activity diagrams and state diagrams for modeling algorithms.

  • Can interpret activity diagrams containing actions, conditions, and control flows.

  • Understand the three control structures in activity diagrams: sequencing, selection, and iteration.

  • Can use control abstraction to abstract complex activities in activity diagrams.

  • Can create an activity diagram for a given algorithm.

  • You can interpret a state diagram that shows changes in the computational states within a computer system.

  • Can recognize states and events to understand the changes latent within a system.

  • The whole can be represented with a simple state diagram, while detailed content can be represented with an extended state diagram.

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

Notes Before Taking the Course

Prerequisite Knowledge and Notes

  • An understanding of sets and logic, as well as integers and real numbers, from the high school curriculum will be very helpful.

  • The quality of the initial lecture videos (audio/video) may not be optimal and could be updated later.

  • Questions can be answered through the Q&A section.


Recommended for
these people

Who is this course right for?

  • Beginners or non-majors who want to acquire essential concepts in computing

  • A beginner with no prior experience in programming who wants to build a foundation for vibe coding in the future

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

Need to know before starting?

  • No special prior knowledge is required, but you should be open to computational thinking.

Hello
This is strandkings

Career Verified

102

Learners

18

Reviews

4.9

Rating

2

Courses

e-mail: strandnero@gmail.com

Venture company, ETRI, and Samsung Electronics experience / Worked at IT companies in Silicon Valley, U.S., and London / Professor in the Department of Computer Science and Engineering at a university in Seoul (17 years)

[Cybersecurity Major] Courses planned for the program (12 courses, 36 credits in total) — lectures at the undergraduate junior/senior and master's levels

Computational Thinking/System Software/Linux Kernel/Computer Security/Internet Communications/Network Security/Mobile Computing/Mobile Communication Networks/Mobile Security/Quantum Computing/Quantum Communications/Quantum Security

More

Curriculum

All

25 lectures ∙ (9hr 1min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

10 reviews

4.9

10 reviews

  • phc93142856님의 프로필 이미지
    phc93142856

    Reviews 5

    ∙

    Average Rating 5.0

    5

    33% enrolled

    • jucicoola1462님의 프로필 이미지
      jucicoola1462

      Reviews 15

      ∙

      Average Rating 5.0

      5

      33% enrolled

      • jy07533212님의 프로필 이미지
        jy07533212

        Reviews 5

        ∙

        Average Rating 5.0

        5

        17% enrolled

        • inchon11236063님의 프로필 이미지
          inchon11236063

          Reviews 1

          ∙

          Average Rating 5.0

          5

          33% enrolled

          • pk30000002371님의 프로필 이미지
            pk30000002371

            Reviews 5

            ∙

            Average Rating 5.0

            5

            33% enrolled

            Similar courses

            Explore other courses in the same field!

            Limited time deal ends in 3 days

            $36.30

            29%

            $51.70