Programming Beginner

12 lessons|180 exercises|Free

Why learn programming? It's very interesting, well paid and requires only your computer to start! It may allow you to work remotely. The upcoming robotization will affect this field positively, unlike many others. Whatever profession you're into, odds are you will either do some coding yourself or depend on people doing it. So programming will remain both valuable and rewardable in the foreseeable future.

Content

We do not provide theoretical content yet. If it's your first experience with Paqmind, please take a look at our How-to page to get yourself familiar with the approach.

The course is devoted to programming, studied on the basis of JavaScript language. We have chosen JavaScript not only because it's the most popular language in the world, it also has the widest application area (web, games, databases, robotics...) and it's simultaneously both simple and expressive enough to satisfy all our tutoring expectations.

Despite your probable expectations, we will use NodeJS instead of Browser. We believe that fundamental topics should be learned in isolation and to code in browsers you have to bother yourself with HTML, bundling, AJAX, asynchronicity, etc. – they just carry too much "extras".

We start with the most basic and universal things like: values, variables, booleans, functions, expressions, statements, conditions, loops and so on. Their knowledge is absolutely necessary to do anything in programming. Sometimes we will compare JavaScript to other languages to extend our context.

Our goal is to make the best timeless intro course for everyone who wants to learn programming. The target audience is totally not limited to future web developers. For the record, this course could be translated into Python, Java, whatever and most changes would concern only the syntax.

Whenever possible, we will avoid becoming trapped with special JavaScript features, quirks, and curious implementation details – there will be a separate course for that. Those who want to prepare themselves for the interview – look no further! However, if you are interested to finally learn what Programming is about – go on.

Before you start

This course is initial, so there are no course prerequisites.

Resources

  1. One of

Tools

  1. Shell / Terminal. Windows 10 has bash shell.
  2. NodeJS 7.6+
  3. Editor (Atom, VSCode, Webstorm...)

Lessons

1. REPL

16 exercises

REPLCalculationOperation, operator, operandFunction (school level)Math Object

2. Values

13 exercises

LiteralType (basic idea)Value

3. Variables

18 exercises

AssignmentDeclarationKeywordVariable

4. Logic

23 exercises

ExpressionsFunctions and OperatorsUnary and Binary functionsThe basics of Boolean Algebra: values, operations, lawsTruth tablesConjunction, DisjunctionXORImplication / conditionalBiconditional

5. Booleans

14 exercises

The basics of Boolean Algebra

6. Comparisons

9 exercises

BooleansComparison operators (JS)Primitive and Object types (JS)

8. Functions

18 exercises

FunctionFunction declarationFunction callFunction parameterFunction argumentFunction resultFunction bodyFunction signatureDomain and codomainCartesian productRelationPredicateIIFEScopeClosure

9. Collections

17 exercises

ObjectArrayPropertyMethodES6 destructuringListDictStructTuple

10. Mutability

10 exercises

MutabilityMutable and immutable valuesRelation of mutability and types in JSRelation of mutability and functional purity

11. Conditions

15 exercises

BooleansConditionsCoercionsIf-Else statementSwitch-Case statementConditional (ternary) operator

12. Loops

18 exercises

IterationLoopLoop counterLooping JS statements

13. Statements and Expressions

9 exercises

StatementExpressionEvaluationExecution