The 100 Days is Over! | 100 Days of Code 17

Daniel Bourke completed 100 Days of Code, covering SQL, Flask, JavaScript, React, and data visualization tools. He's starting an AI Nanodegree in September and planning to share deeper blog posts and Twitch livestreams. He pitched a facial-recognition voting app as his next project.
Chapters
What's going on, y'all? You know what? The 100 Days of Code has actually finished about 2 days ago, but I was taking a break from, from learning last week. I don't know, just to do some writing, to do some planning for the future, to do some workouts, to do some other things. But nonetheless, I'm going to keep, keep coding. I guess the 100 Day series wasn't really sort of, I don't know, coding every day anyway. But what have I been up to? I've been learning today. It was week 9 of CS50 and completed all that, which was on SQL, Flask, and MV— MVVM. MVC, which is a model-view-controller type of web programming, a way to, to sort of make sure your web is secure and still has— website, sorry, is secure and still has functionality. But what can you expect in this series going forward? Well, this will probably be the last video of the 100 Days of Code series. And then after that, we will go— I'm going to still be learning deep learning, artificial intelligence. I've got the AI Nanodegree coming up. That's on the 1st of September. And you could probably expect from me a few more blog posts as well, detailing how I'm learning it, what my plans are for the future, and why I'm sort of choosing my own path of study rather than going to university. But I'll see you tomorrow. My goal this week is to finish Week 10 of CS50, as well as the Intro to Data Science course on Udacity, or at least get that 75% done. I know yesterday I said I was going to work on the Intro to Data Science course on Udacity today, But I've decided to finish off these last 2 weeks of CS50 by— what is it? By the 25th. That's the due date I've given. But I'm probably going to finish them by either— what is it? Tuesday the 22nd. I want to try and finish CS50 by either tomorrow or the day after. And then I'll work through Udacity's Intro to Data Science. And then I think that'll be— that'll put me in a good place to start off the artificial intelligence nanodegree. So today, what have I been learning about? Well, JavaScript. That's week 10 of CS50. I got some videos here to watch. I gotta watch JavaScript, DOM, AJAX. I just finished the lecture here. This guy, David Malan, one of the best lecturers I've ever had, and I'm not even properly doing the course. I'm just doing it online. It's amazing. Uh, highly recommend this course, by the way, CS50. What I've just learned in JavaScript is sort of blowing my mind. I learned about what an actual JSON is, what an API is, an API is essentially just a piece of code someone else has written that you can use using various keys. For example, like if you were to make a website and you wanted to use Google Maps, you can use the Google Maps API and all the code Google have written for their maps you can inject straight into your website and start using it straight away. And they've got guides on how to implement this. And so it's making me really excited thinking about the things that I can build build up. Like for example, I've got an idea. Just because my government at the moment is doing some sort of electoral vote that's costing $122 million. I live in Australia to vote whether or not, and it's by post, like literally by post. They're going to post the votes out and that's why it's costing so much. I've got an idea of sort of why not build a, oh, by the way, the votes on equal marriage or gay rights marriage or what is it called? Marriage equality, right? And of course it's going to be a yes. Why not? Everyone's loved the same, in my opinion, for everyone. But my views, don't worry about my views. But the idea I sort of thought of is why not build some sort of application that allows people to vote securely and uses, I know, facial recognition to scan their license and then take a photo of their face to make sure it's them. And that allows them one vote rather than having, I have to sign up for this postal vote, have it sent out to me and then return my vote or something like that. That just, to me, that's just too many ways that the votes can get miscounted. But nonetheless, I'm loving this course. Going back to foundations, which is what this course is, an introduction to computer science, has really given me a good overall idea of what the possibilities are and what different languages can be used for. There's my Pomodoro timer going off. But yeah, tomorrow I'm going to be helping out my brother, working on some projects with him, and I might do a little bit more of CS50. We'll see how it goes. Hello world, back into some coding today. I'm on to CS50 week 11, which is the last week. I'm not entirely sure what this is on. It just says the title of the lecture just says The End, but I'm excited for the shorts that are to come. So I'll tell you, I'll tell you what this lecture is about once I finished it. So we've got an introduction to Git and GitHub. That's definitely something I need to work on. Automated analysis of music and audio. Oh, I guess that's like machine learning. Chrome extensions, I use a fair few of those. What do you use? I got, uh, the Toggle, which is a timing app, Pocket, Evernote, 1Password, Buffer. I don't really use these much anymore, but they're sort of just hidden in the background. My favorite one actually is Momentum. Have you guys seen this before? If not, check it out. Momentum Chrome extension. That's my main goal for today: finish CS50. Look how beautiful that is. Where's that? San Francisco. Awesome. Check out Momentum. Well, what else do we have? Data science. Yes. Data visualization. Oh, there's a fair few. There's like 10 videos here. I don't know if I'll be able to do all this today. There's like 7 hours worth of videos there. I might just do the ones that are, that I think are relevant to what I'm learning. So the data ones and the Git and GitHub and whatever, they're probably all relevant in some way. Uh, but hopefully I can finish at least, I don't know, let's say half, half for today. And then I'll, I'll let you know what, what I learned. And then in the next clip, I'll, I'll talk about sort of what the plans are after CS50 and my review on the whole course as a whole. Or maybe that would be for another clip until I finish the, the whole thing. I don't like leaving things undone. Like, the sunken cost fallacy is in full effect. But I'm gonna get into some coding, and then I'll catch you in a sec. The Week 11 class video was about VR, what's next in CS50, and then just a whole bunch of summarization— or sorry, a summarization of what we learned in CS50, as well as what you can expect to use with these or make with the technologies that we've gone over in the past. But I've been going through some of these Shorts here. I just went through that one, which was really awesome, using data science with pandas. I'm watching them on 2x speed as well, so I'm getting through them pretty quickly. I watched this one, which is amazing, and I'll go over that in a sec. And Git and GitHub. I've skipped over these two, Chrome extensions and whatever. I think I'm gonna watch this one next, the data visualization with D3, and React Native, the JavaScript one, because I'm really interested in what React has to offer. And potentially smart cities. I'm not sure what P versus NP is, maybe prime versus non-prime. But the one on The one on React and Meteor.js was really cool. I've got some notes here. I've got plenty of notes, actually. It just went through an example of how you can use, uh, use React, Meteor.js, MongoDB, Jupyter, Flask, and AWS all together. Uh, the lecturer who gave it, I think his name was Alan, uh, he was a student or something, a fellow of CS50, gave an example of how he built a data, data analytics app to go over— you enter a movie star's name and it can go over their their previous history of movies they've been in and how much money each of those movies made so that people from the future can sort of predict where to invest their money in terms of if they wanted to make a film with certain actors. And this is really cool. I'm actually really enjoying going over this stuff because it's giving me a more broad overview of what I can do with the stuff that I'm learning. So previously I've been sort of sandboxed in the deep learning world of Python and data science. But now I'm learning how to connect all these technologies together. And I'd highly recommend CS50 for anyone sort of introduction to computer science. I had an advantage that I sort of knew some things about it in the part— in the— well, to start off with, not computer science as a whole, but just programming in general. Like I've been doing the deep learning course and the machine learning course and the Python course for the last few months. So I had a bit of an advantage there. But it's definitely a great foundation for Anyone who's wanting to sort of, I don't know, learn what the different technologies are in computer science and how to combine them. Because in the combination of these technologies is where the real value is, is where you can create something awesome. So we're gonna finish off these videos and then actually I'm gonna go make some food now and then I'm gonna finish off these videos. So I just learned a hell of a lot for some of the shorts I just watched. I learned about D3 with JavaScript for data visualization and React and React Native and the power of that, which is absolutely incredible. I didn't know how much React Native could do. And what else did I learn? Oh, Exponent. I'm gonna, or Expo. I'm gonna show you a little highlight reel of all of them. So for example, this is what you can do with D3 data visualization. So this is a basketball court and these are all like, all these data points are all shots that people have taken. And so you see with D3, you can highlight the shots, So you've got players' names there. So if you choose someone's name, it'll show you their shots. And imagine doing that with other kinds of dataset. So the beauty of it is, is that not only can you just have numbers on a page to sort of show someone something out of a dataset, you can use this JavaScript framework to have a website dedicated to showing someone visually some patterns in data. And I think that's really powerful. And that's what interests me a lot is is not only just finding patterns in data but communicating them effectively. Because if you can find patterns in data but you can't communicate them effectively, you might as well have not found them, right? It's, it's the communication piece is just as important as finding those patterns. I'll show you one more thing, which is React Native. So React Native is a JavaScript, or built on React, which is another JavaScript framework which allows you to write cross-platform apps in just React Native? Well, that's, that's what Exponent does. And I'll link this in the description, by the way. Let me show you expo.io. So this is like an application that you can build applications with. So rather than writing, uh, an application in Swift for iOS, an application in Java for Android, an application in JavaScript for the web, you can write them all in React or React Native, and then it'll be compatible cross-platform with Android iOS and the web, which is amazingly powerful. Like apps, major app companies like Airbnb, Facebook are both using this technology to write their apps. And it's sort of really sparking ideas in my head because previously I've been driven away from, from developing apps because you have to develop it in 3 languages, which is a lot for me to learn. But if I can do it in just one, then that's sort of, uh, I can get the ball rolling and start building it myself using these frameworks like Expo. And I'll link that in the description, by the way, expo.io. To, to really build something that's instantly scalable, instantly usable across platform. I think that's, that's a good way to start. But check it out, D3 for data visualization, or d3.js, and React Native, as well as Expo for using React Native to build apps. You can publish them straight to the store from the, from the Expo app. That's awesome. But, uh, I'm gonna finish maybe one more video on this, uh, week 11, and then I'm gonna wrap it up for study for today. We're finishing CS50. Done. Oh, that was cool actually, how everything changed to green just there of that to-do bar. Let me show you. This is React, by the way. Boom, boom. Check this out. React. So Trello uses React. That's one of the reasons why I'm also interested in React, because I love— I don't know, I geek out on really cool, cool-made apps. And I think Trello is a really cool— cool web app. So I just learned something awesome about smart cities data. There's so much to learn. There's so much, like, so many problems. And I think that was the overall goal of CS50. I think it can be summed up in this one diagram that I drew. So you've got inputs. You've got a box here, outputs. And this box is essentially problem solving. So your inputs could be some sort of problem that you have, and your outputs could be, of course, a solution. And the problem solving here would be code or whatever and working out some sort of solution to generate an output you like. On the whole, CS50, amazing course. I highly recommend it. I'll put all the links in the description as well, as well as the Trello board where I'm tracking my own artificial intelligence/data science master's degree. Um, that's enough code for me today. I'm about to do some yoga. I think I might livestream it on Twitch just to see how it goes. I don't know, just for some fun. Why not? My Twitch link will be in the description. You can check out all my past videos there. I might start live streaming some of my workouts, some of my cooking videos, and maybe, maybe other stuff in the future. I don't know. I'm still working out this whole, uh, whole internet of things and all getting myself online and whatnot and putting myself out there to the world. Um, but what's my goal for tomorrow? I'm going to learn beyond Udacity's Intro to Data Science. Um, and then we'll see where we go from there. I'll finish that course and then I think the next step will be the artificial intelligence Nanodegree. Which I'm very much looking forward to, and probably a whole bunch of other project work that I'll of course share with you guys. Fun fact: if you were born in the year 1980, you have a total of 43 more solar eclipses in your lifetime. There was actually one the other day, 2017 eclipse. And why am I showing you this? Why am I showing you pictures like this? Check this out, by the way. A human to do the New York City Marathon, 2 hours 11 minutes. That's pretty quick. Look at these graphics, they're cool, hey? How long will it take Galactica to get from Earth to Alpha Centauri? Centauri? Centauri, 4.4 light years. 54 trillion miles per hour, 29 minutes. That's pretty quick. But the reason why I'm showing you this is because I'm learning about data visualization. I'm doing Udacity's Intro to Data Science course, up to part 4. Well, actually just finished part 4. Next part is MapReduce. I'm not entirely sure what that is, but I'll check in once I've learned about it. But this part really excites me, creating visualizations out of data. Because you can be the best data analyst there is and sort of find patterns in the data, but if you can't effectively communicate it to someone who doesn't understand the math and the underlying programming and how you went about finding all these findings, then the data is pretty much useless, right? It's like if you, if you have the secret to, I don't know, the answer to what's the meaning of life and you tell no one, what's the point of having it? So my, I don't know, I've in the past, I don't know, 18 months or so, really sort of had a switch in my life about communicating or sort of had a formative moment. Let's just say that. And I've been trying to communicate myself better through YouTube, through podcasting, through writing, through whatever. So data visualization and sort of pulling patterns out of data and communicating them with others really, really speaks to me. And I really like this, uh, I know this concept of data science. Don't get me wrong. I love the programming side of things, but I also, I want to create some cool visualizations and show people key messages that I've derived or someone else has derived from data using visualizations that so the masses can understand it because no one likes to sort of have just giant formulas on a blackboard and just expect people to understand it. I'm gonna go find out more about MapReduce after I take my dad out. So figured out what MapReduce is. It's a programming method that sort of disperses computation over a whole bunch of computers rather than sort of using one computer to do large computations. And it's usually used with large datasets. That's why sort of we're going over this because the world of big data is just exploding, right? And you probably wouldn't use it for anything under 5 terabytes worth of data because under that you can use it on a relatively small amount of computers. But say for example you're Google and you're trying to analyze the map, the mapping of the entire world, you sort of with Google Maps, you might implement MapReduce to run sort of data analysis on that across a whole bunch of computers so you can do it more efficiently, quicker, and reduce power consumption? I'm not entirely sure about that last one. But that's the whole idea of MapReduce, spreading, spreading your computation across a whole bunch of computers. So I just finished the Udacity Intro to Data Science course. Where is it? Oh, there we go. Intro to Data Science. Really good overview of what data science encapsulates. And the final thing I worked on was MapReduce, which is a programming sort of a way of programming to analyze large datasets. I think I talked about in the last clip. But I'm going to spend the next couple of days now that I've sort of got no courses on the go. I finished CS50. I finished the Intro to Data Science. I've got about a week before I start the Artificial Intelligence Nanodegree from Udacity. So I'm going to spend a few days cleaning up this Trello board of what I want to do and what I want to learn over the next 6 or so months, because that's how long the AI Nanodegree runs for. It's got a period, 2 terms, so 3, 3 months for the first term, then a 2-week break, and then another 3 months. So we're going to work out what I want to learn over at least that next 6-month period alongside the artificial intelligence Nanodegree. So You can see here I've got a few things in the to-do column on the Trello board. I'll link this in the description, by the way. Uh, I want to finish, get rid of this out of here, out of the doing. Um, and then I've got a few courses I want to do. So probably what you can expect from me in the next couple of weeks or so is, uh, in-depth blog post of what my plans are over the next 6 or so months. Um, but this will be the last clip of the 100 Days of Code series, and I'll work out what the next series is going to be, but I'll have something to do with the AI Nanodegree as well as what I'm learning on, on the side with that. So thanks for following along with the 100 Days of Code series. You can check out all the links. I wrote about what I did literally every day in a Medium series. I'll put that in the description as well as I've got an article series running about how I'm learning deep learning in 2017, which you've probably heard before. If not, it'll be in the description as well. But we'll catch you next vid.
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


