inflearn logo

Computational Thinking (Part 2)

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 one-semester university lecture and covers essential content for those new to programming or beginners planning to major in computer science. Additionally, through this course, non-computer science majors or those with a humanities background can develop the ability to communicate easily with professional programmers. Even in an era where learning prompts for "AI vibe coding" is necessary, computational thinking allows you to develop the ability to instruct AI more accurately and effectively.

(5.0) 3 reviews

22 learners

Level Basic

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 coding 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 basic 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 liberal arts background who want to build foundational knowledge in programming (coding)

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

  • A necessary course for those who have learned programming language grammar but failed to enter the coding field and eventually gave up

  • Computational Thinking (Part 2) is best taken after completing Computational Thinking (Part 1) first!!

We've brought the university lecture exactly as it is

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

  • This course directly brings over a university semester-long course (when including both Part 1 and Part 2) and teaches you 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 to help non-majors or those with a humanities background communicate easily with professional programmers.


Textbook referenced in this lecture

Learning Content 📚

Section (1) Chapter 7 Data Organization

  • Understand the importance of naming variables.

  • Understand how data is organized and stored in memory.

  • Understand how indexing is used when a list is stored in memory as an array.

  • Understand how linking is used when implementing linked lists, which are convenient for adding or deleting items.

  • Examine examples of how graphs are used in road networks, subway lines, and flight routes.

  • Define a graph mathematically and implement it in memory.

  • Define a tree and look at various examples where trees are used.

Section (2) Chapter 8 Data Processing

  • Understand the architecture of the von Neumann stored-program computer.

  • Understand that the von Neumann architecture is similar to the way cell-based spreadsheets operate.

  • Understand that arithmetic operations, calculation formulas, and functions in cell-based spreadsheets are similar to the principles of programming.

  • Understand how strings such as e-mail addresses and date formats are processed in a program.

  • Examine various patterns in strings and different pattern rules.

  • Understand how to represent various patterns using regular expressions and practice applying them.

Section (3) Chapter 9 Software Verification and Validation

  • Understand the reasons why errors occur in computers.

  • Understand that software design and implementation are similar to architectural design and construction.

  • Understand that the procedures for software correctness verification and architectural supervision are similar.

  • Understand requirements, design verification, and product validation for software.

  • Understand the advantages and limitations of AI vibe coding, and recognize the necessity of reviews and verification.

  • Understand the reasons for using software testing for software verification and validation, as well as the limitations of testing.

  • Understand the need for documentation, scenarios, test cases, and test reports for software testing.

  • Understand the difference between black-box testing and white-box testing for software testing.

  • Examine various detailed examples of black-box testing and white-box testing.

Section (4) Chapter 10 Limits of Computation

  • Understand the improvement of computer performance and the physical limits of Moore's Law.

  • Understand that computational performance can be defined by storage capacity and processing speed.

  • Understand the reasons why it is difficult for the performance of multi-core processors to continue advancing.

  • Examine examples of how benchmarking is used to measure computer performance.

  • Understand algorithm performance evaluation methods and the performance difference between linear search and binary search (including sorting).

  • Understand algorithm time complexity and impractical (exponential time) algorithms.

  • Understand that impractical classical algorithms can exist as practical solutions on quantum computers.

  • Understand that there are uncomputable algorithms, such as the halting problem, that can never be solved.

  • Understand what the Turing Test and CAPTCHA aim to measure in relation to artificial intelligence.

Section (5) Chapter 11 Concurrent Action

  • A soccer match in a soccer tournament can be compared to an executing program, and the number of soccer fields can be compared to the number of CPUs.

  • Understand that assigning each match to a soccer stadium is similar to concurrency in CPU scheduling.

  • Understand that spinning many plates at once is similar to the concepts of parallelism and concurrency in computers.

  • Understand how to improve performance using concurrency through the process of how sorting networks operate.

  • Understand the basic constraints (dependencies and race conditions) that prohibit concurrent execution.

  • Examine the potential of concurrency for performance improvement and how shared resources constrain concurrency.

  • Understand how race condition (TOCTOU) situations cause errors.

  • Be able to recognize and explain deadlock and livelock situations.

Section (6) Chapter 12 Information Security

  • Understand the components of security and common forms of cybercrime (malware, identity theft, phishing, etc.).

  • Understand how authentication technology and personal authentication work.

  • Understand cryptographic concepts (symmetric key cryptography, public key cryptography, signatures, message authentication, certificates, etc.).

  • Understand security breach mitigation strategies (firewalls, antivirus, software updates, backups, logs, etc.).

  • Be able to recognize and apply the basic security principles of attack mitigation strategies (protecting weak links, reducing the attack surface, defense in depth, compartmentalization, etc.).

  • Understand how openness, such as in open-source software, contributes to security.

Notes before taking the course

Prerequisite Knowledge and Precautions

  • It is very helpful to have an understanding of n-th degree functions and exponential function graphs from the high school curriculum.

  • The quality of the lecture video (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 want to learn essential concepts in the field of computing.

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

  • Non-technical professionals 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 (Computational Thinking Part 1 is a prerequisite).

Hello
This is strandkings

Career Verified

58

Learners

8

Reviews

4.9

Rating

2

Courses

Experience working across ventures, major corporations, government-funded research institutes, and universities

Network/Security/Blockchain/Cryptography/Mobile Communications/Software Development/Operating Systems/Quantum Computing

More

Curriculum

All

24 lectures ∙ (14hr 12min)

Published: 
Last updated: 

Reviews

All

3 reviews

5.0

3 reviews

  • innoddoo님의 프로필 이미지
    innoddoo

    Reviews 3

    Average Rating 5.0

    5

    33% enrolled

    • pk3000000님의 프로필 이미지
      pk3000000

      Reviews 5

      Average Rating 5.0

      5

      33% enrolled

      • eastking341054님의 프로필 이미지
        eastking341054

        Reviews 3

        Average Rating 5.0

        5

        63% enrolled

        Similar courses

        Explore other courses in the same field!

        25% off for new members

        $37.30

        25%

        $47.30