WEBVTT

00:00:00.000 --> 00:00:08.480
Hi everyone, welcome back to LAI 676. We are now in week 12. My apologies for the late


00:00:08.480 --> 00:00:15.440
video this week. We were just making some quick edits to the websites. But this week,


00:00:15.440 --> 00:00:19.880
the lab is actually quite quick. It's mainly about copy and paste in code, learning how


00:00:19.880 --> 00:00:26.520
to use retro by experiencing it, and then it's up to you to go off and try to add something,


00:00:26.520 --> 00:00:30.640
but that's not a requirement. So this lab should actually, you could do it in 10 minutes if


00:00:30.640 --> 00:00:33.600
you were having a heavy week in other ways.


00:00:33.600 --> 00:00:40.280
Okay, so first before we talk about the retro games, I want to talk a little bit about


00:00:40.280 --> 00:00:46.880
the dice lab. And so as a reminder, the dice lab, it's your introduction to object oriented


00:00:46.880 --> 00:00:52.880
programming. So object oriented programming is kind of like a new paradigm of way of thinking


00:00:52.880 --> 00:01:00.200
about using and writing code. It's a way to model different behaviors and categorize it


00:01:00.200 --> 00:01:06.440
and think of its attributes and also its features. So it's interesting to read your


00:01:06.440 --> 00:01:11.360
journal entries because quite a few of you talked about how classes actually just help


00:01:11.360 --> 00:01:17.160
the code to be more readable and organized. Everything is in its own individual class,


00:01:17.160 --> 00:01:22.280
and it's very clear what attributes and which features it had only just by reading the file


00:01:22.280 --> 00:01:26.480
and by reading the code itself. And so I think you'll see this as a trend, especially as


00:01:26.480 --> 00:01:33.600
we talk about the retro lab, that there's a lot of clarity and organization when using


00:01:33.600 --> 00:01:39.440
classes. This can mean though that your software packages are suddenly going to get a bit bigger,


00:01:39.440 --> 00:01:44.760
because as you'll see in the retro lab, there is there are multiple different classes interacting.


00:01:44.760 --> 00:01:51.880
So although it may be more readable and more organized, it often also starts to grow comparison.


00:01:51.880 --> 00:01:56.840
Another question I saw, especially because the checkpoints ask you to add in doc strings


00:01:56.840 --> 00:02:02.880
in the YATI game, questions that like, what's different between a doc string and a comment?


00:02:02.880 --> 00:02:10.440
So doc strings are primarily written with the end user in mind and are to describe functions.


00:02:10.440 --> 00:02:14.760
So right underneath the function, that's when you see like the three quotes and then a description


00:02:14.760 --> 00:02:22.800
of the function, it may also tell you the parameters and what data type the parameter expects.


00:02:22.800 --> 00:02:27.720
So it's mainly a bit higher level than comments, like what is the whole functions purpose?


00:02:27.720 --> 00:02:31.720
You don't have to go in the nitty gritty of how it works, but just like, what is it?


00:02:31.720 --> 00:02:39.560
What's the purpose of it? And really focused on if someone else were to read your code.


00:02:39.560 --> 00:02:43.760
Whereas comments, comments can get more to the nitty gritty and describe how do pieces


00:02:43.760 --> 00:02:46.080
and snippets of code actually work.


00:02:46.080 --> 00:02:49.400
And they can also just be helpful like for you as a coder.


00:02:49.400 --> 00:02:53.680
They're not necessarily intended for outside use, but they can be, they can be especially


00:02:53.680 --> 00:02:57.000
helpful to describe more complex pieces of code.


00:02:57.000 --> 00:02:58.360
Comments can be useful for that.


00:02:58.360 --> 00:03:02.360
And especially when you're sharing code with your friends or working on a group project


00:03:02.360 --> 00:03:06.920
or making something together, I think that's when comments can really come in handy.


00:03:06.920 --> 00:03:10.880
I'd also say comments can be used as a debugging strategy.


00:03:10.880 --> 00:03:16.000
You can use comments to isolate pieces of code that you want to test and you want to


00:03:16.000 --> 00:03:17.000
focus on.


00:03:17.000 --> 00:03:21.560
Maybe there's a bug later on and so you want to use comments to really start to narrow


00:03:21.560 --> 00:03:23.720
down and focus on that.


00:03:23.720 --> 00:03:28.080
So it's a doctrine in comments of slightly different functions.


