3 Coding Projects to Break the Coding Barrier (w/ Instructions Included)

Поділитися
Вставка
  • Опубліковано 21 лис 2024

КОМЕНТАРІ • 101

  • @yt_n-c0de-r
    @yt_n-c0de-r 16 днів тому +91

    I thing I learned in my (now sitting useless CS degree) in a design class:
    Write the idea as a fully written (edit: but concise!) text, a proposal like an elevator pitch. Then underline all nouns in one color, verbs in another and adjectives in a last.
    Nouns are potential classes, verbs are potential functions, adjectives become potential members/fields/variables. Any ambiguity in text or multiple outcomes are potential control structures (ifs, loops etc).

    • @chrisp4125
      @chrisp4125 16 днів тому +2

      Like this!

    • @aemssw2387
      @aemssw2387 16 днів тому

      Yeah​@@chrisp4125

    • @SalimShahdiOff
      @SalimShahdiOff 15 днів тому +1

      Too much classes ?
      Idk never tried it but my sentences contain many nouns

    • @yt_n-c0de-r
      @yt_n-c0de-r 14 днів тому +4

      @@SalimShahdiOff hence it has to be very concise and the main word is "potential"! The words you find don't HAVE to end up becomming classes. You first write them out, then sort out what seems correct. that way you figure out your core design.
      If something is missing down the line, you check your list and add it, or it if it too much remove some.

    • @joeferreti9442
      @joeferreti9442 7 днів тому +1

      An elevator pitch might not be enough in most cases, because too short and incomplete description.
      A fully written description text is more like it.
      Yeah, that basically is the classic method to start object-oriented analysis, how it is usually told in computer science courses.

  • @frankprogrammer
    @frankprogrammer 15 днів тому +56

    8:00 When he started typing with his toes, I knew this was a seasoned coder.

  • @dadijae1997
    @dadijae1997 17 днів тому +59

    I recently completed the functionality for a matching game using html, css and js. Simple 4x4 table, numbers 1-8 with a reset button. Definitely thought it would be a cakewalk. 😅 It’s been a fun learning experience though.

    • @lian1238
      @lian1238 17 днів тому +8

      Love it. Most ppl jump straight to frameworks like react and vue and skip all the fundamentals. Keep going

    • @speedvenom1998
      @speedvenom1998 11 днів тому

      Hey bro congrats on your journey. Can you give advice how did you find a solution when you get stuck? Did you watch tutorials, forums, google search etc?

    • @judeanthoneduarte3792
      @judeanthoneduarte3792 8 днів тому +1

      @@speedvenom1998 reading documentations. this shit saves me many fucking times

  • @coolfrog1608
    @coolfrog1608 9 днів тому +2

    Watched this last night and it encouraged me to build a simple card game (Black Jack) in Java today. After grinding on it most of the day I would say it's like 40% done, but recognizably the game. I feel like I learned some concepts and internalized some interactions that I've been tripping over by just grinding on it. So thank you.

  • @SwayyRL
    @SwayyRL 16 днів тому +5

    I’m teaching myself python so I can make a game. It is VERY intricate and very very challenging, but I’m loving every second of it. This week has been purely for character movement and collision.

  • @CallousCoder
    @CallousCoder 17 днів тому +27

    When I learned assembly when I was 13, that was my “ahaaaa” moment. When I did BASIC the first 3 years, I knew the BASIC language but not what a system does, nor did I really learn to chuck problems. And I indeed had to learn without tutorials. You had to read books and reverse engineer games and demos. And that effort of reverse engineering actually was teaching you a lot.
    And I wanted to make a side scrolling game and I knew how to do it in basic but it was too slow and I couldn’t multiplex music, sound and visuals. So the only answer I got from my dad was: “you need to do that in assembly that’s 100 times faster”.
    The first 2 years I literally didn’t know of the existence of an assembler. So I used a monitor cartridge. You don’t have variable definitions you had to remember memory addresses. You had to calculate ahead the number of bytes to jump. It learned me so much! Up to the point that’s ok like, I can learn any imperative programming language literally on the job.

    • @rooodis456
      @rooodis456 16 днів тому +1

      Wow that’s actually incredible. New learners like me are so spoiled by all the modern languages and frameworks😅 still wanna learn assembly eventually

    • @CallousCoder
      @CallousCoder 16 днів тому +1

      @ it’s not hard, it’s in fact simple. Especially on the old C64 with a modern assembler. I have 10 episodes in it. And 5 or so on modern ARM64 assembly. It’s easy to learn because there are so few statements, it becomes hard because there are so few statements and you need to build things up yourself (not so much when you do assembly on Linux or Windows as you make a lot of kernel calls that do the heavy lifting).

    • @Gijontin
      @Gijontin 6 днів тому +1

      That's insane dude, meanwhile I'm in my 30s trying to learn programming in C in my spare time (started this half of the year).
      So far I just made a text-based dice game you can play in the console window vs the PC and make bets on the opponent winning or losing... 😅

    • @CallousCoder
      @CallousCoder 6 днів тому

      @@Gijontin That's great! You need to process input so allocate memory dynamically and clean it and that's the foundational knowledge most devs miss these days.

  • @jeffreyphipps1507
    @jeffreyphipps1507 16 днів тому +9

    In other words, learn to identify what your inputs will be, what your outputs will be, and how to go from point a-to-point b before you head to a computer to code. Coding is easy once you know how to develop ideas. I was taught assembly language *after* being taught how to set out the inputs, outputs, and flow. We had to learn to write steps to go through. What inputs will we need (with output prompts), what outputs from computation will we need, and what computation steps were required to get there? We were first taught via geometry proofs and statistics. Not the best way, but did get me to understand step-by-step via geometric proofs, and a little statistics (mainly for looping). However, I was taught that a simple step-by-step process led you to know where to go next. Don't get bogged down by the big picture, just take baby steps until you get where you are going. When I took assembly language on the mainframe (before all of you young people had home computers), we had to draw flow charts and draw up plans for input/output, then a plan for the program. If that was approved by the instructor, we were allowed to code and then do a desk check - pretend you are the computer, use data, and execute the code line by line on paper. If that was approved, we could schedule time with the card punches (yes, I'm that old) to punch the program and data. Then I took the cards to the system operator (SYSOP) for execution. a few days later you could pick up the cards and the printout. That was the cycle. If you had coded right, you turned in the assignment. If not, you went back to find where you failed. I then took two semesters of COBOL, a semester of FORTRAN, a semester of RPG, a semester of BASIC, and an optional semester of ALGOL or Pascal (I took both - I was paying for it, one more wasn't going to break me). C didn't exist then, I picked it up later. The assembler I took was S/360 BAL, I later got microcomputers and learned 6502 assembler, Z-80 assembler, and ultimately moved to x86+ assembler and I learned Motorola 68K assembler. I have yet to consider learning the newer RISC assembler concepts at my age. I learned many dialects of languages (BASIC, Pascal, C/C++/C#/Java/JavaScript/TypeScript/ECMAScript, RPG/RPG III/RPG400/ILE RPG, database languages leading up to SQL, etc.). I learned new languages like Perl, Python, Ada, Natural, Supernatural, Lisp, Prolog, Logo, Pilot, and so many others that I forget to name here. Then there's shell scripting languages. Early shell languages could not be considered languages per se, but each later generation added necessary structure to make them full scripting languages. Almost 60 years of programming has taught me personally one thing - students in schools don't get the startup understanding they need. They're pushed into a programming language course and onto their computer and told to find answers on the Internet. Regrettably, most examples on the Internet are at best sloppy or at worst wrong. Worse, it gets to the point where programming instructors don't even interact with students and students get stranded in dead-end degrees.

    • @rhn8696
      @rhn8696 13 днів тому

      oh that was really an amazing experiences! i could only imagine to have the opportunity to learn all those. Reading all that made me wondering, through all of your programming career, what's the most important concept that can be applied to general programming aspects? other than what you've been stated (knowing input, output, and linking)

  • @МатвейРовчак-в4о
    @МатвейРовчак-в4о 17 днів тому +11

    That was actually my problem, oh i will create this project lets go.
    BUT, I have to break it to parts, thanks a lot, you just opened my eyes)

  • @nikzaim9832
    @nikzaim9832 12 днів тому

    used to watch you like 3-4 years ago and then came back just to see you regularly posting videos. God Bless

  • @richardmeyer418
    @richardmeyer418 17 днів тому +4

    Excellent discussion, Forrest. Great advice on how to go ABOUT doing things rather than how to do things. A meta-discussion, if you will.

  • @anibalcodes9337
    @anibalcodes9337 День тому

    Great information. Love mma as well, it was a sad day seeing max get knocked out.

  • @Abdullah-vx3qv
    @Abdullah-vx3qv 16 днів тому +4

    you were one of the first youtuber that i watched before choosing CS when i didn't know the basics properly and now i am graduating in 2 months , time passes by so quickly

  • @robertstump7899
    @robertstump7899 13 днів тому +1

    When learning programming if one needs to use AI, I think the best approach is to tell it that you do not want coding examples (except in the case of algorithm types, then I guess, maybe) rather ask AI to act like an assistant that is looking up information for you in the Java Doc for instance. This can speed up the process of finding the information. I also might use it in the case of not having used a stack before and ask it for a list of method for x. Or if you run into something that is depreciated, asking for information on the new use cases etc
    One last use case, especially when learning algorithms, I like to write my own without assistance, and ask AI to give me a visualization of my script working with different inputs. This can be especially nice on more complicated steps, for instance if one is doing something from the back, middle and front of an array and looping multiple index pointers over values, it can be very nice to have AI show you the values of your own program at each step.
    And of course, once you understand what you are doing more, getting boiler plate code, or a slightly customize template out of AI is good, but of course those are really learning tools......

  • @ArchLars
    @ArchLars 13 днів тому +2

    How I learned programming: Make simple programs at first nothing huge, just one function and one module to fetch and display one thing. BeautifulSoup on Python for example to scrape one element off a website or whatever. Then build from there, add things slowly one by one learn how each part works until you have a big script that can do a lot of things.

  • @taektu_coding3990
    @taektu_coding3990 8 днів тому

    Thisa Video is the REAL DEAL for how to learn to code ! Great !

  • @nickmurdaugh9856
    @nickmurdaugh9856 15 днів тому +5

    2:50 I like tutorials. But if I do a tutorial, I build in something different than the tutorial. So I'm learning architecture and what not rather than just copying. Example, when I was getting comfortable with Typescript and Vue, I used React tutorials. So I got the benefit of guided learning, but I had to do every implementation myself.

    • @ishatariq9422
      @ishatariq9422 9 днів тому

      i am a learner too. can you explain what you mean by that?

    • @iLLuzion1st
      @iLLuzion1st 6 днів тому

      @@ishatariq9422 Take a project you want to learn but it is in a differeing language than the one you are using. IE, Python tutorial but you write it in Java or something.

  • @ou-zaa4436
    @ou-zaa4436 16 днів тому +1

    I needed this videos. thank you so much. I was trying to learn how to code for the past 3 years. I always fail and give up because I didn't know what to build. When i try to build a clone app or follow a tutorial i feel overwhelmed and give up half way through. But those ideas that you gave sounds really interesting. I like football (soccer), So i think I'll build a soccer tournament simulator

  • @diabeticnomad
    @diabeticnomad 3 дні тому

    Spot on info sorry it took me so long to finish the video! 😂

  • @jays
    @jays 17 днів тому +10

    wasn't expecting to see notepad++ at any point this week 😂

  • @Jayeffice
    @Jayeffice 17 днів тому

    @ 15:48 Some of the best advice I have heard

  • @deionek
    @deionek 17 днів тому

    I truly needed to here this advice! Thank you!

  • @Steve18795
    @Steve18795 17 днів тому +2

    Thanks for the great video.
    Typo in the video description:
    you -shuold- approach. => you should approach

  • @zblanco.5432
    @zblanco.5432 17 днів тому +1

    The ufc part of the video was funny lol but max😢. Would try attempting the projects. Lots of great insights in this video.

  • @weemanling
    @weemanling 17 днів тому +3

    I have tried several times to "get" coding. I make it to the terminal stage in a language, but then get incredibly confused about how I get it to the app / program stage. And sometimes when I try to go to the app stage I find out that I've wasted hours and hours learning a language but it isn't the "right" one for the platform I'm trying to learn so then I'm forced to start from the beginning again and learn another language and it just feels like this never ending chase and always being lost in the dark about what the next step is after the current one only to find it's a wall.
    Like I was learning C++ and wanted to create an Android app but apparently Kotlin is what I should have learnt to use and the workarounds with C++ just aren't as good and it feels like a waste.

    • @iLLuzion1st
      @iLLuzion1st 6 днів тому

      You just stated a bunch of things you learned tho! Lets break it down @weemanling
      - Learned C++
      - Learned what languages to build an android app
      - How to make it "to the terminal stage"
      - Learned the importance of research BEFORE development like what language is best for xyz
      - You also learned that if you keep changing which language you are practicing in too frequently, that you do not progress.
      You may have learned what NOT todo, however that is your unsung hero in the learning journey. I would say, if you spent copious amount of time in C++, find out what projects are great for C++ and start THERE. After completing a project you are stoked on, then think about possibly going back to your Kotlin based android app. The skills and logic you learned in C++ will carry over I promise. But start and finish projects above all else. FYI I am speaking to myself in many a ways.

  • @MEKTINGEZ
    @MEKTINGEZ 12 днів тому

    very informative video thanks man

  • @ariosetiawan173
    @ariosetiawan173 16 днів тому

    This Amazing video, subscribed 🤝

  • @milesaptcher7043
    @milesaptcher7043 17 днів тому

    great video thanks a lot Forrest

  • @LucasDondo
    @LucasDondo 6 днів тому

    Forrest! You're just awesome! I wanna be like you! 😅🤣 I already have the long hair, the motorbike 🏍 & the caps 🧢, so I'm proud of the progress (oh, and a nice mustache) (like the one from V for Vendetta) (magicman face hairstyle 😎😅).
    Your channel is the only tech one that I look at these days 🫵.
    Is doing a video about debugging/finding bugs/tests/mentality for finding bugs/mental procedure/what to focus on while finding where the bug is/etc. in your roadmap?
    Because that's what I'm struggling the most at college. (Actually yesterday we had the Nerd Awards and I won the trophy for the most tests not passed 😅😅. Epic. 😎) (I also won the one for the most PRs sent to the course's website, luckily. Fiuu.)

  • @Deadlock032
    @Deadlock032 17 днів тому +1

    Much needed.. Thank you!!!! 🤝

  • @georios
    @georios 17 днів тому +2

    Wow by far best video I've seen on the subject

  • @Whiterqbbit
    @Whiterqbbit 17 днів тому +2

    I keep thinking my kid is yelling in the background lol .... I need to breakdown my project ideas more, but first I need to come up with that project. The war game is a solid starting point!

    • @fknight
      @fknight  17 днів тому

      i've gotta get a new mic that picks up less background noise asap lol

    • @Varkolak88
      @Varkolak88 17 днів тому

      ​@fknight if you have an Nvidia GPU, there is a utility which will automatically process your mic Input and completely remove any background noise.
      RTX Voice.
      A better mic wont solve the problem, it makes it worse 😂.
      I hope Everyones Kid's are doing Great, hearing them yell means they're having fun and doing their Kid Thing.

  • @СергійФлорінський

    Maybe I digress from the main topic of the video, but your mannerisms to explain things, reminds me kind of Jeremy Davies (Snow) from Solaris (2002)

  • @jayveetyronecordova6951
    @jayveetyronecordova6951 17 днів тому

    15:37 Exactly 💯

  • @joebazooks
    @joebazooks 12 днів тому

    the programming part is easy for me. its web design that is extremely difficult. one of my current projects has been 90% done for the past 6? months because im struggling to design a landing page for it🤦‍♂

  • @ZenInTheCode
    @ZenInTheCode 17 днів тому

    Great video > thank you!

  • @zorro161
    @zorro161 16 днів тому

    This is what I used to do with chat got but I got lazy and start doing things like how to suffle a deck of cards in java sigh thanks bro 😎

  • @kopilkaiser8991
    @kopilkaiser8991 16 днів тому

    Liked, Shared, and Subscribed to your channel. You deserve it ForrestKnight! Please keep up the great content in educating us in the area of programming and software development.

  • @fiorelverhelst4981
    @fiorelverhelst4981 17 днів тому +1

    Nice video! But i always ask myself the question what tech or language i should use? What is your suggestion to decide this?

  • @LucaCodes-r4f
    @LucaCodes-r4f 14 днів тому

    We didn't do it because it was easy! we did it because we thought it was!

  • @reocifer
    @reocifer 17 днів тому

    this video tells me that I'm already doing this right now. But thanks for the additional insights

  • @omother942
    @omother942 15 днів тому +1

    What keyboard?

  • @notyaniecetv
    @notyaniecetv 17 днів тому

    What kind of keyboard is that 😍

  • @Ka0sProductions25
    @Ka0sProductions25 16 днів тому

    Love this video. Also, what is your favorite video game as of right now?

  • @Brawlstriker89
    @Brawlstriker89 12 днів тому

    Best advice I’ve heard on UA-cam regarding the subject matter yet.

    • @adamrushford
      @adamrushford 9 днів тому

      how much did he pay you to say that?

    • @Brawlstriker89
      @Brawlstriker89 9 днів тому

      @ .. this is the first time I’ve ever seen this channel. I’m always following tutorials and doing projects though. And they never really teach, they just want you to copy them but don’t explain anything.

    • @adamrushford
      @adamrushford 9 днів тому +1

      @@Brawlstriker89 try mine :)

    • @adamrushford
      @adamrushford 9 днів тому

      @@Brawlstriker89 and after you learn how to code in an hour, because you start on video #3 and put it on 1.25x speed... then watch all the channels I have featured they are the best of the C++ video teachers on the internet

  • @judahlionheart1062
    @judahlionheart1062 17 днів тому

    hmm, I guess I will try to make a blackjack game, i have only made a calculator and a magic 8 ball game both following tutorials, attempting this without any help should be fun! thank you for giving me a clear plan. just Subbed!

  • @ChrisUK70
    @ChrisUK70 13 днів тому

    Thanks, excellent video and you make a great point about AI. I am learning Python using DataCamp when I get to the exercises I have been using AI because I could not remember the particular answer to the problem and because of that I have absorbed nothing.
    AI is too easy to get the answers, like you say break the problem down, try to figure it out and read the docs. It will be interesting to see what the next generation of coders will be like, will they rely to much on AI?
    Almost 30 years in industry (so should know better ) data related coding, DI tools and RDBMS. When I started out and went to a new contract I took a bag full of O'Riley books and my notes, we did not have WWW to hand like we do now. I learned by doing, reading books, notes and taking more notes.
    AI can make you so Lazy, I now use it to learn about specifics like how to structure a project and folders etc for Python not actually the code.

  • @CryptoCurious-pv7nn
    @CryptoCurious-pv7nn 16 днів тому

    Hello sir, new subscriber from Pakistan, at the time I'm learning React Js, you usually says that convert on java or C# . I'm in the middle that what should I do, could you please help me with that?

  • @alexiscomix
    @alexiscomix 17 днів тому +5

    1) wrestling tournament simulation
    2) wrestling tournament simulation
    3) wrestling tournament simulation
    bonus) wrestling tournament simulation

    • @fknight
      @fknight  17 днів тому +3

      haha what can i say, i love the wrestling tournament simulation

  • @Doomw1ngs
    @Doomw1ngs 16 днів тому

    Is it true that a programmer spend 70-80% reading documentation and the rest 30-20% coding?

  • @Bob-bl1ey
    @Bob-bl1ey 17 днів тому +2

    Avg java developer, the language does't matter btw

  • @TheCodeBerry
    @TheCodeBerry 17 днів тому +1

    Are you an istp Forrest

  • @asagiai4965
    @asagiai4965 17 днів тому +2

    Tip
    I think most beginner's reasons not to be able to do or finish projects are.
    A.) Too much thinking, B.) Lack of motivation
    Don't overthink you don't need to implement patterns, tests, multiple classes, etc etc
    It will come naturally.
    Because if you overthink you will not go anywhere. Actually, even seasoned programmers falls for this trap.
    Which can lead to,
    Lack of motivation, because you are not finishing anything. And once someone loses motivation
    You fell for tutorial hell, procrastination, and / or unfinished projects.
    So don't overthink it will come naturally, keep your motivation, and have fun.

    • @Repeatedwaif
      @Repeatedwaif 17 днів тому

      I've been programming in c for a few months now but it's difficult to find projects to do since I have nothing to automate in my day to day life and all the recommend projects are like build a game engine build a lisp build an os build an emulator like damn i have done some stuff like a html web server using socket library that hosts some html which is cool and a keylogger that first sent to a txt then to a server but it still feels like I dont know nearly enough to do an old game system emulator

    • @asagiai4965
      @asagiai4965 17 днів тому

      @Repeatedwaif you are overthinking. When you are already doing good. And be proud of yourself.
      I think in this instance, you have a different set of problems. Maybe sharing it with a friend or acquaintance might help.
      Btw when I said sharing I mean you don't really need to share the code, I mean the success or story of your project or something.

    • @akioasakura3624
      @akioasakura3624 9 днів тому

      No it doesn’t come naturally I’ve spent 9 years trying and I still don’t get it

    • @asagiai4965
      @asagiai4965 8 днів тому

      @akioasakura3624 which one? If you want to tell a story then ok.

  • @HyperRealitySuperFun
    @HyperRealitySuperFun 17 днів тому

    I think ai is good at promoting me to find my mistake. Khan academy's ai doesn't tell you the answer, just where to look I'm very new

  • @fraser7910
    @fraser7910 12 днів тому

    Didn't you read any comments?

  • @akioasakura3624
    @akioasakura3624 9 днів тому

    but how? u r just telling us "do this, this, and that". but HOW do you ACTUALLY do that? aint nobody ever talk about that

    • @huzayfasyed5488
      @huzayfasyed5488 6 днів тому

      Read documentation and come up with a simple project id reccomend a card game like he says i did blackjack

    • @iLLuzion1st
      @iLLuzion1st 6 днів тому +1

      Bro/ma'am w/e, I totally understand your mindset! Chicken and the egg type of situation. However the moral of the story is that to learn, it is slow, painful, and requires you possibly throwing your keyboard through a window at times. Possibly banging your head against a problem many times over until your brain goes AHA! Then you try it, debug it, implement or change. It is the slow and daunting process that makes it hard. However, after doing this process for years, you get better at it, and the AHA moments come quicker, and you can break problems down into smaller problems (recursion) and implement them. WE GOT THIS!

  • @ak-gi3eu
    @ak-gi3eu 17 днів тому

    Plz make 5 god final boss level tier projects which will make you realise ahh this is everything used in every domains of programming

  • @adamrushford
    @adamrushford 9 днів тому

    6:45 nah bullshit, you make a proper card game engine and you might as well have made a casino game... real games don't take anything that complex

  • @jay_wright_thats_right
    @jay_wright_thats_right 12 днів тому

    Use AI to help you solve the problem. You're there to challenge the answer and see if it's correct and can be optimized further. I remember when young people were putting down old-school workers and they are NOW becoming old-school workers. 🤣🤣🤣🤣🤣🤣🤣🤣

  • @XX-vu5jo
    @XX-vu5jo 13 днів тому

    Programming is dead, don't waste your time with it.

    • @johntimothypascual854
      @johntimothypascual854 9 днів тому

      If programming is dead then this tech-depended world will not run properly anymore. Even you, commenting here confirms what i say.