This video is sponsored by brilliant .
So recently I decided to build a javascript app for my company .
And honestly , I was kind of dreading it because I never really properly learned javascript .
So I was anticipating that I'll be going through a lot of tutorials .
A lot of stack overflow , you know , the usual when you're trying to learn a new programming language , but instead of doing my usual thing , I decided to give chat GP T A go um to help me learn because a lot of my coding friends were saying how it , I think it was and oh my God , it was a game changer like seriously , it , what should have taken me around like 5 to 6 hours to figure out , I manage to figure it out within 20 minutes using chat GP T .
So in this video , I want to talk about how to use chat GP T in order to learn how to code so much faster and so much better .
I've been playing around for a while now and there is an art and a science to it .
At the end of the day , it is a tool .
It is a very powerful tool , you know how to harness it properly with great power comes great responsibility for those of you who don't know me .
Hello , my name is Tina .
Um I have a computer science degree and I used to be a data scientist at Meta .
This is what I want to talk about specifically in this video .
So first is I want to introduce a framework for how to ask chat GP T to design a custom study plan for you that suits your learning style as well as your lifestyle doing projects is hands down the best way to learn and that has not changed at all .
But I know that people do struggle figuring out what projects to do .
So I'm going to show you guys how to use Chat G BT to help you come up with project ideas .
I'll also show you guys how to ask Chat G BT to be like an expert tutor and teach you concepts step by step .
Finally , I'll give you guys some tips on how to get the most out of chat G BT by going to the basics of prompt engineering .
OK ?
So one more thing before I get started , I just want to make a plug for my newsletter called Boss Keyboard .
It's about coding , it's about learning .
I always talk about books and you can sign up over here .
I link in the description .
It is free .
All right , let's get started .
First of all , what is chat G BT .
Chat G BT is a natural language processing tool tool developed by open A I and it allows you to hold a conversation with it .
You can talk to it , you can ask it questions , you can think of it like talking to a very knowledgeable person that knows all the things of the internet .
Not that I say very knowledgeable but not very smart .
What this means is that even though it knows all the things of the internet , it still sometimes can give you the wrong answers to things or it doesn't understand what it is that you're asking and it gives you vague answers .
Unfortunately , it's still not as good as a human in understanding what your intent is .
Questions , which is why later on we're also going to talk about prompt engineering , which is how to like frame things , how to prompt the A I to give you better answers .
But yes , for now , just know that it is a very powerful tool in the right hands .
In my opinion , in the next couple of years , chat G BT is going to fundamentally change the way that we think we work , we learn and the way that we interact with each other .
So if you're watching this video , I think you're way ahead of the curve because this is like what Google was in the early two thousands to be one of the first people to really harness that power and supercharge your learning in this case , how to code .
OK .
So let's talk about how to use chat G BT to help you design a custom study plan for you .
So for this specific example , we're going to ask you to design a study plan for how to learn coding in Python for data science .
Although you can use the same structure for any other coding languages , we really like any other technical skills .
OK ?
So let's start with the basics .
OK ?
So your first instinct when you open chat GP T is that you probably type something basic like give me a study plan to learn Python for data science and OK , let it do its thing .
OK ?
So it's honestly pretty decent .
You can see it gives you different sections like learn , introduction of Python , learn NPI and pandas , data visualization , machine learning , build and practice projects , 10 them all courses or join a community .
So it's pretty good , you know .
And then for each of these steps , um it tells you like , oh , you should learn things like variables , data types , operators loops .
And here are some of the resources like Code academy , data camp or Coursera .
So that's quite nice .
But as you can probably tell , it's not the best , it's not the most actionable study plan because it's kind of like , OK , great , like I kind of know what I should do like vaguely , but it's not like I'm not sure like what resources should I be using like , what are these things ?
I imagine if I didn't know what variables , data types or operators or loops are .
I'm just like , I don't know what that means so we can do better , we can do better .
OK .
So the next thing that you might do in order to get a good study plan , um Let's do another one .
Say , give me a study plan to learn Python for data science with resources and a timeline .
All right , it's doing its thing .
OK , great .
So we have something here .
We have the same um things over here , but it's nice because it splits it into different weeks for us .
And then also links resources like Code Academy W three schools hacker ra things like that .
Data structures and functions .
That's good .
It was missing that previously .
OK .
So this is looking pretty good , right ?
Like we have this nice split of what to do for each week .
And it also lists out the different resources that you should be consulting , but can we do better ?
Yes , we can .
That was a rhetorical question .
It's still not the best study plan because it's pretty much just like linking a bunch of these resources which are mostly like tutorials , kind of like Python data structures .
You should just look at these things , right ?
Like it's giving you like kind of , it's a little bit disjointed , that's how I would say it .
Like it's a little bit disjointed .
Um And like the different resources also not tailored towards what you might prefer .
Like maybe you prefer learning from video courses and these are mostly just like written texts .
Um So we can do better , we can do better .
OK .
So I'm going to show you guys now a framework that you can get a better study plan from Chat G BT .
I adopted this from like the general five W framework , which is who , what , when , where , why , who is , what role do you want chat GP T to play in giving you a study plan is what exactly do you want to learn ?
When is what's your timeline like ?
When do you want to learn these things ?
Where do you want to learn it ?
Do you have preferences for online courses ?
Do you have preferences for free things ?
Uh Do you like text based courses ?
And why is what's their goal for learning Python by giving it more context ?
You're able to get it to give you a more tailored response .
So let me show you an example .
OK .
So here is the prompt Act as a coding tutor that creates study plans that help people learn to code .
You'll be provided with the goal of the student , their time commitment and resource preferences .
You'll create a study plan with timelines and links to resources only include relevant resources because time is limited .
My first request .
I want to become a data scientist , but I do not know how to code , I can study 10 hours per week and only want video resources .
I want to learn to code in Python .
Create a study plan for me .
OK .
So the who over here you wanted to act as a coding tutor that specializes in creating study plans that help people learn to code .
What you want to learn is Python for data science .
For the when you said you can commit 10 hours per week for where you said you wanted video resources and also you only want the relevant ones because time is limited .
Then for why your goal is to become a data scientist .
So create a plan for me and this is the response .
Sure .
Here's a study plan to help you get started with learning to code in Python for data science .
This is so much better .
Um It has weeks , 1 to 2 in terms of Python basics , weeks 3 to 4 data manipulation over here , 5 to 6 is visualization , 7 to 8 is machine learning fundamentals and then deep learning fundamentals .
OK ?
So what I think is really nice here is that it tells you what you need to learn .
So introduction to Python and programming , you need to learn about data types , variables and expressions , control structures , function suction handling , and then it also links to resources for you and it links code academy's Python three course , which is a free version um as well as Corey Schaffer's Python tutorials on youtube .
So because I'm in this field , I also know that these are actually really good resources um to be learning these things .
So it's looking very promising um for data manipulation , it does the same thing using numpy pandas , data frames , data cleaning , data camps , pandas fundamentals , Keith Galleys pandas , tutorials on youtube .
Shout out to Keith .
Hello , if you ever watched this video .
Um He's my friend .
Yes , he has a great tutorial series of this as well .
So this is really good .
Yeah , and it does the same thing for the other , the other few weeks as well .
In terms of timeline wise , honestly , I feel like the machine learning part and the deep learning is a little bit aggressive , especially Andrew Ning's deep learning specialization in Coursera , that you are not going to be doing that in two weeks .
No , you are not gonna be doing that in two weeks , maybe like a month .
So , yeah , I do think it's a little bit aggressive , but generally I'm pretty impressed .
This is a pretty decent study plan .
It really is .
So , yes , this is the study plan that chat GB generated and the framework that w si highly recommend that you use that in order to give it more context so you can have more tailored results and something that's a little bit more specific as well .
It's not perfect , but I really do think it's pretty good , especially as a beginner .
Um , this study plan that it's able to give you in such a short period of time is going to be much better than probably what you can come up with yourself after spending a really long time , like trying to figure out what to learn .
So pretty impressive .
Ok .
So this study plan is not yet complete .
This is where having domain knowledge and understanding about technical fields and technical things is really , really useful .
Um And this is something that you wouldn't know unless you have experience in this field .
So I'm gonna tell you .
So from my experience , coding and learning technical things um and just like working as a data scientist , the way in which you , you approach doing this study plan is just as important as the study plan itself .
So this is a great study plan , but it doesn't give you information about how to use this study plan most optimally .
So let me explain .
This is a framework that I developed um first introduced it in this video over here , which is I think about a year ago um how to approach learning technical things .
And it centers around the idea of breath first learning .
What this means is that you approach learning in terms of layers .
So for example , right , like you learn Python basics , you do the introduction of Python and programming data types in Python exception handily , et cetera , et cetera .
So after you learn that subject , instead of like jumping into the next topic and then trying to learn more of other things .
What you should instead do is that you apply to things that you learn and create a project outfit .
This is really going to solidify your learning .
And I think a really big trap that people fall into oftentimes with the learning coding is that they would just keep learning and learning and learning more things , but they never actually use the things they learn .
So because technical stuff is so applied , like coding is so applied .
If you never apply it , you never actually learn it properly .
So this is why you should focus a lot of your time on doing projects .
And then after you do projects , you can start iterating on this , then you learn something else like you learn data manipulation and then oh great .
Now you know how to use pandas and NPI and things like that .
So now you do a project that centers around the things that you learned before and then also centering around these NPI arrays and like pandas data frames and things like that .
I hope that makes sense .
So it's like this iterative learning cycle that is very focused on projects .
So this was the missing piece that Chat G BT was not able to provide you .
But since you know that one of the things that Chat G BT can help you with is actually coming up with great project ideas .
So let's talk about that next , how to use chat GB to generate project ideas .
Say you've now learned exploratory data analysis and you went through them courses and now you want to do a project on it .
So you don't know what to do .
What kind of project should you do ?
You have no idea ?
OK .
They say like you have some idea .
OK .
So you're like , I really like Naruto because who doesn't like Naruto ?
Naruto is amazing .
So I want to do a project about Naruto , but I don't exactly know what and I want it to be about exploratory data analysis because that's what I just learned .
So here's a potential prompt act as an expert data scientist and create an exploratory data analysis , Python data science project and about Naruto the anime .
So sure , here's the example of exploratory data analysis E D A project about Naruto anime .
It's called exploring the Naruto anime with Python makes sense to perform an exploratory data analysis of the Naruto anime using Python and gain insights into show's popularity characters and storylines interesting .
So data data for this project was obtained from the Naruto wiki website .
OK ?
Contains information about Dina Rudo anime including episode titles , character names and plot summaries .
The data was scraped from the website using beautiful soup library in Python .
OK ?
So it's saying that you should get the data and then you should do some data cleaning .
Um You should clean it .
Here are some things that you should do .
Remove any duplicate episodes , fix any misspelled character names , remove any special characters or symbols that may cause issues during analysis .
Then you have the data and data analysis portion and gives you some questions , some very nice questions .
Very interesting questions .
What are the most popular episodes of Naruto ?
To answer this question , we can group these episodes by their ratings and create a bar chart of their top 10 episodes with the highest ratings .
It's nice .
It kind of like gives you a guide as to how it is to answer the question , which characters appear most frequently in Naruto .
OK .
So it does all of that and then it gives you a project conclusion .
Um That tells you , we found that the most popular episode of Naruto is the fourth HOA game that the character with the most appearances is Naruto .
That makes sense .
And the most common themes in the show are related to Ninja battles and personal growth , interesting personal growth , maybe that's why I like Naruto so much before I even knew it .
I was into personal growth .
Uh Interesting facts about the show such as the fact that some of the episodes have multiple titles and some of the characters have multiple names or nicknames overall .
This project demonstrates the power of data analysis , gaining insights into popular media entertainment , very well done project , very solid project here .
So this is awesome .
So see how it gives you um kind of what to do for the project and , and then it tells you like the steps , it's pretty detailed as well .
So this is a very solid project to work on for anybody that is interested in such a project .
Do let me know in the comments if you actually do this project and share the code if you do .
OK .
So this is how you can get the project .
So what have we now asked Chai BT to actually write the code for this project ?
Interesting .
So here's the code for to explore her data analysis , create the data from the Naruto wiki website .
Find all the episodes , clean the data .
I mean , this looks like very legitimate code here .
Create a panda's data frame .
All right .
All right .
Extract character names , which are the most popular episodes in Naruto , which characters appear most frequently .
It looks like it would work .
Does anybody want to make a bet ?
Right , in the comments right now , do you think this code will work ?
I'm mostly skeptical about the part , the scraping the data part .
Although that's me cheating a little bit because I was playing around with um with BT before and it seemed like it's not very good at interfacing with external things .
So I'm gonna bet that it doesn't work the scraping part , but it does look very legitimate .
So why don't I actually try it out ?
Let's try it out .
I'm gonna copy it over here and then let's try running it and we get a bunch of errors .
Ok .
Basically trying to read a file called Naruto Ratings that does not exist .
Does it create it somewhere ?
It , it never creates the Naruto Ratings CS V file .
So it just like decide that it's gonna read it .
So there you go .
Superficially , it seems like a very legit code don't actually work .
So chat GP T project creation rating three out of five great project just doesn't work .
I'll link this particular project um in the descriptions and then also the starter code that chat G BT generated .
Let me know if you actually do this project .
Also let me know in the comments if there's any other projects that Chat G BT made for you that you think is pretty cool .
All right .
So next up , I want to talk about another use case I think is very , very helpful , which is asking Chat G BT to explain concepts to you .
Like a tutor say you're merely doing your coding , right ?
You're like , yay , let me let me like learn about such coding concepts and then you come across something called inheritance versus polymorphisms .
It is rather confusing and you don't exactly understand .
So you consult to Almighty Chat G BT .
This is a really good explanation of the difference between heritage and polymorphism .
Two fundamental things , inheritance is a mechanism of object oriented programming that allows one house to inherit properties and behaviors from another class .
Here's an illustration of inheritance and it gives you a nice explanation about it .
And polymorphism .
On the other hand , is a concept that refers to the ability of objects of different classes to be used interchangeably and allows us to write code that can work with objects of multiple classes that they need to know the specific cost of each object really good example as well .
Yeah .
So um and it gives you a nice little summary at the end too .
This can be really helpful as you're working through your study plan , you come across like specific concepts that don't make that much sense where you're not sure about it .
You can ask it to act as an expert tutor and explain things to you with examples .
There are so many other things that chat GB D can help you with .
It's pretty good at helping you with specific functions or like specific things that you needed to do .
It can write code for that not as good as you can see .
Like if you tell it to write chunks of code is not that good , but like specific things is really good at doing .
Um explaining stuff .
It's also good at commenting your code .
It's also good at like checking through your code and things like that .
Um I can go on and on about all the other things that it can be useful for .
So maybe that can be another video like tips for how to use chat GP T when coding .
But I think I did cover the fundamentals about how to use chat G BT to learn .
So I want to end with some tips as you go through the study plan um as you're learning coding that could be pretty helpful .
And this is touching on the basis of prompt engineering , which is I don't actually think I gave you guys an explanation .
So prompt engineering is the art and the science of designing prompts to be inputted to artificial intelligence to get it to give you better responses and help you solve problems .
So this in itself um has actually become a job like the starting salaries are between like 200 or 350 K right now .
And there's postings of companies who are looking for prompt engineers specifically interface with um natural language process models like chat G BT , potential , other career path for people if you're interested .
Um But yeah , knowing like kind of how to do some of these specific tricks can be really helpful in getting good responses from chat G BT .
So one of the things that I've already shown you guys um is the idea of asking it to play a certain role , asking chat G BT to be assigned a specific role , usually makes the answers a lot more specific .
Um It's also able to provide a lot more detail I realize .
So I would recommend that you usually append um asking it to play a certain role to your questions , to your problems .
Unless it's something like super general .
If you ask chat G BT a question , it just kind of like pops out and answer and it's not , it doesn't give you that much detail about it .
What you can ask it to do is say , um let's take this step by step .
This is really helpful because they ask Chai B to specify the logic .
It took in order to reach the conclusion that it finally draws .
This is another that we already use , which is the idea of asking it to generate starter code .
So as you can see , the code doesn't always work , but it can be very helpful to ask it to generate some code that you can kind of like take inspiration from and to base base your actual code with .
And finally , one other little small hack that I found really useful is sometimes like chat GP just hangs like you're having a conversation with it and then it generates a response for you and then it kind of like stops part way what you can do instead of retyping it because sometimes that causes it to kind of give you an answer that was not related to the previous answer .
Um You can say , did you time out and then it would usually apologize .
I'm sorry , I timed out and then it will continue and just regenerate the thing that it was regenerating originally .
So before I end this video , I also wanted to talk a little bit about the limitations of chat G BT we already saw here that um it could generate code that doesn't work .
And also it's not able to provide all of the information , all of the knowledge you need to come up with optimal solutions , like creating a the study plan .
Like for example , you kind of needed the external knowledge of knowing that the best way of learning technical things is by supplementing it with projects .
It also sometimes gives you results that are very wrong , like it's very confident of itself , but it's very wrong .
So this is something to be very careful about , right ?
If especially if you don't know that area , you might just take it as like the truth even though you'd be very misled if you , if you just took that .
So this is why it's important for you to also validate and double check whatever it is that Chat G BT tells you .
So for learning coding and for learning things in general , I still think that Chat G BT is not there in which you can ask it completely to just like substitute other resources and teach you everything directly .
Um It's not capable yet of doing that .
So this is why my preference for the study plan is to instead of asking it to teach you directly things , but by linking resources that are created by real humans .
Um because that information is validated .
One of these resources is brilliant , who is the sponsor of today's video Brilliant is a stem learning platform that specializes in interactive hands on learning .
It has lots of different courses into STEM subjects and one that is particularly relevant here is a course on Python .
What makes the courses on Brilliant so effective is that it's specifically designed for STEM subjects .
It's very focused on the interactive hands on aspects , which is the best way of learning stem concepts .
It's the same idea as to why I keep emphasizing project based learning .
I first started using brilliant .
A couple years back when I was interviewing for meta and the reason I found out about brilliant was because meta recruiters themselves actually recommended using Brilliant to brush up on the stats and the math portions of the interview specifically .
So this just goes to show how good the courses are like actual recruiters in companies are recommending their candidates to practice using brilliant .
So now I don't really do any more interviews , but I still use brilliant to brush up on certain aspects of concepts I've forgotten in the past and also new topics that are coming out , especially in the field of artificial intelligence .
Brilliant has timeless course offerings like math and stats programming with Python , as well as new course offerings to explore different topics like artificial intelligence and neural networks and quantum computing to try everything brilliant has to offer for free for a full 30 days you can visit brilliant dot org slash Tina Hung .
The 1st 200 of you go through this link .
We'll also get 20% off Brilliant's annual premium subscription .
Now , back to the video .
That's all I have for you guys today .
I hope this was a helpful video for you .
Um Chat G BT has really fundamentally changed my own workflow .
Um And I think it's just going to keep changing it .
It's just gonna like , I'm gonna learn how to use it better over time and it's going to play a bigger and bigger role in my life .
Um And I think that's something that y'all should also explore because I genuinely do think that this is the future .
So , yeah .
Um I'll see you guys in the next video or live stream .