00:03:28.080 --> 00:03:30.160
Another thing I want to touch on is the Pentagon.


00:03:30.160 --> 00:03:32.240
How would I teach this lab?


00:03:32.240 --> 00:03:38.000
And so my suggestion would be to, if I was teaching this in the class, I would go and


00:03:38.000 --> 00:03:42.800
really get dice, get physical dice and play yachty.


00:03:42.800 --> 00:03:47.200
Perhaps before you play yachty, just like hold the physical dice, think about an ask


00:03:47.200 --> 00:03:48.200
the students.


00:03:48.200 --> 00:03:49.880
I think they can come up with this on their own.


00:03:49.880 --> 00:03:51.480
Like what are dice used for?


00:03:51.480 --> 00:03:53.840
What are different attributes and features of dice?


00:03:53.840 --> 00:03:54.840
You can look at the dice.


00:03:54.840 --> 00:03:57.280
You can see, oh yeah, there are six sides.


00:03:57.280 --> 00:04:01.480
Each side, each side is often called a face.


00:04:01.480 --> 00:04:04.840
Each face often represents a number.


00:04:04.840 --> 00:04:05.840
What can dice do?


00:04:05.840 --> 00:04:07.920
You can roll them.


00:04:07.920 --> 00:04:12.760
And if you look in the dice lab, especially in dice.py, a lot of those terms I just used


00:04:12.760 --> 00:04:17.040
to describe an actual physical dice are the terms that were used in that file.


00:04:17.040 --> 00:04:19.000
They were the different faces.


00:04:19.000 --> 00:04:22.080
Faces were in a list because there are six faces.


00:04:22.080 --> 00:04:24.160
And each face held a different number.


00:04:24.160 --> 00:04:25.720
And it had a method.


00:04:25.720 --> 00:04:30.920
Our method is just a function that's a part of a class to roll the dice into a randomly


00:04:30.920 --> 00:04:33.360
generated number.


00:04:33.360 --> 00:04:35.840
And so firstly, I would bring in the dice.


00:04:35.840 --> 00:04:39.840
I would get them to use them, play with them a little bit, and then essentially have a


00:04:39.840 --> 00:04:41.920
worksheet for them to own an order of sort of worksheet.


00:04:41.920 --> 00:04:43.920
You could also just brainstorm together.


00:04:43.920 --> 00:04:45.320
Like what are the attributes?


00:04:45.320 --> 00:04:46.720
What are the properties of a dice?


00:04:46.720 --> 00:04:48.400
And what would the method be?


00:04:48.400 --> 00:04:50.800
And I think some of them on their own could come up with it.


00:04:50.800 --> 00:04:54.320
And then others, you may need to coax a little bit.


00:04:54.320 --> 00:04:59.320
Then for that second part of the lab, the yachty, it seemed like it was a bit trickier.


00:04:59.320 --> 00:05:01.680
And I agree, the yachty piece is a trickier.


00:05:01.680 --> 00:05:05.840
And so if I were to teach this in a class, I would say the yachty, especially the more


00:05:05.840 --> 00:05:10.360
complicated pieces that are getting into poker hands, that would be an extension.


00:05:10.360 --> 00:05:11.360
And that would be an extension.


00:05:11.360 --> 00:05:15.280
I would really only expect the top top students to get to.


00:05:15.280 --> 00:05:19.920
And everyone else, I would really just expect to explore those dice stats, the dice stats


00:05:19.920 --> 00:05:21.760
file.


00:05:21.760 --> 00:05:26.160
But I actually think the yachty game, they could model it and they can really think


00:05:26.160 --> 00:05:28.440
through what are the components of it.


00:05:28.440 --> 00:05:33.600
And so going back to how I would teach it, I would play yachty in my class, allow them


00:05:33.600 --> 00:05:38.920
to play yachty, and then get them in brainstorm what are the different components.


00:05:38.920 --> 00:05:44.080
That could be in a worksheet, maybe you really want them to touch on classes and how they're


00:05:44.080 --> 00:05:49.160
written, that could just be brainstorming, that's kind of up to you.


00:05:49.160 --> 00:05:54.240
But I really like to associate, especially in the games unit, hands on activities.


00:05:54.240 --> 00:05:57.920
Because most of the games are often things that we play in real life.


00:05:57.920 --> 00:06:02.360
One of the labs that we skipped over due to time is about tic-tac-toe.


