﻿1
00:00:00,410 --> 00:00:07,100
‫So in this video, I'm going to do a quick course overview and talk about how you can get the most out

2
00:00:07,100 --> 00:00:08,390
‫of this course.

3
00:00:08,690 --> 00:00:11,240
‫Please watch this video to the end.

4
00:00:11,240 --> 00:00:18,470
‫In the last half of this video, I'll talk about how to access the coding exercises, which are very

5
00:00:18,470 --> 00:00:19,340
‫important.

6
00:00:19,670 --> 00:00:24,560
‫So this panel on the right is what you would see in the course in the browser.

7
00:00:24,890 --> 00:00:29,930
‫And I do have some students that don't want to cover anything conceptual.

8
00:00:29,930 --> 00:00:32,660
‫They just want to get right into writing code.

9
00:00:32,810 --> 00:00:39,950
‫If that is, you go directly to the Linked List section and start with a constructor video.

10
00:00:40,310 --> 00:00:42,770
‫So there'll be two things I'm going to cover here.

11
00:00:42,770 --> 00:00:48,110
‫First, I'm going to talk about why you should come up here and do these two sections before you get

12
00:00:48,110 --> 00:00:49,550
‫to the link list section.

13
00:00:49,910 --> 00:00:54,920
‫And then I'm going to talk about how to access the coding exercises.

14
00:00:55,220 --> 00:01:03,340
‫So first let's talk about Big O and Big O is a way of measuring how efficient your code is.

15
00:01:03,350 --> 00:01:07,670
‫And I'm going to give you just a quick example of where we might apply that.

16
00:01:08,030 --> 00:01:15,020
‫Let's say you're writing an application and you're trying to decide should you store your data in a

17
00:01:15,020 --> 00:01:18,320
‫linked list or a doubly linked list.

18
00:01:18,710 --> 00:01:24,740
‫So you're looking at a singly linked list first, and the most important thing to you is being able

19
00:01:24,740 --> 00:01:29,480
‫to remove the last item as efficiently as possible.

20
00:01:29,840 --> 00:01:37,220
‫Is a singly linked list going to be most efficient or would it be better to use a doubly linked list

21
00:01:37,490 --> 00:01:38,210
‫with this?

22
00:01:38,240 --> 00:01:41,870
‫Be more efficient when you remove the last item?

23
00:01:42,230 --> 00:01:49,190
‫Now it just so happens that a doubly linked list is much more efficient at this particular task.

24
00:01:49,550 --> 00:01:54,110
‫And we'll get into all the reasons for that when we get into the course.

25
00:01:54,500 --> 00:02:01,040
‫But the important thing here is the way we're going to talk about this efficiency is going to be the

26
00:02:01,040 --> 00:02:03,260
‫language of Big O.

27
00:02:03,680 --> 00:02:07,580
‫So there are three different reasons you should watch this section.

28
00:02:07,940 --> 00:02:14,150
‫First, we're going to be talking about the big o of everything we do with every data structure and

29
00:02:14,150 --> 00:02:16,460
‫every algorithm throughout the course.

30
00:02:16,580 --> 00:02:20,930
‫And we're going to be having quizzes on it and spend a lot of time on this topic.

31
00:02:20,930 --> 00:02:23,930
‫So that's the first reason you should watch this section.

32
00:02:24,290 --> 00:02:30,080
‫The second reason is you can see just right here, if you're making decisions on what data structure

33
00:02:30,080 --> 00:02:36,020
‫to use in your code, you need to understand this if you're going to write efficient code.

34
00:02:36,350 --> 00:02:38,180
‫So that's reason number two.

35
00:02:38,180 --> 00:02:40,580
‫But there is a third really big reason.

36
00:02:40,850 --> 00:02:48,500
‫There's 100% chance when you go into a coding interview that they will ask you questions about big O

37
00:02:48,770 --> 00:02:53,690
‫And now this next topic here, classes and pointers is very short.

38
00:02:53,690 --> 00:02:55,760
‫It only has two videos in it.

39
00:02:55,910 --> 00:03:00,350
‫One is an introduction to classes and the other one is on pointers.

