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

Поделиться
HTML-код
  • Опубликовано: 24 ноя 2024

Комментарии • 101

  • @yt_n-c0de-r
    @yt_n-c0de-r 19 дней назад +94

    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 18 дней назад +2

      Like this!

    • @aemssw2387
      @aemssw2387 18 дней назад

      Yeah​@@chrisp4125

    • @SalimShahdiOff
      @SalimShahdiOff 18 дней назад +1

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

    • @yt_n-c0de-r
      @yt_n-c0de-r 17 дней назад +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 10 дней назад +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 17 дней назад +59

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

  • @dadijae1997
    @dadijae1997 20 дней назад +60

    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 19 дней назад +8

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

    • @speedvenom1998
      @speedvenom1998 14 дней назад

      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 11 дней назад +1

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

  • @coolfrog1608
    @coolfrog1608 12 дней назад +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 19 дней назад +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 19 дней назад +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 19 дней назад +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 19 дней назад +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 9 дней назад +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 9 дней назад

      @@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 19 дней назад +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 16 дней назад

      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)

  • @nikzaim9832
    @nikzaim9832 14 дней назад

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

  • @taektu_coding3990
    @taektu_coding3990 11 дней назад

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

  • @richardmeyer418
    @richardmeyer418 20 дней назад +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.

  • @МатвейРовчак-в4о
    @МатвейРовчак-в4о 20 дней назад +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)

  • @nickmurdaugh9856
    @nickmurdaugh9856 18 дней назад +6

    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 12 дней назад +1

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

    • @iLLuzion1st
      @iLLuzion1st 9 дней назад

      @@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.

  • @robertstump7899
    @robertstump7899 15 дней назад +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......

  • @ou-zaa4436
    @ou-zaa4436 19 дней назад +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

  • @Abdullah-vx3qv
    @Abdullah-vx3qv 19 дней назад +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

  • @anibalcodes9337
    @anibalcodes9337 3 дня назад

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

  • @ArchLars
    @ArchLars 16 дней назад +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.

  • @Jayeffice
    @Jayeffice 20 дней назад

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

  • @jays
    @jays 20 дней назад +11

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

  • @deionek
    @deionek 19 дней назад

    I truly needed to here this advice! Thank you!

  • @diabeticnomad
    @diabeticnomad 6 дней назад

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

  • @zblanco.5432
    @zblanco.5432 19 дней назад +1

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

  • @Steve18795
    @Steve18795 20 дней назад +2

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

  • @Deadlock032
    @Deadlock032 20 дней назад +1

    Much needed.. Thank you!!!! 🤝

  • @MEKTINGEZ
    @MEKTINGEZ 15 дней назад

    very informative video thanks man

  • @milesaptcher7043
    @milesaptcher7043 20 дней назад

    great video thanks a lot Forrest

  • @ariosetiawan173
    @ariosetiawan173 19 дней назад

    This Amazing video, subscribed 🤝

  • @weemanling
    @weemanling 20 дней назад +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 9 дней назад

      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.

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

    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)

  • @joebazooks
    @joebazooks 14 дней назад

    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🤦‍♂

  • @jayveetyronecordova6951
    @jayveetyronecordova6951 19 дней назад

    15:37 Exactly 💯

  • @georios
    @georios 20 дней назад +2

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

  • @ZenInTheCode
    @ZenInTheCode 20 дней назад

    Great video > thank you!

  • @zorro161
    @zorro161 19 дней назад

    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 😎

  • @LucasDondo
    @LucasDondo 9 дней назад

    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.)

  • @fiorelverhelst4981
    @fiorelverhelst4981 20 дней назад +1

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

  • @kopilkaiser8991
    @kopilkaiser8991 19 дней назад

    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.

  • @ChrisUK70
    @ChrisUK70 15 дней назад

    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.

  • @omother942
    @omother942 18 дней назад +1

    What keyboard?

  • @Whiterqbbit
    @Whiterqbbit 20 дней назад +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  20 дней назад

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

    • @Varkolak88
      @Varkolak88 20 дней назад

      ​@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.

  • @notyaniecetv
    @notyaniecetv 19 дней назад

    What kind of keyboard is that 😍

  • @CryptoCurious-pv7nn
    @CryptoCurious-pv7nn 18 дней назад

    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?

  • @LucaCodes-r4f
    @LucaCodes-r4f 17 дней назад

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

  • @Ka0sProductions25
    @Ka0sProductions25 19 дней назад

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

  • @judahlionheart1062
    @judahlionheart1062 20 дней назад

    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!

  • @Doomw1ngs
    @Doomw1ngs 18 дней назад

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

  • @reocifer
    @reocifer 20 дней назад

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

  • @fraser7910
    @fraser7910 14 дней назад

    Didn't you read any comments?

  • @asagiai4965
    @asagiai4965 20 дней назад +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 19 дней назад

      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 19 дней назад

      @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 11 дней назад

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

    • @asagiai4965
      @asagiai4965 11 дней назад

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

  • @Bob-bl1ey
    @Bob-bl1ey 20 дней назад +2

    Avg java developer, the language does't matter btw

  • @HyperRealitySuperFun
    @HyperRealitySuperFun 19 дней назад

    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

  • @TheCodeBerry
    @TheCodeBerry 20 дней назад +1

    Are you an istp Forrest

  • @Brawlstriker89
    @Brawlstriker89 15 дней назад

    Best advice I’ve heard on RUclips regarding the subject matter yet.

    • @adamrushford
      @adamrushford 12 дней назад

      how much did he pay you to say that?

    • @Brawlstriker89
      @Brawlstriker89 12 дней назад

      @ .. 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 12 дней назад +1

      @@Brawlstriker89 try mine :)

    • @adamrushford
      @adamrushford 12 дней назад

      @@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

  • @alexiscomix
    @alexiscomix 20 дней назад +5

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

    • @fknight
      @fknight  20 дней назад +3

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

  • @akioasakura3624
    @akioasakura3624 11 дней назад

    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 9 дней назад

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

    • @iLLuzion1st
      @iLLuzion1st 9 дней назад +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 19 дней назад

    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 12 дней назад

    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 15 дней назад

    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 15 дней назад

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

    • @johntimothypascual854
      @johntimothypascual854 12 дней назад

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