00:06:02.360 --> 00:06:06.760
So exactly saying there, tic-tac-toe, I would actually get them to play tic-tac-toe, really


00:06:06.760 --> 00:06:11.600
think through what is the strategy and what is the optimal way to win.


00:06:11.600 --> 00:06:15.920
Because even if you ignore the piece of how do you then convert those ideas to code, I


00:06:15.920 --> 00:06:19.120
think most students would be able to come up with those ideas on their own.


00:06:19.120 --> 00:06:23.680
And then you can help and you can meet the supports and the scaffolding to get them to


00:06:23.680 --> 00:06:28.280
that represented using code.


00:06:28.280 --> 00:06:29.480
Hopefully that was helpful.


00:06:29.480 --> 00:06:33.200
If you have any other thoughts on how you would teach the dice lab, I would love to


00:06:33.200 --> 00:06:36.120
hear it, especially in your journal entries.


00:06:36.120 --> 00:06:39.480
I definitely think there could be a bit deeper reflection into thinking like how would you


00:06:39.480 --> 00:06:42.200
actually structure this if you had to teach it.


00:06:42.200 --> 00:06:46.000
And what are the pieces of scaffolding that you would put around it to make it engaging


00:06:46.000 --> 00:06:49.200
and approachable to students?


00:06:49.200 --> 00:06:55.080
Well, okay, so, virtual lab.


00:06:55.080 --> 00:06:56.280
A couple things.


00:06:56.280 --> 00:06:59.440
So firstly, you have the lab page.


00:06:59.440 --> 00:07:01.160
I'm going to show it to you.


00:07:01.160 --> 00:07:02.360
I'm going to do a little demo.


00:07:02.360 --> 00:07:03.960
Okay, let's go back to the top.


00:07:03.960 --> 00:07:05.520
So here is the lab page.


00:07:05.520 --> 00:07:11.080
One thing I would remember when you CD into your folder and do the poetry shell, you will


00:07:11.080 --> 00:07:15.840
need to run poetry install to make sure the retro library gets installed.


00:07:15.840 --> 00:07:18.200
So this page has a bunch of text.


00:07:18.200 --> 00:07:23.000
I highly recommend reading it because it will help you understand how the different components


00:07:23.000 --> 00:07:23.920
are working together.


00:07:23.920 --> 00:07:27.200
So there's a couple of examples you can play.


00:07:27.200 --> 00:07:31.280
If it doesn't play right away and it says something about like terminal size too small


00:07:31.280 --> 00:07:36.400
or window board size too small, just make sure your terminal is full screen.


00:07:36.400 --> 00:07:40.080
It doesn't actually literally have to be full screen, but a good safe way is just make


00:07:40.080 --> 00:07:41.920
it full screen.


00:07:41.920 --> 00:07:48.160
So mainly the way this works is it says, for example, save the following code in spacehup.py.


00:07:48.160 --> 00:07:52.520
So when you open up the file, there's three or four files and they're all blank.


00:07:52.520 --> 00:07:56.760
And so it's really about copying, pasting code, using it, seeing how it works, trying


00:07:56.760 --> 00:07:58.960
to understand it and break down the different pieces.


00:07:58.960 --> 00:08:03.320
So like I said, you actually are not required to write any code yourself in this lab.


00:08:03.320 --> 00:08:09.560
So I think it's quite an approach to a way to start to introduce to this concept.


00:08:09.560 --> 00:08:15.480
One thing I really want to point to you all to is this bit at the bottom that says you


00:08:15.480 --> 00:08:19.880
can read all the details and work through other examples by reading the retro documentation.


00:08:19.880 --> 00:08:26.480
So especially for this project, you're really going to want to get familiar with documentation.


00:08:26.480 --> 00:08:29.480
I think this is a really crucial computer science skill.


00:08:29.480 --> 00:08:33.800
It's something that I tried to emphasize with my students that eventually when they


00:08:33.800 --> 00:08:37.840
go off on your own, this actually comes to a student's question in this class as well,


00:08:37.840 --> 00:08:41.320
that when you go off on your own, you're going to encounter so many libraries in the world.


00:08:41.320 --> 00:08:47.120
And it becomes a skill to be able to read and comprehend and understand how do you actually


00:08:47.120 --> 00:08:53.480
use their work and how do you use it as intended to do something that you want to create.


00:08:53.480 --> 00:08:57.960
So you click on this retro documentation.


