강의

멘토링

커뮤니티

NEW
Programming

/

Algorithm & Data Structure

Computational Thinking (Part 1)

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.

7 learners are taking this course

Level Beginner

Course period 6 months

  • strandkings
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 must-take course for beginners with no prior background in programming who want to get started with Vibe Coding.

  • An essential lecture for those who have learned programming language syntax but failed to enter the field and eventually gave up on coding.

  • It is recommended to take Computational Thinking (Part 1) before taking Computational Thinking (Part 2)!! thì sẽ tốt hơn!!

It's a direct adaptation of a university course.

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

  • This course is a direct adaptation of a full-semester university lecture (when including both Part 1 and Part 2), where you will learn how to think like a programmer or a computer scientist. Khóa học này chuyển tải nguyên vẹn nội dung của một học kỳ đại học (nếu bao gồm cả phần 1 và phần 2), giúp bạn học cách tư duy như một lập trình viên hoặc một nhà khoa học máy tính.

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

  • It provides easy explanations of concepts using 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 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 to incorporate the concept of a program and the first programmable computer.

  • Understand the concept of the stored-program 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.

  • We will 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 examine how to encode text characters into integers in order to represent them as bitstrings.

  • 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.

  • Explore 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 examine functional requirements, which are central to problem definition in computing.

  • Based on the requirements, you can define the problem 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.

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

  • Control abstraction can be used to simplify complex problems.

  • Class diagrams can be used for the abstraction of data materials.

  • Use case diagrams can be used for behavioral abstraction.


Section (5) Chapter 5 Algorithmic Thinkingセクション(5) 第5章 アルゴリズム的思考

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

  • Understand that algorithms required in the program design phase operate selection through 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 computational state refers to a state where the values of variables in memory change.

  • 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 Solution Modeling

  • 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 (sequence, selection, and iteration).

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

  • You can create activity diagrams for given algorithms.

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

  • You can recognize states and events to understand the underlying changes within the system.

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

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

Notes before taking the course

Prerequisites and Important Notes

  • An understanding of high school-level sets, logic, integers, and real numbers is highly beneficial.

  • The quality of the initial lecture videos (audio/video) is not optimal 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

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

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

Curriculum

All

24 lectures ∙ (9hr 0min)

Published: 
Last updated: 

Reviews

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

Limited time deal ends in 09:44:01

$26.40

38%

$42.90

strandkings's other courses

Check out other courses by the instructor!

Similar courses

Explore other courses in the same field!