C# Intermediate
Classes, Interfaces and OOP
Below are the top discussions from Reddit that mention this online Udemy course.
An in-depth, step-by-step guide to classes, interfaces and object-oriented programming (OOP) with C#
Reddemy may receive an affiliate commission if you enroll in a paid course after using these buttons to visit Udemy. Thank you for using these buttons to support Reddemy.
Taught by
Mosh Hamedani
Reddit Posts and Comments
0 posts • 10 mentions • top 9 shown below
1 points • Badgerdox
These are code specific courses, not Unity centered. I'm self-taught and couldn't recommend these 2 classes more [grab them during a udemy special].
C# Intermediate: Classes, Interfaces and OOP
C# Developers: Learn the Art of Writing Clean Code
​
If you have general questions feel free to hit me up, Discord Badgerdox#1433
1 points • gretro450
A lot of people already gave you very good answers regarding filling in the role of a senior developer. Here is what I have to say regarding this sentence:
>I was doing Pluralsight but the monthly sub is too much for me.
Either ask your employer to cover this fee for you or look for a good tutorial on Udemy. Small tip for Udemy: if you are paying more than 15-20$ for a course, look for coupons. Courses are usually very cheap on that platform and if they aren't, there's a problem.
For example, this course seems very good: https://www.udemy.com/course/csharp-intermediate-classes-interfaces-and-oop/. There's also a beginner course.
1 points • BARDLER
I would recommend these two resources for learning about OOP and more advanced C# features:
https://www.udemy.com/course/csharp-tutorial-for-beginners/ (You might know parts of this already)
https://www.udemy.com/course/csharp-intermediate-classes-interfaces-and-oop/
They are paid for tutorials, but it should give you a general understanding of OOP and the features used in C# for those concepts.
2 points • ppardee
Udemy has a couple of inexpensive courses, and I've been happy with everything I've purchased from them.
https://www.udemy.com/csharp-tutorial-for-beginners/
https://www.udemy.com/course/csharp-intermediate-classes-interfaces-and-oop/
​
That said, knowing when to break your code out into a class is a not a hard science. It takes a lot of experience and even then it's an iterative process.
I'll start breaking the code out into what I think is the logical way to organize it, but sometimes classes will get cumbersome or difficult to test and I'll break parts of those out into other classes.
Essentially, you want to a class to have one responsibility (System.Console does one thing - manages console input and output) and it has to be something that is not trivial (you're not going to create a class that only does for loops).
Ideally, the code will be reusable, but that's more of a class design thing than deciding when to make a class.
1 points • StrikingLifeguard
I've learned quite OOP in C#, from these courses:
https://www.udemy.com/course/csharp-tutorial-for-beginners/ (100%)
https://www.udemy.com/course/csharp-intermediate-classes-interfaces-and-oop/ (43%)
Is that enough?
1 points • SaeedPrez_
If you're looking to learn C# in general and in depth, non-gaming related that is, then I recommend Mosh's tutorials on Udemy, these are the ones I started with and can recommend them.
- C# Basics for Beginners: Learn C# Fundamentals by Coding
- C# Intermediate: Classes, Interfaces and OOP
- C# Advanced Topics: Prepare for Technical Interviews
Disclaimer: I've been a developer for many years, I used these to learn and switch to C#. But they are simple enough and he is a great teacher so you can start from scratch.
If you're however looking to learn C# just for game development and not more, then I can recommend one of below courses depending on the type of game you'd like to make. I have taken other courses from these teachers.
- Complete C# Unity Developer 2D: Learn to Code Making Games
- Complete C# Unity Developer 3D: Learn to Code Making Games
The courses on Udemy usually cost around $10 each and there is previews and reviews you can check out before deciding.
1 points • Zlashmine
I started with programming in 2012 making browser games.
I learned a lot via TheNewBoston back in the days.
Then I took this course (quite outdated, great tutor)
Then I went on with this
But as I said, this was 7+ years ago.
The .NET Community is better coders than your average Unity-tutorial maker.
If you're serious about becoming a better C#-programmer, leave the Unity-sphere for a while, it'll do you good. Here are a few videos/channels I personally like:
Lee Jackssons Excellent Microservices Video - Seriously, do this one.
Tim Corey - Top 5 C# dude out there
Nick Chapsas - Great dude, might find some good videos here
Here are some good YouTube-channels about coding in C# in the Unity-sphere :D
Infallible Code
Jason Weimann - 3D College
Dapper Dino
1 points • Sublingual_byte
Ja sam pocetkom godine poceo sa ucenjem C#.
Prvo sto sam ispratio je YT kanal "Brackeys", odlican start za ljude koji se tek upoznaju sa C#.
Nakon toga sam presao na knjige i druge video tutorijale.
Od knjiga za pocetnike bih preporucio:
http://www.csharpcourse.com/ (besplatna je), C# in a nutshell i C# Players Guide.
Od YT video materijala:
Kao sto je neko vec napisao Bob Tabor, Michael Reeves, Tim Corey.
Kupio sam i nekoliko kurseva na Udemy.
https://www.udemy.com/course/csharp-tutorial-for-beginners/
https://www.udemy.com/course/csharp-intermediate-classes-interfaces-and-oop/
(Trenutno su na snizenju, pa mozes baciti pogled)
Od ostalih platformi gde se placa pretplata preporucio bih https://www.pluralsight.com/paths/c-coding-practices i
1 points • CodeTamarin
You always want processing. You may or may not need graphics. I saw you say you liked fighting games. You'll need a decent rig with some capable graphics.
You wanna dev?
First, yes you need a machine, a decent one. Do you want to build it? Yes , but if not then check these out. I suggest getting a workstations because they're built for productivity. However, they're expensive.
Also, I'm not sure you should commit to a desktop. Two words: Game Jams. You might want to take part in communities involved in game making games. For inspiration, mentorship and just overall fun. If you're not familiar, games jams are when developer enthusiasts get together and build a game over a period of time. The games tend to be simple and set around a theme for the event.
In which case, look at some cool laptops. The reason I suggest getting a gaming laptop is that it will have the graphic card you need, it doesn't need to be high end, just good enough to not be a toaster. Also gaming laptops tend to be more powerful.
So from a dev point of view, they're pretty solid. Personally, I prefer workstations. If you asked me, I would get a workstation with a video card, but those are very expensive and maybe when you master your craft you can drop some real cash on it. You're new. So don't spend too much, in case the entire thing doesn't jive with you. Worst case you get a decent gaming laptop to play MK at the coffee shop. (Don't laugh, I used to play Street Fighter at a coffee shop, it's a nice vibe!)
Also, I would also check out Meetup.com. Your city or area might have groups dedicated to building games and maybe you can learn with another person. From a professional point of view, there's a lot of value in learning to work with others.
So you got your hardware, now for software.
You will likely want to start building stuff. But you're going to need some baseline stuff.
So, I say go with Unity, long term. However you need to get to a place to understand unity. So... you're going to need to learn some coding. To at LEAST be comfortable with code. I say learn the basic and intermediate stuff first then jump into Unity. If you're feeling bold you could also do the advanced.
You will need only Visual Studio and make sure during the install you ask to include Unity.
Finally, you should read Clean Code. Write good clean code. Future you will thank you.
Now, you gotta be productive.
Set up time to do what you want to do. One or two hour blocks. Commit to them. Log that time. Also, get open office, or some other equivalent and start organizing your workflow. as a develop you need purpose in your tasks. So outline your tasks. Develop you "method" for working. Maybe you like self imposed crunch where you just throw on music and go. Maybe you prefer small bursts of productivity. Whatever it is, figure it out.
Journal your work. Go back and read it occasionally. Take non-digital notes on important stuff you learn. Writing helps with retention. You have two processes you need to flesh out.
- Your development process. How something gets built, tested and delivered.
- Your Creative process. How you come up with a game idea and flesh out if it's good.
You're going to need to get a good sense of how to build a proof of concept. This will help you "feel out" your game's mechanics.
Over time, you will need to explore more advanced idea in computer science like data structures and design patterns... but for now, focus on getting comfortable with code, debugging. Hell, even make a console app text adventure game. Start there. Then get more complexity. The idea here, is to take your time, be diligent and stick to it. Slow isn't bad, not completing is bad. So take your time and good luck!