00:08:57.960 --> 00:09:00.160
There's a bit of an intro.


00:09:00.160 --> 00:09:01.160
There are some details.


00:09:01.160 --> 00:09:04.200
A lot of these details are actually what's just in the lab page.


00:09:04.200 --> 00:09:07.960
But what I really want to point you all to if you want, you can look at this extended


00:09:07.960 --> 00:09:13.160
example, but I really want to point you to the API part where it has the game and the


00:09:13.160 --> 00:09:14.160
agent.


00:09:14.160 --> 00:09:19.920
So in the code, I'll show you if I go to nav game.py.


00:09:19.920 --> 00:09:24.720
This is actually really your only way you're interacting with the game.


00:09:24.720 --> 00:09:27.560
But of course, there's a lot of hidden pieces to the game.


00:09:27.560 --> 00:09:33.640
And if you're curious where you can see those hidden pieces, it's here in the documentation.


00:09:33.640 --> 00:09:43.000
And these functions, these methods, these parameters, these attributes, they reoccur


00:09:43.000 --> 00:09:47.800
and they come back in the spaceship file and the ashroids file and the ashroids spawner.


00:09:47.800 --> 00:09:51.400
So if you're wondering and you're like, where is that function coming from?


00:09:51.400 --> 00:09:53.320
Go to the documentation.


00:09:53.320 --> 00:09:55.960
You can use command F and it's definitely here.


00:09:55.960 --> 00:09:57.760
It'll have a little description.


00:09:57.760 --> 00:10:00.120
This is typically the doc string.


00:10:00.120 --> 00:10:04.040
And there will also be a parameter where it tells you, okay, it expects the name and


00:10:04.040 --> 00:10:07.960
the data type should be a string, for example.


00:10:07.960 --> 00:10:13.240
So like I said, highly recommend looking here at the game and then also at the agents.


00:10:13.240 --> 00:10:18.280
So for example, in the on the lab page at the end, it says, can you figure out how to


00:10:18.280 --> 00:10:19.280
use color?


00:10:19.280 --> 00:10:25.960
So here it clearly says, okay, color, this can be one of the features, one of the attributes.


00:10:25.960 --> 00:10:29.080
And to use a color, you have to look here at available colors.


00:10:29.080 --> 00:10:33.640
So you'd actually have to click into the site and scroll down and these are all the


00:10:33.640 --> 00:10:37.280
colors that are available, a ton of different colors.


00:10:37.280 --> 00:10:43.720
So please take some time to really look through the documentation.


00:10:43.720 --> 00:10:48.960
The best way to get better at reading documentation is to experiment with adding some new features.


00:10:48.960 --> 00:10:53.720
So if any of you have some extra time this week and you really like to kind of delve


00:10:53.720 --> 00:10:59.720
into the complexity of what RetroLab can be before you start your project, I highly recommend


00:10:59.720 --> 00:11:00.720
it.


00:11:00.720 --> 00:11:03.480
And here are a few suggestions of features that you can add.


00:11:03.480 --> 00:11:11.640
So my first suggestion currently the score just increases as the asteroids fall.


00:11:11.640 --> 00:11:17.080
So you're constantly getting points, but I think one fun change of future would be the


00:11:17.080 --> 00:11:21.200
score only increases when the asteroid passes the bottom.


00:11:21.200 --> 00:11:23.680
So that would involve you figuring out, okay, how does the score go?


00:11:23.680 --> 00:11:27.520
How can I change where the score increases?


00:11:27.520 --> 00:11:31.000
Maybe you want the score to increase only by 10 and not one, for example, how would you


00:11:31.000 --> 00:11:32.000
do that?


00:11:32.000 --> 00:11:36.960
My second feature is that the speed of the asteroids increase over time.


00:11:36.960 --> 00:11:41.320
So for example, right now they all kind of fall at this constant speed, but for example,


00:11:41.320 --> 00:11:47.520
maybe some go faster than others, or maybe just over time they slowly start to speed


00:11:47.520 --> 00:11:48.520
up.


00:11:48.520 --> 00:11:50.760
Now it's a bit trickier.


00:11:50.760 --> 00:11:54.000
My third idea was that you have three lives.


00:11:54.000 --> 00:11:58.240
So right now if I'm the spaceship and this is the asteroid, once you collide with an


00:11:58.240 --> 00:12:00.080
asteroid, the game's over.


