C# Tutorial for Beginners #38 - Final Coding Challenge Solution!

Поделиться
HTML-код
  • Опубликовано: 31 май 2024
  • Going over a solution to the final coding challenge of the series, diving into certain aspects of the code, design, and practices, and dropping hints I think could be helpful to any new software developers.
    I apologize for the length, but I wanted to include as much as possible!
    If you have any questions, please feel free to leave a comment!
    Chapters:
    0:00 Intro
    0:33 Derived Requirements and Setup
    2:38 Help and Invalid Input
    3:32 Adding Employees
    13:51 Removing Employees
    15:13 Loading Employees
    20:04 Viewing Employees
    22:36 Paging Employees
    24:08 Remaining Requirements
    24:57 Next Up!
  • НаукаНаука

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

  • @MethodOverRide
    @MethodOverRide Год назад +4

    Looking forward to the next series! I skipped to end so I wouldn't see the process for creating the entire solution. I've actually been recommending this challenge video to folks on c# reddit that are looking for a project idea that includes abstract classes or interfaces etc. Hopefully that's driving a bit more viewership your way!
    Also do you have a github repo for all your code here? That could be another great way to drive engagement if that's something you're interested in doing.

    • @KampaPlays
      @KampaPlays  Год назад +3

      I saw that I was getting traffic from reddit, and wondered what the deal was! Thank you so much for recommending it, it's very helpful and I really appreciate it.
      I don't have a repository for this beginner series. It was a tough decision but I really felt like it would be more beneficial learning and retention-wise to keep the copy/paste lifeline away for the fundamentals. In my experience most junior level programmers can implement a chunk of code given to them and meet a requirement, but only a subset of those can explain how/why it works (and it's impact on the system as a whole), and even fewer of those will remember what they've done when the bugs come rolling in. 🤣 I just want to try to give everyone a good foundation even if that means more work or questions for me.
      I will definitely be using repositories throughout other series, especially if the videos build on each other. Again, thank you so much for your support.

  • @harryclarke1935
    @harryclarke1935 Год назад +1

    I'm a beginner in c# and this is best video series I've watched on RUclips. You made it much easier to see how the different concepts link together. Can you do a video on your design/thought process at the start of a project? I understand what it's doing but find it difficult to know where to start and why? Would you recommend a plan/setting it out a bit in comments?

    • @KampaPlays
      @KampaPlays  Год назад +1

      I really appreciate that! Very happy it has been helpful!
      The design/thought process at the start of a project is a great idea!!! I have another series I'm working on now that is another fundamentals series (on the UI framework WPF), but after that I think I'll doing more project-based series to teach additional, more advanced, concepts. I will definitely be sure to include design portions to those, and hopefully have some stand-alone design/getting started type videos as well.
      For now here is the advice I have for getting started on a project:
      (EVEN IF YOU DON'T READ ANY OF THIS, BE SURE TO READ #5 !!!)
      1. Know your project as well as you can. Its near impossible to be sure of every detail up front, but try to think through all the possibilities. Make drawings, flowcharts, whatever will help you visualize how it will work, and about how your users will use it.
      2. Break your project into smaller pieces. Any size project can be overwhelming for a beginner, but it is way less overwhelming to implement a lot of small pieces than to tackle one huge one. That being said, breaking down any project can be beneficial to ANY developer because it also helps you think through what is required before you start implementation!
      3. Make a plan, even if its just in your head for now. What order do you need to complete these pieces? If you have things you aren't sure about, prioritize parts you know might help figure it out.
      4. Get into the finer details that will impact your system BEFORE you implement. What kinds of models do you need, and how will they be structured? Inheritance? Abstraction? How can we best design our code to make our life easier throughout the project? For this, watching this video ruclips.net/video/1mbdQeQ2G0o/видео.html between 42 seconds and 7 minutes might help give you a better understanding.
      5. Get your feet wet. Jump in. Fingers on keyboard and write code. This is the most important thing for a beginner, period. You can read and try to design all day, but until you get some real experience (and make some real errors!), it's going to be a bit fuzzy. You will make poor choices, and have to undo, refactor, rewrite. Everyone does, it's part of it. This is how you learn to design better, and fine tune the way you write code. Enjoy the journey!
      I hope this is helpful to you!!

  • @milentiusgaming
    @milentiusgaming 11 месяцев назад

    hey Kampa, could you do a new video showcasing some of the more "newbie friendly" settings for visual studio because some of the best ones are a bit hard to find, one that comes to mind for me that made a world of difference is in the tools > options > text editor > all languages > scroll bars > change "source overview" to narrow, normal or wide, which will give the larger scroll bar that shows the document instead of a standard scroll bar, this is HUGE for a newbie programmer and also I assume many don't know they can split the text editor in half to help work on larger documents without scrolling all the way to the top and then back to the bottom.
    i found them because I'm a bit of a nutcase and I'm willing to click buttons and move things and figure out how to fix it later haha, but I can see the split editor and source overview being huge for newbies such as myself.

    • @KampaPlays
      @KampaPlays  11 месяцев назад +1

      I actually have a short that shows how to get the source scrollbar! I will add "make more of these" to my todo list. Thank you!

  • @joshi1q2w3e
    @joshi1q2w3e Год назад +2

    Will you be doing tutorials on the frameworks used with C# such as .NET Core, ASP, etc.?
    Now that this series is finished.

    • @KampaPlays
      @KampaPlays  Год назад +2

      Yes for sure! I'm doing WPF (Windows UI framework) next, but I will be doing an ASP.NET series, as well as diving into deeper .NET Core topics like cross platform development. I plan on covering many other frameworks as well that work well alongside the major frameworks (for instance Entity Framework and Dapper). If you have any other suggestions, please let me know!

    • @joshi1q2w3e
      @joshi1q2w3e Год назад +2

      @@KampaPlays a short series explaining the difference between these frameworks and what they’re best used for as well would be amazing too!
      .NET, .NET CORE, ASP.NET, my brain is already confused as to what the difference is between these lol not to mention the versions of each one. It’s enough to make a beginner cry 🤣

    • @KampaPlays
      @KampaPlays  Год назад +1

      ​ @joshi1q2w3e That is a great idea, I will have to think on how to do this.
      The frameworks can be confusing, especially with how Microsoft has handled their releases. Maybe I can help your brain a little bit for now 🤣 This definitely is a tiny piece of the whole puzzle with a little creative license, but it might help how you think of them.
      Years ago, we only had ".NET Framework", which was just for Windows, and partially open source.
      Then "Mono" came around that was a cross platform, open source/community implementation of many .NET Framework pieces (It was so awesome running my windows application on Linux so easily!!)
      Then, Microsoft stepped up and started developing ".NET Core" (which was developed alongside .NET Framework, and mostly compatible with it), to serve as a full up cross platform and open source implementation of .NET
      Then they said "OK .NET Core is good enough, so no more ".NET Framework" OR ".NET Core", now it's just ".NET 5/6/etc" !"
      And here we are :)
      So basically, you use .NET now if you are creating an application for Windows/Mac/Linux.
      Aaaaand ASP.NET is just the part of .NET that deals with web applications.
      Again, super simplified, but hopefully that helps a little!

    • @joshi1q2w3e
      @joshi1q2w3e Год назад +2

      @@KampaPlays thank you so much! That definitely helps me consolidate what I need to learn. So for what I want to do I definitely need to learn .NET and ASP.NET

    • @KampaPlays
      @KampaPlays  Год назад +2

      ​@@joshi1q2w3e Happy to help! It also might help to mention that the beginner series was a .NET 6 application. Every method that I used (that I didn't create myself) was from a .NET class. (Console, Math, Exception, List, File, Directory, etc, etc) C# gives you the language and syntax, .NET gives you the features! So if you finished this series, you are already well on your way to learning .NET!

  • @farazk9729
    @farazk9729 Год назад +1

    Hi Kampa,
    I haven't finished the series yet, but a couple of points:
    1) You are a GREAT teacher; I can feel both your passion for the subject and your patience while teaching. I am studying with your videos and trying to change my life (and my wife's, for that matter) for the better (i.e., career change, more money, etc etc), so thank you very much :-)
    2) I didn't know you were a grandpa; you sound very young; maybe do a tutorial on that, too :-D
    3) Perhaps it would be a good idea to activate the join option on your RUclips account, so there's a way for people to appreciate your efforts with a small monthly payment if they wish to. Or perhaps create a course on Udemy... I mean, we have tons of bad teachers monetizing their lessons, so why not good ones like you... . Just a thought.
    Alright, time for me to get back to your early videos; thanks a lot again and know that you're changing lives thousands of miles away in the land down under :-D.
    Cheers,
    Faraz

    • @KampaPlays
      @KampaPlays  Год назад

      Thank you for this, I can't tell you how much it means to me!!! So happy that these videos are helpful and I hope they continue to be!
      I am a young Grandpa, and I'm hoping one day my grandkids might enjoy programming too!
      I will look into the join function, thank you for the suggestion. I want these videos accessible to all but it would be amazing to be able to make a living doing it!
      Again, thank you so much for this nice comment. I wish you and your family all the best, and if you ever have any questions or suggestions don't hesitate to ask!

    • @farazk9729
      @farazk9729 Год назад +1

      @@KampaPlays cheers :-))

    • @farazk9729
      @farazk9729 Год назад +1

      @@KampaPlays P.S. I just heard you say something about video games (saying "the game developer used an int, hence the upper limit, etc etc); got me thinking: do you also do game development... Perhaps Unity? If yes, a (paid) course on that would be great. Personally, what keeps me motivated is the aspiration is to create... esp. video games.. it's where the heart and the mind join forces!

    • @KampaPlays
      @KampaPlays  Год назад

      I just realized this reply was flagged as "potential spam" so it didn't show up in my list. Sorry about that, not sure why that happened.
      I dabble in video game development, mainly because I'm a terrible artist! 🤣 I have done a lot of monogame/XNA and a decent amount of Unity2D, and one time created [a large portion of] my own 2D game engine, but as far as making a finished product goes I usually get stuck when it comes time to create assets! I'm working on a project (very slowly, because time) now in Unity 2D that I'm hopeful about because I'm using paid assets.
      I definitely want to do a Unity series. I think creating a series like that will help me get back into it and sharpen my skills as well, since it's not something I do everyday. Thanks for the suggestion!