5 Coding Projects (from beginner to advanced)

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
i have five programming projects of varying skill level that will help you get to the next level of programming with the last one being a project that will help you land a software development job our three skill levels are one beginner you're learning how to implement programming fundamentals in a practical way you're very much a beginner but i'm not going to make it easy just straightforward so it's not so convoluted i don't want you to have to worry about libraries and frameworks and all of this crap your code is going to run in the console and because beginner steps are the most important we actually have three projects of varying skill levels within this level two is intermediate you're dipping your toes in real world development where what you work on on these projects will directly transfer over to real world projects and you may even learn some software engineering fundamentals as well and three is advanced you are learning how to be a full-fledged software engineer and by that i mean full stack but you're still solo so on this project the front end doesn't have to be beautiful the back end may need some refactoring and your technical debt is probably through the roof but you're able to display your programming knowledge you are implementing core principles and you're also providing documentation that explains your thought process while coding and the project's so big you're going to be working like a real software engineer where you break down this big project into smaller tasks for you to complete and you create an mvp you build it up feature by feature into what is finally a full-fledged application this is going to be fun [Music] now there are two ways to go about programming projects one is to work on a project that's more on the hobby level this doesn't mean unprofessional but it's a project that you want to build like my ai that shot me in the face when i got distracted as you saw in last video or when i use the youtube data api to pull my dislike counts put it into a comment and post that comment under the related video it's something useful that makes your life easier or it's just fun you learn a lot about building projects like this because when you're genuinely interested in something you are more inclined to learn about it and less inclined to quit when the going gets tough and the other way is tactical you know what you're going to learn from this project where it's going to get you to the next level or maybe even a software development job and that is why you build it and that's actually going to be my focus for today because i can't just sit here and say build something fun okay thanks for watching make sure you subscribe and that's the video i gotta have a little bit of content but actually the real reason i'm not going that route because at the end of the day if you did have something like that in mind you probably would be working on it instead of watching this video i'm just saying so let's get started with the first project under skill level number one for beginners what you're going to do is write a program that displays hello world in the console all right thank you for watching this video you are ready to become a software engineer start applying to those jobs but actually i want you to create hello world because there's there's something that just builds up inside you when you're able to manipulate a computer using code to do something that you wanted to do especially for the first time ever so if you have never touched a line of code do hello world because it just makes you so giddy and excited for programming even more than you already are and now that you're excited you're going to move on to the next project in the beginner skill level cooking bear with me real quick this is actually what i'm talking about you're going to be implementing programming basics by using information of cooking lasagna how long did it take you to prepare that lasagna how long does it take to cook that lasagna how much time does that lasagna have left to cook so you're going to be working with data types you're going to be working with functions or methods whatever whatever language you can do this in any language that you want really and you're going to be working with parameters and a little bit of math and using some functions and other functions just to see how everything ties together and i know what you're thinking oh well this isn't your original idea i know nobody's beginner project ideas are their own original idea and that also i feel like this was a two birds one stone situation where i can kind of plug exorcism not the sponsor of the video by the way api layers actually sponsored the video but we'll get to that later exorcism is just a really cool place to learn a lot of different languages it's all open source it's all free figured i'd mention it so this is a project you're going to define the expected oven time in minutes how long does that lasagna take to cook does it take 40 minutes in the oven well that's the example that we use here so you need to declare data type and you're going to assign it the value of 40. and yes i'm going to speak a little bit in pseudocode in this project in particular because it is a very beginner basics project but as we go and climb up the ladder of varying skill levels i'm going to be going in less and less detail because you'll know more and more but that's it for task one the next one calculate the remaining oven time in minutes and this really bothers me how this one is before the preparation time because you definitely prepared the lasagna before you put in the oven but whatever we'll just follow the order but you're implementing a function or method to calculate the remaining oven time in minutes so this function's whole idea is how much longer is this lasagna in the oven well how do you do that well you know how long it's supposed to be in the oven already you declared that in the first task and then how long has it already been in the oven you're going to actually be entering that as a parameter and then what you're going to return is the remaining oven time in minutes and the third task is actually very similar to the second task where you're going to be implementing a function that passes in a parameter in order to return we'll calculate the preparation time in minutes that's what you're going to be returning how long did it take you to prepare so how are you going to do that well the parameter is you're taking the number of layers you added to the lasagna and multiplying that oh crap i just gave away the answer by two minutes to prepare each layer so if you have five layers well two minutes per layer that number is what you're going to want to return from this function like that's the whole purpose of this function is to get to that number but then it all comes full circle to the fourth task right here you're implementing another function that calculates the total working time in minutes but this one takes two parameters it actually takes the same exact parameters as these two functions right here you need the number of layers you added to the lasagna and you need the number of minutes the lasagna has been in the oven because you want to return how long you've been working on this thing so how long did it take to prepare by the way this is where you use one of the other functions inside this function so how long did it take you to prepare how long has it already been in the oven you add those together and that's what you returned and that's it if you're a little confused about some of the things that i was talking about then this is the project for you remember you're not supposed to already know how to do this project you're doing this project to learn if you already know how to do it what are you going to learn but if that seemed a little easy to you well you may know where i'm going with this if you've been watching my videos this year the tournament simulation whatever sport you like best this can be surfing it can be wrestling it could be baseball it could be football it could be whatever as long as there are brackets tournament style it could be march madness did i say basketball it could be march madness whatever you want simulate running a tournament remember all this is still happening in the console simulate running a tournament for that sport come up with a loose design plan so when you hit the keyboard and you're about to program things out you have an overall understanding of what's going on it could be something as simple as this you have to figure out what are the objects what are their attributes what are their behaviors and then you figure it out what are the objects let's pretend this is surfers i don't want to just regurgitate everything i said before let's say surfing so you're going to have surfers and then you're going to have the overarching tournament you're going to have heats in that tournament of two to four surfers per heat you're going to have scores and records and you're gonna have a schedule then the attributes of a surfer now we can split this up uh short board long board big wave surfing small wave surfing it doesn't have to be super realistic you can have giant waves over here long board waves over here short board waves over here all in the same beach it's a program you can make whatever you want that's that's what i don't want to go too deep into the surfing thing because i don't know how many of y'all surf or even know what the hell i'm talking about but whatever your favorite sport is again you're already familiar with that so the more you know about what you're programming the more you can focus on actually programming it this is a program where you will implement basically anything that comes to mind when you think of programming fundamentals all of the simple things like we just discussed data types and functions or methods but also data structures and some algorithms and object oriented programming with classes and different objects and you'll be working with inheritance right all of this in one simple program so if you are past the cooking your lasagna program then this is going to be your next step but if you have the fundamentals down and feel you're ready to hop on over to web development then we're going to hop into the intermediate section the one project for the intermediate section it's actually an array of projects but it's one common theme and that it is brought to you by api layer who is a sponsor today's video and you're able to use their product to help you build these web applications that's what this entire project is going to be based around building a web application using an api to pull in data that you can then manipulate and display however you wish on the front end similar to how you see this right here this was a little program i put together i was going to make a video about then i realized maybe it's not as interesting as i thought to count down to the bottom of the recession based on previous averages from peak to bottom yada yada but i had the countdown timer here and i have the big three right here dow jones s p 500 nasdaq with this price being pulled in using an api and then doing a little bit of math based on the all-time high to find the difference and that's just one of many examples of what you can do using an api an api courtesy of api layer a hassle-free api marketplace to boost your app's capabilities without worrying about scalability and stability they have a litany of different types of apis they have a code detection api a resume parser we can see all apis and see all 84 that they currently have for most of what you would need and also one thing that is incredibly important they have 99.98 percent uptime let me tangent real quick because i have a story i was using a different api for that recession day stock project that i just showed y'all before i moved over to api layer and i spent two hours messing with the code that calls the api because it wasn't working when you first connect the api you wanted to display it in the developer console just to make sure that it's working so when you work on this project there's a little tip for you and it wasn't working like why is this working what is wrong with my code two hours later i decided i'm going to test it out on a different site where you can actually test these apis turns out the api was down you have never seen me so mad i can't believe it i had just wasted two hours for something that wasn't even my fault my code was correct the api was down that's why this number right here uptime of 99.98 is so important it'll save you a lot of headache i can speak on it personally and also all of these apis are free up to a certain limit however for the first 100 individuals that use my code forrest 100 using my link all that information will be in the description just below this video get everything 100 free up to 250 but again for the first 100 people to use my code for the first month did i say that for the first month but let's talk about the projects that you can build with this so the first one we're going to talk about is market stack yes this is a real time intraday and historical market data api that if you click on it brings you over to marketstack.com because this is like a subsidiary it's under the umbrella of api layer it's created by api layer so they gave it its own dedicated website i guess and just to make sure before you go implementing it you can search the stock tickers in which you're interested so if you need apple you get apple if you need nasdaq you can use this api to pull in this stock market data to create an application like i just showed you or anything else that suits your fancy when it comes to stock market data the next project is using the spoonnacular api which allows you to access over 365 000 recipes in 86 000 food products i wanted to mention this one because we talked about cooking lasagna earlier using a recipe so it kind of fit the theme and the cool thing about this api in particular is that it has all special diets and intolerances so if the recipe is vegan vegetarian paleo yada yada yada it has that information and automatically analyze the recipes to check ingredients for that and for allergens nutritional information so on and so forth and one really cool web application idea would be basically this right here so i mean you can plan your meals and whatever but imagine if you had a recipe and you could automatically generate a grocery list based on the food that you need to create that recipe well this api allows you to do that but also that would just be a cool idea for a web application and another one is weather stack yes weather stack this one is also under the umbrella of api layer and it is a real-time weather api historical weather api and weather forecast api and you know you can do anything like this is a very common project to pull in weather data and print out all of the real-time historical and weather forecasts look at this library of apis see what you find interesting that you can build something fun with and then go with that don't build something boring build something that you would genuinely enjoy and just kind of scroll through here and see what you'd like so that's the intermediate project and if you're worried about what tech stack and frameworks to use do a little bit of research i would recommend maybe mirn stack if you have no preference just because there's a lot of information out there for when you get stuck to reference and there's also something else that i would like to point out and that is the fact of recommended tool chains for react so if you're creating a new single page application you can use create react app or for server rendered website with node.js you can try next js or a static content oriented website you can try gatsby i'm going to focus on create react app because it's just a new single page app the cool thing about it is the simple fact that you do not have to worry about the file structure and the boilerplate it generates all of that for you so you are sitting there in your ide or text editor ready to code you're taking the path of least resistance so you can focus on the topic at hand it's also another reason why you're using an api so you don't have to worry about all the data here you don't have to worry about all the file structure you just worry about programming that's it now let's talk about the advanced project the advanced project that i recommend that will absolutely help you get a software development job is some sort of management system now there are varying different types of management systems there's a content management system a library management system a bank management system there's also one that people recommend a health care management system but i couldn't think of anything more dreadful than to create something related to the healthcare industry if that's your thing that's your thing but a management system that suits your fancy that you find interesting the reason being is because you want to create something large enough where you basically have to implement a microservice architecture for it to actually turn out well that has multiple different components especially considering the fact that it's easy to picture these management systems because whether you realize it or not you've probably used one so you know how it's structured and like i said in the beginning of this video you're going to have to break down such a big project like this into smaller well smaller stories and then the stories into smaller tasks so you'll obviously show your programming knowledge but you also show your knowledge of microservices architecture or something similar and you'll also show your knowledge of some software engineering fundamentals where you'll probably throw this in like a kanban board or something along those lines to keep it more organized and basically work as if you were a software engineer as a part of a team and if it were me i'm actually considering creating a content management system i'm also considering implementing an interactive code editor element to that content management system what could that ever be used for i'm not sure or i'm just going to outsource it and hire somebody else to do it i have yet to decide but i assume we'll find out by the end of the year y'all may find out first quarter of 2023 we'll see i hate making promises anyway some sort of management system that i previously laid out because you will not only show the employer about those elements that you know microservices and the software engineering fundamentals as well as your programming knowledge but you also strengthen all of those so you truly understand it so that you can actually talk about it in an interview and show it off in a project and i did tell you that as we went up in skill level that i was going to be less and less specific and less and less detailed about the particular project so that's it for this video i hope you found some value out of it maybe some ideas were sparked in your head on what project you need to build in order to get to that next level of programming if so leave a like on the video subscribe you know all the typical youtuber crap and uh i'll see y'all in the next one
Info
Channel: ForrestKnight
Views: 227,461
Rating: undefined out of 5
Keywords: programming, coding, software engineering, learn to code, how to code, learn how to code, how to get a programming job, how to learn to code, coding projects, programming projects, what to code, coding beginner, programming beginner to advanced
Id: n2B-FClr5rA
Channel Id: undefined
Length: 18min 9sec (1089 seconds)
Published: Tue Sep 13 2022
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.