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).
@chrisp412515 күн бұрын
Like this!
@aemssw238715 күн бұрын
Yeah@@chrisp4125
@SalimShahdiOff15 күн бұрын
Too much classes ? Idk never tried it but my sentences contain many nouns
@yt_n-c0de-r14 күн бұрын
@@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.
@joeferreti94427 күн бұрын
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.
@frankprogrammer14 күн бұрын
8:00 When he started typing with his toes, I knew this was a seasoned coder.
@AtulKumarVerma-wf1py14 күн бұрын
😂
@johnborron105911 күн бұрын
Hahahaha
@adamrushford8 күн бұрын
this dude isn't even a programmer, half the shit he says isn't even opinion it's just false
@davesmith76588 күн бұрын
🤣
@dadijae199717 күн бұрын
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.
@lian123816 күн бұрын
Love it. Most ppl jump straight to frameworks like react and vue and skip all the fundamentals. Keep going
@speedvenom199810 күн бұрын
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?
@judeanthoneduarte37927 күн бұрын
@@speedvenom1998 reading documentations. this shit saves me many fucking times
@coolfrog16088 күн бұрын
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.
@SwayyRL16 күн бұрын
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.
@CallousCoder16 күн бұрын
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.
@rooodis45616 күн бұрын
Wow that’s actually incredible. New learners like me are so spoiled by all the modern languages and frameworks😅 still wanna learn assembly eventually
@CallousCoder16 күн бұрын
@ 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).
@Gijontin6 күн бұрын
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... 😅
@CallousCoder6 күн бұрын
@@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.
@jeffreyphipps150716 күн бұрын
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.
@rhn869613 күн бұрын
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о17 күн бұрын
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)
@nikzaim983211 күн бұрын
used to watch you like 3-4 years ago and then came back just to see you regularly posting videos. God Bless
@richardmeyer41816 күн бұрын
Excellent discussion, Forrest. Great advice on how to go ABOUT doing things rather than how to do things. A meta-discussion, if you will.
@anibalcodes93378 сағат бұрын
Great information. Love mma as well, it was a sad day seeing max get knocked out.
@robertstump789912 күн бұрын
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......
@Abdullah-vx3qv16 күн бұрын
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
@ArchLars13 күн бұрын
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_coding39908 күн бұрын
Thisa Video is the REAL DEAL for how to learn to code ! Great !
@nickmurdaugh985615 күн бұрын
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.
@ishatariq94229 күн бұрын
i am a learner too. can you explain what you mean by that?
@iLLuzion1st5 күн бұрын
@@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-zaa443616 күн бұрын
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
@diabeticnomad2 күн бұрын
Spot on info sorry it took me so long to finish the video! 😂
@jays17 күн бұрын
wasn't expecting to see notepad++ at any point this week 😂
@Jayeffice17 күн бұрын
@ 15:48 Some of the best advice I have heard
@deionek16 күн бұрын
I truly needed to here this advice! Thank you!
@Steve1879517 күн бұрын
Thanks for the great video. Typo in the video description: you -shuold- approach. => you should approach
@zblanco.543216 күн бұрын
The ufc part of the video was funny lol but max😢. Would try attempting the projects. Lots of great insights in this video.
@weemanling16 күн бұрын
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.
@iLLuzion1st5 күн бұрын
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.
@MEKTINGEZ12 күн бұрын
very informative video thanks man
@ariosetiawan17315 күн бұрын
This Amazing video, subscribed 🤝
@milesaptcher704317 күн бұрын
great video thanks a lot Forrest
@LucasDondo6 күн бұрын
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.)
@Deadlock03217 күн бұрын
Much needed.. Thank you!!!! 🤝
@georios17 күн бұрын
Wow by far best video I've seen on the subject
@adamrushford8 күн бұрын
not seen any others than?
@СергійФлорінський17 күн бұрын
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)
@Whiterqbbit17 күн бұрын
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!
@fknight17 күн бұрын
i've gotta get a new mic that picks up less background noise asap lol
@Varkolak8817 күн бұрын
@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.
@jayveetyronecordova695116 күн бұрын
15:37 Exactly 💯
@joebazooks11 күн бұрын
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🤦♂
@zorro16115 күн бұрын
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 😎
@ZenInTheCode17 күн бұрын
Great video > thank you!
@kopilkaiser899116 күн бұрын
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.
@fiorelverhelst498117 күн бұрын
Nice video! But i always ask myself the question what tech or language i should use? What is your suggestion to decide this?
@LucaCodes-r4f14 күн бұрын
We didn't do it because it was easy! we did it because we thought it was!
@reocifer16 күн бұрын
this video tells me that I'm already doing this right now. But thanks for the additional insights
@notyaniecetv16 күн бұрын
What kind of keyboard is that 😍
@omother94215 күн бұрын
What keyboard?
@Ka0sProductions2515 күн бұрын
Love this video. Also, what is your favorite video game as of right now?
@Brawlstriker8911 күн бұрын
Best advice I’ve heard on KZbin regarding the subject matter yet.
@adamrushford8 күн бұрын
how much did he pay you to say that?
@Brawlstriker898 күн бұрын
@ .. 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.
@adamrushford8 күн бұрын
@@Brawlstriker89 try mine :)
@adamrushford8 күн бұрын
@@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
@judahlionheart106217 күн бұрын
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!
@ChrisUK7012 күн бұрын
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-pv7nn15 күн бұрын
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?
@alexiscomix17 күн бұрын
1) wrestling tournament simulation 2) wrestling tournament simulation 3) wrestling tournament simulation bonus) wrestling tournament simulation
@fknight17 күн бұрын
haha what can i say, i love the wrestling tournament simulation
@Doomw1ngs15 күн бұрын
Is it true that a programmer spend 70-80% reading documentation and the rest 30-20% coding?
@Bob-bl1ey16 күн бұрын
Avg java developer, the language does't matter btw
@TheCodeBerry16 күн бұрын
Are you an istp Forrest
@asagiai496516 күн бұрын
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.
@Repeatedwaif16 күн бұрын
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
@asagiai496516 күн бұрын
@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.
@akioasakura36248 күн бұрын
No it doesn’t come naturally I’ve spent 9 years trying and I still don’t get it
@asagiai49658 күн бұрын
@akioasakura3624 which one? If you want to tell a story then ok.
@HyperRealitySuperFun16 күн бұрын
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
@fraser791011 күн бұрын
Didn't you read any comments?
@akioasakura36248 күн бұрын
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
@huzayfasyed54886 күн бұрын
Read documentation and come up with a simple project id reccomend a card game like he says i did blackjack
@iLLuzion1st5 күн бұрын
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-gi3eu16 күн бұрын
Plz make 5 god final boss level tier projects which will make you realise ahh this is everything used in every domains of programming
@adamrushford8 күн бұрын
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_right12 күн бұрын
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-vu5jo12 күн бұрын
Programming is dead, don't waste your time with it.
@johntimothypascual8548 күн бұрын
If programming is dead then this tech-depended world will not run properly anymore. Even you, commenting here confirms what i say.