40
00:03:00,590 --> 00:03:03,300
‫So first, let's talk about classes.

41
00:03:03,320 --> 00:03:08,720
‫Every data structure we create in this course will be using a class.

42
00:03:09,020 --> 00:03:16,490
‫So when we write the code for a linked list, for example, we're actually creating a linked list class.

43
00:03:16,910 --> 00:03:21,020
‫So it's important to know the basics of how classes work.

44
00:03:21,500 --> 00:03:26,690
‫But the other video pointers, this is something that trips up a lot of students.

45
00:03:27,140 --> 00:03:33,230
‫So, for example, if I ask a lot of students to show me where head and tail are in this diagram that

46
00:03:33,230 --> 00:03:39,560
‫will say this is head and this is tail, and that is actually incorrect.

47
00:03:39,920 --> 00:03:44,390
‫And the reason is that neither head nor tail are nodes.

48
00:03:44,810 --> 00:03:51,140
‫Head and tail are both variables that are pointers that can point to a node.

49
00:03:51,500 --> 00:03:54,340
‫So head is this pointer.

50
00:03:54,350 --> 00:04:02,060
‫Now, it just so happens that it is pointing at this node, but head is that variable that points to

51
00:04:02,060 --> 00:04:03,020
‫that node.

52
00:04:03,350 --> 00:04:05,600
‫And when you have a variable that's a pointer.

53
00:04:05,600 --> 00:04:10,670
‫It has some characteristics that are different than variables that are say, like an integer.

54
00:04:11,060 --> 00:04:14,660
‫And it will be important to understand those differences.

55
00:04:15,080 --> 00:04:20,750
‫So now let's move to the final topic in this video, and that is the coding exercises.

56
00:04:21,140 --> 00:04:26,420
‫So I'm going to come up here to the Linked List section and I'm going to open this and then we're going

57
00:04:26,420 --> 00:04:28,910
‫to come down here to the constructor.

58
00:04:29,270 --> 00:04:36,110
‫And as I mentioned earlier, this would be the first place where we are really writing code in the course.

59
00:04:36,470 --> 00:04:43,760
‫And I'm going to click on this resources tab and you can see that we have an exercise and solution file.

60
00:04:44,150 --> 00:04:50,240
‫And if you click on these, these will download and then you can import those into whatever coding environment

61
00:04:50,240 --> 00:04:51,470
‫that you're using.

62
00:04:51,770 --> 00:04:58,910
‫So this is one way to access the coding exercises, but I do have some students that don't want.

63
00:04:58,980 --> 00:05:00,900
‫To download a file and import it.

64
00:05:00,900 --> 00:05:04,260
‫They just want to do it in the browser in the course.

65
00:05:04,650 --> 00:05:09,420
‫And if that's the way you want to do it, just scroll all the way to the bottom.

66
00:05:09,570 --> 00:05:13,740
‫And at the bottom there's a section called Coding Exercises.

67
00:05:14,130 --> 00:05:22,440
‫So I'll open this and then you can see up here that same coding exercise for the link to list constructor

68
00:05:22,440 --> 00:05:24,990
‫is down in this section as well.

69
00:05:25,380 --> 00:05:31,530
‫So for the coding exercise, you either download the exercise from the video under the resources tab

70
00:05:31,530 --> 00:05:34,680
‫or you do it down here you don't do both.

71
00:05:35,040 --> 00:05:39,720
‫And the reason is these will both be the same exercise either way.

72
00:05:40,140 --> 00:05:45,720
‫So if you want to get the most out of this course, as soon as we get done with a video where we're

73
00:05:45,720 --> 00:05:52,410
‫going through code immediately, do the coding exercise and reinforce that learning.

74
00:05:52,770 --> 00:06:00,060
‫So I took a lot of time in creating these coding exercises and they are designed to give you an opportunity

75
00:06:00,060 --> 00:06:04,350
‫to write the code for each topic as quickly as possible.

76
00:06:04,710 --> 00:06:10,800
‫And I think you will find these to be more efficient than writing all of the code from scratch.

77
00:06:11,160 --> 00:06:15,930
‫And with that, that is our quick course overview.

