100% satisfaction guarantee Immediately available after payment Both online and in PDF No strings attached
logo-home
Computational Thinking for Coders Summary () $5.35
Add to cart

Summary

Computational Thinking for Coders Summary ()

1 review
 86 views  6 purchases
  • Course
  • Institution

This summary compactly discusses the 7 chapters of the zyBook of Thilo Kielmann for the academic year of 2020. The chapters are: Computational Thinking, Searching and Big-O, Troubleshooting Process, Basic Debugging, Sorting, Containers and Graphs.

Preview 1 out of 6  pages

  • November 3, 2020
  • 6
  • 2020/2021
  • Summary

1  review

review-writer-avatar

By: federicosartorio • 1 year ago

avatar-seller
XB_0046 Computational Thinking for Coders
Chapter 1 : Computational Thinking

• Computational thinking is the thought processes involved in formulating a problem and expressing its
solution in such way that a computer can understand thus effectively carry out.
• In a logical argument the things we already know or assume are called the premise and therefore, a
statement, which is either true or false. Once all premises are known, we can begin analyzing them to
form a conclusion.

• Algorithms are an ordered sequence of clearly defined steps that describe a process of computation
with clear start and endpoints for solving a particular problem.
• When writing an algorithm you have to think about a few things:
- State and variable: The state of an algorithm covers the current values that the algorithm is
keeping track of. A variable stores a certain value and needs to be explicitly assigned its value.
- Iteration(looping): Allows for a series of steps to be repeated without the need of manually
writing down each step. Variables are used for this.
- Selection: Tests the value of a variable at each iteration and acts according to a predefined set of
conditions. Conditions can be used everywhere.
- Pseudocode: A high-level description of an algorithm or computer program. An algorithm in
pseudocode is suitable for a human “computer”.

• A computer program consists of instructions executing one at a time. Basic instruction types are:
input, getting data, process, performing computations on data and output, output the data.
• Programs use variables to refer to data.

• Problem solving: Creating a methodical solution to a given task.
• When trying to solve a problem, the most important thing is to be very precise when defining the
problem, this way you get a clear goal to work towards to.
• There are several problem solving strategies, among which:
- Decomposition: Breaking down a task into several smaller and manageable tasks. It’s part of the
larger realm of divide-and-conquer strategies.
- Brute force: Trying all possible solutions in the search for the best one.
- Discover structure or pattern: By recognizing a pattern or solution, you can use that knowledge
to help you figure out similar problems.
- Making a model: Sometimes models give a simplified picture and make things more clear.
- Using mental toolboxes: Studying existing solutions, seeing patterns and generalizing will help
solving future problems.

• Abstraction: Expressing an idea in a specific context while hiding details that are deemed irrelevant in
that context. It operates at a certain level of detail, determined by how much you actually need to
understand.

Chapter 2 : Searching and Big-O

• To determine whether a solution is of good quality, you can check 4 things:
- Correctness: Does the solution actually solve the original problem? Factual.
- Efficiency: Does it take the least amount of time and space to solve the problem? Factual.
- Elegance: Is it simple yet effective? Subjective.
- Usability: Does it serve a purpose and is it readable for the targeted users? Subjective.
• Each solution has its own trade-offs. A common one in software engineering is the space-time trade-
off. Meaning some solutions may use less memory, but require more time to compute and vice versa.
• Thus your solution will inevitably involve compromises. Choosing the right trade-offs and the extent
of these trade-offs is what distinguishes a mediocre developer from a great programmer.

• Linear search: Search algorithm that starts from the beginning of a list, and checks each element until
the search key is found or the end of the list is reached. An example of brute force and the only option
if the list isn’t sorted.
• Runtime: The time it takes for an algorithm to execute.

1/6

The benefits of buying summaries with Stuvia:

Guaranteed quality through customer reviews

Guaranteed quality through customer reviews

Stuvia customers have reviewed more than 700,000 summaries. This how you know that you are buying the best documents.

Quick and easy check-out

Quick and easy check-out

You can quickly pay through credit card or Stuvia-credit for the summaries. There is no membership needed.

Focus on what matters

Focus on what matters

Your fellow students write the study notes themselves, which is why the documents are always reliable and up-to-date. This ensures you quickly get to the core!

Frequently asked questions

What do I get when I buy this document?

You get a PDF, available immediately after your purchase. The purchased document is accessible anytime, anywhere and indefinitely through your profile.

Satisfaction guarantee: how does it work?

Our satisfaction guarantee ensures that you always find a study document that suits you well. You fill out a form, and our customer service team takes care of the rest.

Who am I buying these notes from?

Stuvia is a marketplace, so you are not buying this document from us, but from seller syntryx. Stuvia facilitates payment to the seller.

Will I be stuck with a subscription?

No, you only buy these notes for $5.35. You're not tied to anything after your purchase.

Can Stuvia be trusted?

4.6 stars on Google & Trustpilot (+1000 reviews)

53068 documents were sold in the last 30 days

Founded in 2010, the go-to place to buy study notes for 14 years now

Start selling
$5.35  6x  sold
  • (1)
Add to cart
Added