00:12:00.080 --> 00:12:03.920
But what if you have three different lives that way you don't die right away?


00:12:03.920 --> 00:12:05.080
What would that look like?


00:12:05.080 --> 00:12:10.120
How could you add in a live meter underneath the score?


00:12:10.120 --> 00:12:11.200
So these are my suggestions.


00:12:11.200 --> 00:12:15.840
I'm sure you will have your own, and I would say the fun of a game like this and a unit


00:12:15.840 --> 00:12:18.240
like this is you coming up with your own features.


00:12:18.240 --> 00:12:22.880
So by no means you have to follow my own, but I suggest coming up with a feature that


00:12:22.880 --> 00:12:29.040
you find interesting and then using the documentation to build on it.


00:12:29.040 --> 00:12:34.520
I thought I would also just explicitly show an example of adding in color, for example,


00:12:34.520 --> 00:12:37.680
that way you get a sense of like, okay, so if I see this on the documentation, how do


00:12:37.680 --> 00:12:39.880
I actually add it?


00:12:39.880 --> 00:12:43.800
So maybe I'll first just show the code again.


00:12:43.800 --> 00:12:44.800
Let me see.


00:12:44.800 --> 00:12:45.800
Yeah.


00:12:45.800 --> 00:12:46.800
Okay.


00:12:46.800 --> 00:12:47.800
So I'm going to run nav game.


00:12:47.800 --> 00:12:51.880
I've added and copy and pasted all of the code from the website.


00:12:51.880 --> 00:12:53.520
So my game looks like this right now.


00:12:53.520 --> 00:12:55.480
Like I said, the score is increasing.


00:12:55.480 --> 00:12:59.840
So like I said, you could, one feature could be the score only increases when one of these


00:12:59.840 --> 00:13:02.880
zeros passes and it only goes up by 10.


00:13:02.880 --> 00:13:07.280
And right now you can see everything is just simple black and white, but let's try to add


00:13:07.280 --> 00:13:08.760
in some color.


00:13:08.760 --> 00:13:14.520
This also reminds me the character sprites, the character images can be no bigger than


00:13:14.520 --> 00:13:17.400
just one character.


00:13:17.400 --> 00:13:20.560
So if you start adding, if you try to kind of draw a little picture with characters,


00:13:20.560 --> 00:13:21.640
it's not going to work.


00:13:21.640 --> 00:13:28.160
So you can, you're only kind of purposefully restrained to using characters on the keyboard.


00:13:28.160 --> 00:13:32.440
And on this topic, I think one of the reasons the retro love can be powerful is that it


00:13:32.440 --> 00:13:37.040
really is quite simple and requires you not to get too bogged down by the design.


00:13:37.040 --> 00:13:42.520
Like for example, in my class, I run a games unit with a graphical game where they can mix


00:13:42.520 --> 00:13:47.600
sprites and maps, but I tend to only do it at the very end of the year because students


00:13:47.600 --> 00:13:53.320
get so bogged down by like drawing really intricate sprites and maps and not actually


00:13:53.320 --> 00:13:57.440
thinking about the interesting computational pieces of games.


00:13:57.440 --> 00:14:00.840
And it becomes almost more of an art class, but because we're in the last couple of weeks


00:14:00.840 --> 00:14:03.480
before somewhere, that's okay.


00:14:03.480 --> 00:14:07.960
But I really like this library because it emphasizes something different.


00:14:07.960 --> 00:14:08.960
Okay.


00:14:08.960 --> 00:14:11.480
So to add in color.


00:14:11.480 --> 00:14:16.000
Go to the documentation, we're in agent and it says here color.


00:14:16.000 --> 00:14:17.000
It's optional.


00:14:17.000 --> 00:14:21.040
So as you can see in our current game, there is no color and it says you can change the


00:14:21.040 --> 00:14:23.120
agent's color by available colors.


00:14:23.120 --> 00:14:29.560
I'll go over here and let's say I want to change mine to just regular green, not green


00:14:29.560 --> 00:14:31.560
to just green.


00:14:31.560 --> 00:14:34.280
So I'm going to go over to Visual Studio Code.


00:14:34.280 --> 00:14:35.640
I'm going to enter.


00:14:35.640 --> 00:14:37.520
Let's try to add it into the asteroids.


00:14:37.520 --> 00:14:39.760
That way we'll see a little bit more green.


