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.

4 learners are taking this course

Level Basic

Course period 6 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 humanities background who want to build foundational general knowledge related to programming (coding).
  • A course necessary for beginners who have no background knowledge in programming but want to get started with Vibe Coding.
  • A 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 adaptation of a university lecture.

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

강의에서 참고한 교재

This course is a direct adaptation of a full-semester university 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.


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 airline routes.
  • Mathematically define a graph and implement it in memory.
  • Define a tree and examine various examples of where trees are used.

Section (2) Chapter 8 Data Processing

  • Understand the structure 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 the different rules governing those patterns.
  • 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 understand the necessity of review and verification.
  • Understand the reasons for using software testing for software verification and validation, as well as the limitations of testing.
  • Understand the necessity of 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 in quantum computing.
  • 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.
  • Explore the potential of concurrency for performance improvement and how shared resources constrain concurrency.
  • Understand how race condition (TOCTOU) situations cause errors.
  • You can 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 technologies 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.).
  • You can 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 Important Notes

  • 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

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

Not enough reviews.
Please write a valuable review that helps everyone!

Similar courses

Explore other courses in the same field!

$42.90