What are computers really? Do they speak programming languages? Is it hard to write your own programs? This course answers these and many other questions and explores the nature of computers, code and some fascinating ideas that allowed us to create modern computers, mobile phones, internet and, you know, pretty much everything we rely on every day.
Ask and try to answer some simple, but important questions: what's a computer anyway? Is it smart? Does it speak programming languages?
Explore the idea os programming languages and figure out what language should you strat with.
Learn about functions — the building blocks of programs, how to create and run functions.
Learn about conditions and boolean algebra, the mechanism that allows programs do one thing or do another thing based on some information.
Understand how errors arise in computer programs, how to recognize them and fix them.
Wrap your head around one very powerful and extremely important concept in programming — recursion.
Recursion is great, but the plain recursive process is not too efficient. Learn about an alternative way to compute recursively.
Learn about variables and a way of repeating code with loops. Understand the important distinction between declarative and imperative programming.
Get to know text data, strings and learn to manipulate them: glue together or take apart.
Learn some arithmetic shortcuts to quickly change the values of variables, and get to know the for loop — another way to create repeating code.
Understand the idea of testing code — writing code that checks the behavior of other code, look at some examples and write your own tests
Learn about dividing code into meaningful and reusable modules.
Understand how and why isolated environments are created in JS, what scoping is and how cool are closures.
Explore the idea of determinism, side effects, and purity in functions. Get to know the beauty of pure functions.
We recommend you to work on these challenges after completing the course. They will help you obtain more experience in programming and strengthen new skill.
|2||DNA to RNA||93%|
|6||Sum of square||95%|