1
00:00:02,060 --> 00:00:04,490
So we saw some Javascript in action,

2
00:00:04,490 --> 00:00:10,550
we have the basic definition out of the way and hopefully now have a basic understanding of what Javascript

3
00:00:10,550 --> 00:00:13,630
is and what this language is all about.

4
00:00:13,640 --> 00:00:17,540
Now what's in this course though, what will you learn in this course?

5
00:00:17,660 --> 00:00:20,970
You could split this course in two three main blocks

6
00:00:20,990 --> 00:00:26,400
I would say - the core basics which you have to know under all circumstances,

7
00:00:26,780 --> 00:00:32,940
then the next block where we build up on these basics and build a really strong foundation,

8
00:00:33,020 --> 00:00:37,890
you could therefore still call that basics but these would be the advanced basics

9
00:00:38,090 --> 00:00:44,600
and then we have advanced concepts which allow you to get to the next level of Javascript development

10
00:00:44,780 --> 00:00:48,160
and become a really good Javascript developer.

11
00:00:48,170 --> 00:00:51,860
Now in the core basics block, we get started,

12
00:00:51,860 --> 00:00:57,700
this is this module, we learned the core basics about Javascript and its history and so on

13
00:00:57,830 --> 00:01:03,800
but once we're finished with this module, we'll dive into all the core syntax, the language basics, into

14
00:01:03,800 --> 00:01:10,820
variables, functions, what all of that is, all these core things that make up the Javascript language which

15
00:01:10,820 --> 00:01:17,120
you have to know no matter in which environment you want to execute Javascript. We'll dive into efficient

16
00:01:17,120 --> 00:01:22,880
development and debugging, how to configure your environment correctly, how to fix errors and how to find

17
00:01:22,880 --> 00:01:23,400
them.

18
00:01:23,510 --> 00:01:29,150
We'll dive into control structures, if statements, loops so that you can execute code multiple times based

19
00:01:29,150 --> 00:01:32,660
on some conditions. We'll look behind the scenes of Javascript,

20
00:01:32,690 --> 00:01:36,430
we'll see what the Javascript engine does in detail.

21
00:01:36,620 --> 00:01:41,390
We'll have a close look at functions, a very important concept as it will turn out.

22
00:01:41,480 --> 00:01:49,280
We'll have a look at the DOM basics, DOM stands for Document Object Model and this will all be about manipulating

23
00:01:49,280 --> 00:01:50,210
the web page

24
00:01:50,240 --> 00:01:54,410
we're running on, adding content, removing content and so on.

25
00:01:54,410 --> 00:01:56,490
We'll have a look at arrays and iterables,

26
00:01:56,510 --> 00:01:59,850
so at lists of data and how we can work with those.

27
00:01:59,990 --> 00:02:04,510
We'll have a look at objects which are super important data structures in Javascript

28
00:02:04,670 --> 00:02:11,600
and once we're done with that, you will have a solid basic understanding of the Javascript core syntax

29
00:02:11,600 --> 00:02:16,630
and the core features. Now thereafter, we'll build a stronger foundation

30
00:02:16,650 --> 00:02:21,950
and if you already know all the core based syntax, this of course might be a great entry point.

31
00:02:21,960 --> 00:02:28,110
You'll find a module, in the curriculum if you check that, about classes and object oriented programming

32
00:02:28,380 --> 00:02:31,180
which takes object usage,

33
00:02:31,260 --> 00:02:34,470
you learned about objects in the core basics, to the next level.

34
00:02:34,530 --> 00:02:38,190
You learned about constructor functions and prototypes,

35
00:02:38,250 --> 00:02:42,210
important core concepts baked into the Javascript language.

36
00:02:42,360 --> 00:02:48,580
We'll dive deeper into the DOM and how to work with the browser and tap into certain browser features.

37
00:02:48,600 --> 00:02:53,920
We'll dive deeper into events, how we can react to mouse clicks and so on.

38
00:02:53,970 --> 00:02:56,460
We'll have a look at functions again,

39
00:02:56,460 --> 00:03:02,850
we'll dive really deep into functions and learn about things like recursion and more advanced function

