Transcript Generated by Easy Cloud AI’s Beluga
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 stackover flow, 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 chatGPT a go to help me learn, because a lot of my coding friends were saying how amazing it was. And oh my god, it was a game changer! Like seriously, what should have taken me around like 5-6 hours to figure out? I managed to figure it out within 20 minutes using chatGPT.
So, in this video, I want to talk about how to use chatGPT 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. 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, I want to introduce a framework for how to ask chatGPT to design a custom study plan for you that suits your learning style as well as your lifestyle.
Giving 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 chatGPT to help you come up with project ideas. I’ll also show you guys how to ask chatGPT 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 chatGPT by going to the basics of prompt engineering. Okay, so one more thing before I get started. I just want to make a plug for my newsletter called Boops Keyboard. It’s about coding, it’s about learning, I always talk about books, and you can sign up over here, I’ll also link the description.
It is free. All right, let’s get started. First of all, what is chatGPT? ChatGPT is a natural language processing tool developed by OpenAI, 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.
Know 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 behind questions, which is why later on we’re also going to talk about prompt engineering, which is how to frame things, how to prompt the AI 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, ChatTBT 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 2000s.
So be one of the first people to really harness that power and supercharge your learning. In this case, how to code. Okay, so let’s talk about how to use ChatTBT to help you design a custom study plan for you. So for this specific example, we’re going to ask it 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’re really like any other technical skills. Okay, so let’s start with the basics. Okay, so your first instinct when you open ChatTBT is that you’re probably type something basic, like give me a study plan to learn Python for data science. And term. Okay, let it do its thing.
Okay, so it’s honestly pretty decent. You can see it gives you different sections like learning, production of Python, learn NumPy and pandas, data visualization, machine learning, build and practice projects, attend some online courses, or join a community. So it’s pretty good, you know, and then for each of these steps, it tells you like, oh, you should learn things like variables, data types, operators, loops, and here’s some of the resources like Code Academy, DataCamp, 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, okay, 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, operators, or loops are, I’m just like, I don’t know what that means.
So we can do better, we can do better. Okay, so the next thing that you might do in order to get a good study plan, 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. Okay, great. So we have something here.
We have the same things over here, but it’s nice because it splits it into different weeks for us. And then also links resources like Code Academy, W3, schools, hacker rank, things like that, data structures and functions. That’s good. It was missing that previously. Okay, so this is looking pretty good, right? Like we have this nice split of what to do for each week.
And I also list 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 linking a bunch of these resources, which are mostly 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. 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. So we can do better. We can do better.
Okay, so I’m going to show you guys now a framework that you can get a better study plan from chat. Gbt. I adapted this from like the general 5W framework, which is who, what, when, where, why, who is what role do you want chat. Gbt to play in giving you a study plan. What 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? Do you like text-based courses? And why is what’s there going 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. Okay, so here is the prompt. Act as a coding tutor that creates study plans to 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. Okay, so the who over here, you wanted to act as a coding tutor that specializes in creating study plans to 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 goals 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. See, it has weeks one to two in terms of Python basics, weeks three to four data manipulation over here. By the six is visualization seven to eight is machine learning fundamentals and then deep learning fundamentals.
Okay, so what I think is really nice here is I tell you what you need to learn. So introduction to Python and programming, you need to learn about data types, variables and expressions, control structures, functions, deception, handling, and then it also links the resources for you. And it links code academies, Python three course, which is a free version, as well as Corey Shaffer’s Python tutorials on YouTube.
So because I’m in this field, I also know that these are actually really good resources to be learning these things. So it’s looking very promising for data manipulation. It does the same thing using NumPy, pandas, data frames, data cleaning, data camps, pandas, fundamentals, Keith Galli’s pandas, tutorials on YouTube. Shout out to Keith. Hello. If you ever watched this video, Keith’s my friend.
Yes, he has a great tutorial. He’s 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 ways. Honestly, I feel like the machine learning part into deep learning is a little bit aggressive, especially Andrew Nings, deep learning specialization in Coursera, that you are not going to be doing that in two weeks.
No, you’re not going to 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 Chat2pt generated and the framework, the 5Ws, 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. This study plan that is 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. Okay, 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. And this is something that you wouldn’t know unless you have experience in this field. So I’m going to tell you. So from my experience coding and learning technical things, and just like working as a data scientist, the way in which 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 first introduced it in this video over here, which is I think about a year ago, how to approach learning technical things. And it centers around the idea of breadth 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 to Python and programming data types in Python, exception handling, 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 the things that you learn and create a project up it.
This is really going to solidify your learning. And I think a really big trap that people fall into oftentimes when they’re learning coding is that they would just like 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 numpy 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 numpy 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 chapter beauty was not able to provide you. But since you know that one of the things that chapter beauty can help you with is actually coming up with great project ideas. So let’s talk about that next.
How to use chapter beauty to generate project ideas. Say you’ve now learned exploratory data analysis, you went through them courses and now you want to do a project on it. Yay. So you don’t know what to do. What kind of project should you do? You have no idea. Okay. Okay. So say like you have some idea. Okay.
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 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 EDA project about Naruto the anime. It’s called exploring the Naruto anime with Python. Makes sense. To perform an exploratory data analysis, the Naruto anime using Python and gain insights into shows popularity characters and storylines. Interesting. So data data for this project was obtained from the Naruto wiki website. Okay.
Contains information about the Naruto anime, including episode titles, character names, and plot summaries. The data was scraped from the website using beautiful soup library in Python. Okay. So it’s saying that you should get the data and then you should do some data cleaning. You should clean it. Here’s some things that you should do. Remove any duplicate episodes, fix any misspoke character names, remove any special characters or symbols that may cause issues during analysis.
Then you have the data analysis portion and it gives you some questions. 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 this dance with a question.
Which characters appear most frequently in Naruto? Okay. So it does all of that. And then it gives you a project conclusion. That tells you if we found that the most popular episode of Naruto is the fourth Hokage, that the character with the most appearances is Naruto. That makes sense. And the most common themes in the show 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. 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 kind of what to do for the project and 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.
Okay. So this is how you can get the project. So what if we now ask ChatGPT to actually write the code for this project? Interesting. So here’s the code for it to explore her data analysis. Scrape 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. Alright, alright. 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? Write 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 ChatGPT before and it seemed like it’s not very good at interfacing with external things. So I’m going to bet that it doesn’t work, the scraping part, but it does look very legitimate. So I’m going to actually try it out. Let’s try it out. I’m going to copy it over here.
And then let’s try running it. And we get a bunch of errors. Okay, it’s basically trying to read a file called Naruto ratings that does not exist. Does it create it somewhere? It never creates the Naruto ratings, CSV file. So it just like decides that it’s going to read it. So there you go. Superficially, it seems like very legit code.
It’ll not actually work. So ChatGPT project creation rating. 3 out of 5? Great project. It just doesn’t work. I’ll link this particular project in the descriptions and then also the starter code that ChatGPT generated. Let me know if you actually do this project. Also, let me know in the comments if there’s any other projects that ChatGPT made for you that you think is pretty cool.
All right. So next up, I want to talk about another use case that I think is very, very helpful, which is asking ChatGPT 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 the almighty ChatGPT. This is a really good explanation of the difference between inheritance and polymorphism. Two fundamental things, inheritance is a mechanism of object-oriented programming that allows one has 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. It allows us to write code that can work with objects of multiple classes that you need to know the specific class of each object. Really good example as well. Yeah. So, I mean, it gives you a nice little summary at the end too.
This can be really helpful as you’re working through your study plan. If 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 GPD can help you with.
It’s pretty good at helping you with specific functions or like specific things that you need it to do. I can write code for that. Not as good as you can see. Like if you tell it to write like large chunks of code, it’s not that good. But like specific things is really good at doing explaining stuff. It’s also good at commenting your code.
It’s also good at like checking through your code and things like that. I can go like 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 to BT when coding. But I think I did cover like the fundamentals about how to use chat to BT to learn.
So I want to end with some like tips as you go through the study plan. As you’re learning coding, that could be pretty helpful. And this is touching on the basics 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 has actually become a job. Like the starting salaries are between like 200 to 350k right now. And there’s postings of companies who are looking for prompt engineers, specifically interfacing with natural language process models like chat to BT, potential other career path for people if you’re interested. But yeah, knowing like kind of how to do some of these specific tricks can be really helpful in getting good responses from chat to BT.
So one of the things that I’ve already shown you guys is the idea of asking it to play a certain role asking chat to BT to be assigned a specific role usually makes the answers a lot more specific. It’s also able to provide a lot more detail I realized. So I would recommend that you usually append asking it to play a certain role to your questions to your problems, unless it’s something like super general.
If you ask chat to BT a question, it just kind of like pops out an answer and it’s not, it doesn’t like give you that much detail about it. What you can ask it to do is say, let’s take this step by step. This is really helpful because it asks chat to BT to specify the logic it took in order to reach the conclusion that it finally draws.
This is another type 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 inspirations from and to base base your actual code with. And finally, one other little small hack that I found really useful is sometimes I chat to BT 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.
So 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, 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 to BT. We already saw here that 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 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? 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 to BT tells you. So for learning coding and for learning things in general, I still think that chat to BT is not there in which you can ask it completely to just like substitute other resources and teach you everything directly.
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, 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 the 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.org slash Tina Huang. The first 200 of you who go through this link will 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.
ChatGPT has really fundamentally changed my own workflow. And I think it’s just going to keep changing. It’s just going to like, I’m going to learn how to use it better over time. And it’s going to play a bigger and bigger role in my life. And I think that’s something that y’all should also explore because I genuinely do think that this is the future.
So yeah, I’ll see you guys in the next video or livestream.