Python and Pullups | Learning Intelligence 4

Daniel Bourke works through Udacity's AI Nanodegree, building a minimax search agent for the game Isolation while doing pullups between Pomodoro blocks. He scored 145 on a Pluralsight Python test, aiming to hit 200 by month's end, and finished DataCamp's Python track with a new appreciation for list comprehensions.
Chapters
What's up, learners? How's it going? Today I've been working all the way through, well, pretty much all day on Udacity's Artificial Intelligence Nanodegree Project 2, otherwise building an adversarial search agent. That's a bit of a mouthful. In other words, rather than adversarial search agent, that sounds way too complex. I like to keep things as simple as they need to be. Essentially, it's a game playing artificial intelligence at the game Isolation. Now, I've mentioned this before in the vlog. I won't go through the rules of Isolation because it could take a bit long and I can't really explain them properly. Anyway, the project is a modified version of the traditional game of isolation, and I've run into a roadblock. I'm trying to, trying to get some functions going here. As you can see, I've got dual coding windows up here in Atom and the Udacity classroom up here, so I've got lots of coding happening here. I've run into a problem here implementing the minimax algorithm. Let me show you terminal actually. So this is the Udacity submission section, so if I type in Udacity submit isolation, it submits my project and does a few tests on it for me. So if you see test output, this is the function I'm trying to do. Minimax, minimax_player.minimax. And I got an E for that, which means error or test failed. So I've got E's for all the minimax functions. So what did I do? 'Cause I'm getting so many errors, I wrote down here what I've done today so far. This is just like a journal entry essentially, what I've done today, what my next steps are for tomorrow. And that's what I'm gonna be doing tomorrow. So I'm gonna take a break, let my subconscious solve the problem for me rather than just sitting at the computer aimlessly typing away and trying to solve it. I may come to a solution eventually, but from, you probably know this if you've been keeping up with the vlog, from me taking breaks, I solve more problems than I do just sitting at the computer. So I've been lifting a lot of weights with my mind today on this coding challenge. I'm about to go lift a lot of weights with my body and head to the gym. I'm doing something a little different today. I've decided for every Pomodoro I do studying, I'm going to do 5 pull-ups. And so I'm aiming to do 6 Pomodoros at least on my Udacity, uh, AI Nanodegree Project 2. And so I've just completed one, so we'll mark it off the whiteboard. And look at this, this is a mess right now. This is what I do, I line up 10 Pomodoros a day. That was my first one for the Udacity AI Nanodegree. So you see here, this is a goal for today, Udacity, 6 Pomodoros. Let's do some pull-ups. 5 done, 25 more to go. 10 pull-ups down, halfway through my study goal day of 6 Pomodoros. So that means I've done 15 pull-ups, still stuck on the first function of the second project, but that's all right. I'm gonna have a break, get something to eat, and I'm sure once I knock over this first function, the rest of them will come with momentum. 20 pull-ups done, one more Pomodoro. 25 pull-ups done, one more set to go. 6 sets of pull-ups done. 6 sets of 5, so that's 30 pull-ups overall. So what does that mean? Come check it out. The marking off Udacity 6 Pomodoro is done. Today was a big day, very big day. Check this out, I'm so happy. Boom, we passed the first function of the project. It didn't, it took all day, but we made it. As you can see, this little dot indicates test pass. And we got test in the test output interface of minimax player.minimax, 4 dots, baby. That means the first function's done. My brain is officially toasted. That was a big session of coding for me. 6 Pomodoros worth, so that's about 2, 2 and a half hours or 3 hours, not sure. You can add up that 6 25-minute blocks. I'm done for coding for today. I'm gonna go ahead for a run and get back into the project tomorrow. I've got about a week left to finish it. I'm excited. You know why? Because I may have mentioned it a few vlogs ago, probably in the 100 Days of Code vlog series, that I applied to Startup Catalyst, which is a mission for 18 to 29-year-olds in Australia to go over to Silicon Valley for a 2-week trip, fully funded. And I've been shortlisted for it for the mission coming up in November. I'm 10 out of 10 keen for that. I've got an interview tomorrow at 2:45 or so, and so today I've spent some time researching, went over back through my application, what did I actually say, watch some videos on the website to get an idea of what the mission will be about, and it looks absolutely epic. It takes a group of youths, as I said, who are tech savvy and have entrepreneurial spirit, takes them over to Silicon Valley with the goal of visiting some of the biggest tech startups over there, and the idea is so that they, or people like myself, if we were to go over, we bring that information back to Australia and build up the startup ecosystem here. You can check out more more about Startup Catalyst missions on startupcatalyst.com.au, uh, /mission/youthmissions. This is the one I'm going on, and I'll put the link in the description, by the way. Oh well, sorry, I'm not going on yet. I've got the interview for it tomorrow. I'm excited for that. And otherwise, today I went through the DataCamp daily challenge, so we'll check back in tomorrow after the interview, see how I go. And then also I'll let you know if I get selected for it or not. Either way, I'm excited just to be shortlisted, and worst case scenario, I keep doing what I'm doing, which I'm absolutely loving. Check it out, I just finished the Python program programming track on DataCamp. It involved a series of few courses like an introduction to Python, so going over some basics and then some intermediate stuff on Python for data science, which was— I learned all about list comprehensions. Oh my God, my mind is blown. All the stuff I've been going over in the artificial intelligence standard degree involves list comprehensions, and I didn't even really know what they were. So now I've got a deeper understanding of what list comprehensions are. I'm sure I can use them in the future. I'm definitely going to go back over my notes and whatnot because They're so powerful. They're getting lines and lines of code creating like a list into one line of code. And that's really nerdy, but I love it. In terms of performance, it makes everything easier. Some more awesome news for today. I had my interview for the Startup Catalyst Youth Mission at River City Labs in Brisbane City, and it went amazing. I had a great time. It was over so quickly. Like it was only 10 minutes. Essentially, it's the list of people has been narrowed down to about 70. Aaron from Startup Catalyst and Brianna are going to be interviewing the next 70 people. I was maybe be one of the first, I'm not entirely sure when they started, for 15 minutes each to see who makes it out of the 1 to 20 people who go on the trip of the Startup Catalyst Youth Mission to Silicon Valley. So if you haven't checked it out, startupcatalyst.org I believe, or startupcatalyst.com, I'll put the right link in the description. If you're aged 18 to 29 in Australia and into tech, I highly recommend checking out this program. So 2017 mission leaves at the end of October. There's always next year's mission, I'm positive they'll keep this going. Do I have some cool things to show you or what? So today's been a pretty productive day despite me working out in the middle of the day and then having a nap because it's so hot here now. I live in Brisbane, Australia, if you haven't heard before, and it was like 37 degrees Celsius and it's definitely, it's like, what is it, nearly 8:00 PM at night and it's Singlet weather and I've got a slight sweat and my doors and windows are completely open. But let's check it out. Completed the Python programming track on DataCamp. So this number's actually a lot lower than the other ones I had. The other ones are in the millions. So maybe not as many people have done the whole track. That means I'm potentially moving on to a new course on DataCamp. I'm thinking about this one, Machine Learning with Python, considering machine learning is taking over software and software is taking over the world. So I figured that could be a good choice. And there's another one I've been looking at as well, Deep Learning in Python. So I might do both of these actually. They're both about 4 hours long, which is not too long. I could probably get them out in maybe just an hour a day each for a week. But another cool thing is this site, Pluralsight, I believe it's pronounced. Pluralsight. I'll put the link in the description anyway. Essentially, DataCamp are partnered with these guys at Pluralsight. At Pluralsight. I keep calling it Pluralsight. And their website's another education site to learn a whole bunch of skills, whereas DataCamp's focused on just data science and coding in general, really. Pluralsight has everything: writing, video making, Maybe I should, maybe I should do some video making courses on there because I don't know how well my vlogs are. I'm having fun with them anyway. But the tool they have on here I really like is the Python proficiency test. So it was only about 5 minutes long, about 20 or so questions, and I landed right in the middle between 0 and 300. I got 145, just below the middle actually. So the 47th percentile. And so I've set a date in the calendar to do this test every month. So I get 6 months access to Pluralsight with my DataCamp subscription. Really excited for that. So I'm gonna keep practicing Python over the next few weeks and months and whatnot and try and see if I can beat my score, get up into the expert zone, which is over 200. That'll be my short-term goal. We'll get in that expert zone there. And because of that, on the Python path on Pluralsight, because I landed at 145 SkillIQ, they recommended me starting at the intermediate level rather than the beginner course. Beginner course on Pluralsight is about 8 hours. So I potentially saved myself 8 hours of the Python track because I'm at the intermediate level already. And that was a lot to take in, I know. Some really cool things. Oh, one more thing. I started writing part 2 of my artificial intelligence Nanodegree assignment, which is to review a paper, a game-playing paper with artificial intelligence agents. And I'm doing the one that Google published recently, or Google and DeepMind, with StarCraft. And they built a— my puppies are going wild. This is good timing to wrap it up. They built an environment to help reinforcement learning agents in StarCraft, so I'll put it out on my blog once I finish the summary and you'll get the link somewhere in the description in the future. But I gotta go pat my dog and get some food and I'll see you next week.
More from Daniel

Small Language Models (SLMs) Are the Future: Fine-Tuning AI That Runs on Your iPhone

Introducing Sunny - A MedGemma-Powered Skin Health Tracking App (Kaggle Competition Entry)

Benchmarking: NVIDIA DGX Spark & NVIDIA RTX 4090 | Part 4 - Comparing the results

Benchmarking: NVIDIA DGX Spark & NVIDIA RTX 4090 | Part 3 - Running LLMs on the RTX 4090

Benchmarking: NVIDIA DGX Spark & NVIDIA RTX 4090 | Part 2 - Formalizing the tests

Benchmarking: NVIDIA DGX Spark & NVIDIA RTX 4090 | Part 1 - Creating a series of tests

Local Multimodal RAG on the NVIDIA DGX Spark | Part 4 - Publishing our demo to Hugging Face

Local Multimodal RAG on the NVIDIA DGX Spark | Part 3 - Putting it all together