40
00:03:02,850 --> 00:03:03,920
usage.

41
00:03:03,990 --> 00:03:09,450
We'll explore the number and string types in greater detail and which restrictions we have there and what

42
00:03:09,450 --> 00:03:10,640
we can do there.

43
00:03:10,670 --> 00:03:16,440
We'll dive into asynchronous code which will be related to that single threading I mentioned and how

44
00:03:16,440 --> 00:03:22,140
we can run longer taking operations without freezing our web page.

45
00:03:22,140 --> 00:03:25,290
We'll dive into these background HTTP requests,

46
00:03:25,290 --> 00:03:31,050
also sometimes referred to as Ajax which I mentioned earlier, which allow us to exchange data behind

47
00:03:31,050 --> 00:03:33,290
the scenes without reloading the page

48
00:03:33,480 --> 00:03:40,890
and once we did all of that, we will have a very solid foundation, not just the basic core syntax but

49
00:03:40,890 --> 00:03:48,450
we'll also know all the important parts of the Javascript language and of using Javascript in the browser.

50
00:03:48,450 --> 00:03:54,120
Now of course then we'll also dive into more advanced concepts, you will learn how to work with third

51
00:03:54,120 --> 00:04:01,140
party libraries, how to utilize the Javascript modules and split your code efficiently across multiple files.

52
00:04:01,320 --> 00:04:07,520
We'll dive into tooling which allows us to optimize our Javascript code, namely webpack and Babel.

53
00:04:07,620 --> 00:04:12,370
We'll briefly dive into browser storage and how you can store data in the browser,

54
00:04:12,390 --> 00:04:17,760
we'll have a look at browser support and how you can ensure that your scripts run in all browsers where

55
00:04:17,760 --> 00:04:18,810
they need to run,

56
00:04:18,810 --> 00:04:22,690
no matter which browsers your end users are going to use.

57
00:04:22,860 --> 00:04:27,970
We'll have a look at Javascript frameworks and there we'll have a look at the React.js library. We'll

58
00:04:28,050 --> 00:04:33,710
have a look at meta programming, how you can write code which is easier to use by other developers,

59
00:04:33,750 --> 00:04:35,780
really advanced but really important.

60
00:04:35,910 --> 00:04:41,340
We'll have a look at Node.js and see how that differs from browser side Javascript and what will be

61
00:04:41,340 --> 00:04:42,340
the same.

62
00:04:42,450 --> 00:04:49,080
We'll have a look at security and how you secure your code and which security holes you want to avoid.

63
00:04:49,080 --> 00:04:56,010
We'll of course also see how you get your code from your local machine onto a server where other users

64
00:04:56,010 --> 00:04:57,080
can use it.

65
00:04:57,120 --> 00:05:02,700
We'll have a look at performance optimizations and fixing memory leaks to ship the best possible code

66
00:05:03,030 --> 00:05:05,040
and much more.

67
00:05:05,040 --> 00:05:07,260
This course is a big course,

68
00:05:07,290 --> 00:05:12,640
it has a lot of hours of content because it's simply packed with content.

69
00:05:12,840 --> 00:05:19,290
You can simply go from it, from lecture 1 to the last lecture or of course also dive into the modules

70
00:05:19,320 --> 00:05:22,020
which are most interesting to you.

71
00:05:22,020 --> 00:05:28,740
I did my best to build the course in a way that allows you to also use it as a reference, so that you

72
00:05:28,740 --> 00:05:34,000
don't always have to restart at the beginning if you are coming back to it after a year or so

73
00:05:34,110 --> 00:05:41,670
but that you can dive into the sections which are most interesting to you, though if you are new or relatively

74
00:05:41,670 --> 00:05:42,960
new to Javascript,

75
00:05:42,960 --> 00:05:48,930
my strong recommendation is that you start with lecture one and section one and you go through the course

76
00:05:48,990 --> 00:05:52,650
step-by-step, maybe just speeding up playback

77
00:05:52,650 --> 00:05:55,680
if I'm going through some concepts you already know.

78
00:05:55,680 --> 00:05:58,660
So this is what's in the course and how you can take it.
