Included in the course
16 lessons (video or text)
20 exercises in the IDE
87 quizzes
Assistance in «Discussions» on the website
Description
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.
Lessons
-
1
What's a computer anyway?
Ask and try to answer some simple, but important questions: what's a computer anyway? Is it smart? Does it speak programming languages? -
2
Human and computer languages
Explore the idea os programming languages and figure out what language should you strat with. -
3
Writing your first program
Write your very first program in JavaScript and get to know the Hexlet's virtual computer that you'll be working in during the course. -
4
Constants and E=mc2
Learn about basic math in JavaScript, work with numbers and constants to calculate the total energy of your body using Einstein's famous formula. -
5
Making functions — black boxes
Learn about functions — the building blocks of programs, how to create and run functions. -
6
IF conditions and programs making decisions
Learn about conditions and boolean algebra, the mechanism that allows programs do one thing or do another thing based on some information. -
7
Oh, no, errors! And dealing with them
Understand how errors arise in computer programs, how to recognize them and fix them. -
8
Recursion: when function calls itself
Wrap your head around one very powerful and extremely important concept in programming — recursion. -
9
Iterative process and not being lazy
Recursion is great, but the plain recursive process is not too efficient. Learn about an alternative way to compute recursively. -
10
Variables and repetitions
Learn about variables and a way of repeating code with loops. Understand the important distinction between declarative and imperative programming. -
11
Mutators and for loop
Learn some arithmetic shortcuts to quickly change the values of variables, and get to know the for loop — another way to create repeating code. -
12
Dividing code into modules
Learn about dividing code into meaningful and reusable modules. -
13
Expressions vs. Statements
Understand the important distinction: expressions vs. statements in JavaScript. And learn how this knowledge will help you. -
14
Environment, scope and closures
Understand how and why isolated environments are created in JS, what scoping is and how cool are closures. -
15
Typing: dynamic vs. static and weak vs strong
Learn about types in JavaScript, and understand the difference between dynamic and static typing and weak and strong typing. -
16
Pure functions and side effects
Explore the idea of determinism, side effects, and purity in functions. Get to know the beauty of pure functions. -
17
Additional resources
Materials were picked up by the Hexlet team. This will give you a more in-depth understanding of the topic
Challenges
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.
#
Challenge
completion rate
Suggested learning programs
From zero to a developer. Refunds in case you won't get a job

Profession
New
Development of front-end components for web applications
20 June
10 months