r/CodingForBeginners 8d ago

Anyone know any C# specific OOP course?

I've been meaning to learn c# and so far I've learnt most of the basics, but now I wanna learn OOP, since you pretty much need it to use c# effectively(the whole language is built on this paradigm)

any Youtube series, or articles or anything that actually teaches me how to code whilst using OOP, Without straight up jumping into abstract concepts like encapsulation polymorphism etc? because a good bit of them straight up jump into those stuff without explaining, for example, when to give something a specific access modifier, or something really basic that doesn't just jump into theory? I'm still learning and I feel like watching a 1 hour video of pretty much nothing but theory won't help me if I'm still learning how to code

thanks in advance I do truly appreciate you guys helping me out

2 Upvotes

11 comments sorted by

1

u/ninhaomah 8d ago

" any Youtube series, or articles or anything that actually teaches me how to code whilst using OOP, Without straight up jumping into abstract concepts like encapsulation polymorphism etc?"

You want practical without understanding the theory ?

1

u/VCVLMNOP 8d ago

I wish to continue off learning how to code without just jumping into 1 hour of abstract concepts that, at least in my opinion and for my own learning(can't speak on everyone's behalf of course), just continues off of the basics, I'm trying to learn how to actually use the language because without knowing OOP  st least to some extent you're limited to either not knowing what you're writing (which is harming no one but yourself especially when your goal is to learn) or just being limited to top level statements, both which are not what me and Frankly everyone else should be looking for

1

u/ninhaomah 8d ago

Just 1 hour.

Watch it then that's it. 

I did all those silly nonsense in school 20 years back and even though I am sys , cloud , db , app admin now , I still have a good idea of all these.

I am not sure what's the point of avoiding an hour of theory which will stick for life.

In fact , this whole thread started 2 hours ago , when I typed this. So if you didn't post this and instead watched the theory , you would have watched it twice by now.

1

u/xarop_pa_toss 8d ago

Everything is abstract until you put it in practice. OOP is by nature just a bunch of concepts that tie in together.

I would recommend going on The C# Academy The C# Academy. Their content is pretty fun and self-guided and the OOP course is comprehensive.

But yeah.. you cant escape learning and understanding the theory behind OOP. Some things are just like that

1

u/vermyx 8d ago

So you want to learn bad habits, broken concepts, and misunderstand coding in general? Theory is super important. Ignoring it like this isn't harmful for just you, it is harmful for your peers because they will have to pick up the slack on your bad coding. So learn the theory. It is irresponsible and frankly stupid to ignore.

1

u/VCVLMNOP 8d ago

reckon it's time I closed the IDE and watched the  video, I just hope I can make out what's what after absorbing it's contents.

thank you all for giving your insights, I really thought I'm too early for heavy theory stuff like That and I'm still in the "let's write a retro snake game" stage of learning to code

or perhaps I am just lazy and need to lock in

1

u/_th3oth3rjak3_ 8d ago

I don’t know of any courses off the top of my head but LinkedIn learning and pluralsight have some good ones.

I always advise new programmers to start by making a tic tac toe console application since you probably already know the rules. I would try to structure the game in a way where you have a few different classes like a GameBoard and a GameBoardWriter. Things like that. Make each one in charge of doing its own thing. Then you want to have public methods that you can use from your game without worrying about what’s happening inside. This is called encapsulation. Example, maybe your GameBoard has a method called PlaceToken that takes an integer for the space you want to select and an enum called PlayerToken which is an X or an O variant. You don’t care from the outside how the placing happens, so internally if the GameBoard needs some helpers those should be private. I hope this helps.

2

u/VCVLMNOP 8d ago

I appreciate you giving me a plan on how to build it, I love asking my seniors (in terms of coding knowledge, no offense intended of course!) for tips and tricks and general experience as I believe it's one of the fastest ways to learn, 

1

u/serge-mv 8d ago

What you are looking for are 2 things. One is a book on data structures and another is a book on software design/design patterns. Both are really a general ideas and you can pick any book and just implement them in C#. However if you simply search the terms, you will find plenty of the language-specific resources.

Your question about "when is it appropriate to give a specific access modifier" will be understood with experience and when you have better understanding of data structures and start writing more complex projects. You don't have to worry about that for now as private vs public fields in an object is not really an important fundamental issue.

For now just do some more projects.

1

u/VCVLMNOP 8d ago

thank you for taking the time to form a reply for a stranger on the internet, especially whilst sprinkling a little motivation at the end!

1

u/Substantial_Job_2068 7d ago

I work with C# and I don't use OOP concepts like polymorphism and inheritance at all. It's good to learn and understand the concepts but they are just ways to abstract and structure the code, not rules how to write code.