00:14:39.760 --> 00:14:41.320
Go to the asteroids.


00:14:41.320 --> 00:14:44.960
If I want to add one of those properties, I'm going to add it up here.


00:14:44.960 --> 00:14:45.960
I'm going to say color.


00:14:45.960 --> 00:14:49.480
And I said I want it green.


00:14:49.480 --> 00:14:51.680
Now I will save it.


00:14:51.680 --> 00:14:54.080
Go back over to my game.


00:14:54.080 --> 00:14:59.080
Now hopefully, oops, it actually was red, but you know why it's red?


00:14:59.080 --> 00:15:01.560
It's because I have customized my terminal colors.


00:15:01.560 --> 00:15:06.320
And so when you customize your terminal color, sometimes it changes the way certain colors


00:15:06.320 --> 00:15:07.320
are displayed.


00:15:07.320 --> 00:15:12.600
You may have to do some experimentation, which color is actually the color that you want.


00:15:12.600 --> 00:15:17.040
But if you have not changed your terminal colors, then this should not be an issue.


00:15:17.040 --> 00:15:22.320
But hopefully that was a helpful example of how to implement something in your game.


00:15:22.320 --> 00:15:24.720
Let me show one more.


00:15:24.720 --> 00:15:27.400
I'll just show the start of the lives idea.


00:15:27.400 --> 00:15:33.800
So when we are in NavGame, we can see score zero here.


00:15:33.800 --> 00:15:37.360
If I wanted to add a new feature for lives, this is a dictionary.


00:15:37.360 --> 00:15:40.840
So all I have to do is add a new key value pair into the dictionary.


00:15:40.840 --> 00:15:42.880
So I'll just add comma.


00:15:42.880 --> 00:15:47.920
I'll say lives, and I want it to start at three.


00:15:47.920 --> 00:15:50.360
Now we're going to have score, and we're going to have lives.


00:15:50.360 --> 00:15:54.240
And I'll show you how this gets represented in the game.


00:15:54.240 --> 00:15:59.360
So if I come over here, run my game again, now I can see down here, I have lives.


00:15:59.360 --> 00:16:06.280
It's not changing, even if I end the game, lives has not changed at all.


00:16:06.280 --> 00:16:10.360
But now you have the ability to go off on your own and try to figure out, okay, how do I


00:16:10.360 --> 00:16:17.360
access that lives value and how do I change it?


00:16:17.360 --> 00:16:21.480
Okay, just go back.


00:16:21.480 --> 00:16:28.920
Okay, hopefully that was a helpful overview of the retro lab.


00:16:28.920 --> 00:16:33.880
If you have any specific questions or something you are trying, and it's not quite working,


00:16:33.880 --> 00:16:35.160
please reach out.


00:16:35.160 --> 00:16:39.720
And I'm happy to take a look and give you some suggestions of how to either do these


00:16:39.720 --> 00:16:43.120
features or a feature that you'd like to add yourself.


00:16:43.120 --> 00:16:49.160
Okay, so a bit of an admin recap this week, the retro lab to work on.


00:16:49.160 --> 00:16:53.080
Like I said, it should be a quite quick lab unless you kind of get into the nitty-gritty


00:16:53.080 --> 00:16:55.200
of adding a new feature.


00:16:55.200 --> 00:16:59.080
So next week, you have to start thinking of your game's project proposal.


00:16:59.080 --> 00:17:03.840
So if you don't spend this week adding your own feature, I highly recommend it doing next


00:17:03.840 --> 00:17:08.160
week in conjunction with writing your proposal, because that will give you a sense of what


00:17:08.160 --> 00:17:10.440
the scope of your proposal could be.


00:17:10.440 --> 00:17:15.480
Because the retro lab has the ability to do quite complex games.


00:17:15.480 --> 00:17:18.840
As you can see an example, it can do snake and many other things.


00:17:18.840 --> 00:17:22.960
But I think it's up to you and to do some self-reflection and self-assessment of one,


00:17:22.960 --> 00:17:27.000
how much time do you have, two, what is your current skill level, three, how much would


00:17:27.000 --> 00:17:30.400
you like to push yourself, would you like to extend your learning?


00:17:30.400 --> 00:17:35.200
Totally up to you to consider what's the project you have an appropriate size.


00:17:35.200 --> 00:17:38.840
Okay, that's it for this week and I'll see you next week.


00:17:38.840 --> 00:17:39.400
Bye.
