What to learn next?
I did beginner course. I've made projects like calculator, tic tac tac (circle and cross), "gambling" and a lot of smaller projects to remember and remind things i learnt for course. And now what should I learn next? I heard about linq, asp net, entity framework core, idk what is that, so please tell me what should I do
78 Replies
if i were you i'd google those and see what they're for
then decide to learn them or not
What are your goals?
1. to get good job and be well paid
2. MAKE GAMES IN UNITY
1. Research companies local to you. Look at job listings. See what technologies they prefer and learn those.
2. Learn ECS pattern and other common design patterns. Create a Unity project and make a game.
I really like programming, i like learning it, i like coding, so I am able to learn basiclly everythin, if it is impossible, i am able to learn most of c#
I always wanted to make games, programs, websites, to be creator of something
do u have those projects on github?
did u use all of what is taught in the fundamentals https://learn.microsoft.com/en-us/shows/csharp-fundamentals-for-absolute-beginners/
OOP, classes, methods, etc
Well the good news is you have a plethora of stuff yet to learn.
If your goal is to get a job, you'll need to specifically see what employers are hiring for. For example, it's almost pointless to learn entity framework core if no company is hiring for it.
its not pointless to learn it not no.
given the options we have Today its smart to know efc and something else
the company may not be hiring for it specifically(as in actively advertising it) does not mean they dont use it or want to grab some one with knowledge on it
almost pointless
i dont use github but in my projects i used basic oop, classes and methods (made by me and form c#)
You should definitely learn git and push your code to github or equivalent. That's pretty much required for any development job these days.
well I would suggest u upload it to github that would help people assess your knowledge to give u a better idea of what u could learn or improve or u're lacking
and also learn how to use github if u havent
its the major life saving in developer's world
alright, and should I do some intermediate/advanced c# course?
I mean I dont know your level of c# but assuming u did learn the basics very well try making a bigger project in console like a text rpg or something harder
project which write and read text in .txt?
It would be easier to recommend you next steps if we could review the code you've written so far
hehe no, its a RPG game in console
its usually called text rpg
but you can actually do it pretty fancy if u try
GitHub
dotnet-console-games/Projects/Role Playing Game at main · dotnet/do...
Game examples implemented as .NET console applications primarily for providing education and inspiration. :) - dotnet/dotnet-console-games
that is just to give u an example and idea
since you're into games
u can align your learning to it 😉
by making a game in console
okay ill try
There's hardly a shortage of jobs in ASP.NET
I'd recommend taking a course in it. There's a lot to unpack.
Here's a good repo to learn from:
https://github.com/EdwinVW/pitstop/tree/main
GitHub
GitHub - EdwinVW/pitstop: This repo contains a sample application b...
This repo contains a sample application based on a Garage Management System for Pitstop - a fictitious garage. The primary goal of this sample is to demonstrate several software-architecture concep...
Here's a good website to learn design patterns for video games btw:
https://gameprogrammingpatterns.com/contents.html
https://roadmap.sh/aspnet-core
someone sent me this
roadmap.sh
Learn to become a modern ASP.NET core developer
Community driven, articles, resources, guides, interview questions, quizzes for asp.net core development. Learn to become a modern ASP.NET core developer by following the steps, skills, resources and guides listed in this roadmap.
is it good?
roadmap.sh
Game Developer Roadmap
Learn what game development is, what game developers do and how to become one using our community-driven roadmap.
@leowest @November is this roadmap good?
asp.net
This is good; I have some differing opinions on what is a learning priority and what is marked optional, however.
i do not understand .NET in basics of c# because this point describes only what is .net so it makes me to know what is dot net am I right?
Because all of this is scoped to asp.net according to the document
i know that it is scoped to asp net
but i dont understand why there is point .NET
does it mean something important or it just says what is dot net
.NET is the platform C# runs on
$terms
* C# = the programming language
* .NET = a platform/ecosystem for various programming languages, including C#, VB.NET, F#. it includes the BCL, the JIT, the GC, and the CLR (see $dotnetplatform)
* BCL = base class library = the core libraries that are used for .NET development (System.DateTime, System.Action, etc.)
* JIT = Just-In-Time compiler = translates code from IL to asm at execution time
* IL = Intermediate Language = the intermediate bytecode that C#, VB.NET, etc. are compiled to, so that they can be run by the runtime
* GC = Garbage Collector = releases any memory previously allocated and no longer being referenced
* CLR = Common Language Runtime = includes the JIT, GC, and everything else necessary to run .NET applications
* ASP.NET = a framework for .NET that allows developers to write web applications
* WPF = a framework for .NET that allows developers to write windows applications
* EFC = Entity Framework Core = a object-database mapper for .NET supporting LINQ queries, change tracking, updates, and schema migrations.
* STJ = System.Text.Json = the built-in library for working with JSON (see $stj)
this is well structured but for beginners I think its too overwhelming specially without knowing your level, I would say do what we already suggested u earlier and see how well u do at it before considering upping the hurdle.
learning web dev with no knowledge on the field has a LOT of things to learn and I mean it. and u can see from that roadmap alone the amount of things that even comes before going into asp.net
the one for game dev is even more vague
ofc you need to know a math and physics but as a beginner u dont necessarily do
because the engines do a lot of that work for u already
but as u dive deeper into the field yes u would want to know those
and game dev has another layer of complexity because u said you want to be well paid, if u want to get into a triple a studio, u be ready to learn c++ mainly
so jumping ahead the cart will get the horses stepping on you
from personal experience building a web app is certainly a good way to learn a lot, depending on how you go about it.
personally my second project was building a basic reading list app, and its an absolute mess but i learned a ton.
It depends on what knowledge you're going into it.
asp.net is very overwhelming it self it already throws you into dependency injection, builder, lifecycle, and a bunch of more complex things
you can brute force your way into anything if u have enough time for it
but if u gradually go for it, u wont be as lost and brute forcing
it depends on your learning style, Having a system that would do something tangible from the get-go helped me a lot, but thats not going to be the case for everyone.
it really doesn't, not knowing the fundamentals and going into asp.net will literally cost you more time than learning the fundamentals and then moving into it.
But then again that is just an example because we literally do not know how much he knows other than he did a a few small projects.
not to mention u would be more researching everything then actually doing anything and moving forward
and that is what we see the most around
good examples are, "I started learning unity, couldn't do anything so now im learning c# first" which is one of the cases we see a lot around here.
Dotnet isn't the only platform c# runs on. For example, if you went the unity route you would learn Mono and C#.
But for aspnet, your platform is dotnet.
I’ve done all projects (excepy snake) from this chanel (of course I watched only intro to see how the project works and do it by myself)
YouTube
The Coders Cat
Hello, and welcome to The Coders Cat! On this channel, you'll find a variety of Unity and C# tutorials, in the form of mini-tutorials, series and shorts! Feel free to take a browse through the videos.
Thank you for visiting this channel!
Should I watch intermediate course?
for example form code monkey?
and I did notepad
thats all
@November @leowest should I watch intermediate, advanced course from code monkey?
I think you should do what we already suggested u at the begin.
It's still rather difficult to give recommendations on specific next steps when you haven't provided us code to review. We need to see the code you've written.
okay ill send some
but comments and strings values are in polish
send something u actually use oop etc
that is way too basic to suggest u going into advanced topics
alright
wait i have to find it
preferable use github u will have to learn it(git) either way 😉
Even if you don't intend to ever publish your code publicly, using git and a local repository is good practice. If you screw something up, you don't have to worry and you can just reset your changes to when your code once worked.
it is basic
but it is only oop i found
I had one more but i cant find it
i need to make one folder with c# projects
I will go back to what we suggested u to do earlier
these are all too simple
it doesnt show much of ur knowledge in oop at all
a more complex project would show u how u solve problems, use oop to your advantage, and formulate your classes
All this appears to do is join a string array (which you can do with String.Join() by the way).
👍
Pick one of the sample projects that we suggested and focus on building that before going into advanced concepts
okay im done
im done
i think thats it
im too dumb for this shit
I mean we are here trying to help you, u dont need to diminish your self...
do you think that is too hard? where you're having difficult with it
and we go from there
yea
i think it is way to hard for me
so we go and pick an easier project let's see
have u tried doing a bank or ATM?
I looked at the first project "2048" and at the first look I knew that I can't do it, so I went to look at the code and I said "wtf is this shit"
should I just put it in chatgpt so he can describe be it or not
i should try by myself
to understand it
ok how about one of these https://github.com/karan/Projects#classes
Bank Account Manager - Create a class called Account which will be an abstract class for three other classes called CheckingAccount, SavingsAccount and BusinessAccount. Manage credits and debits from these accounts through an ATM style program.
okay I think I can do it
i think it is okay
idk what other functions add
if I translated something wrong and it hurts the eyes im sorry
english isnt my first language
This journey is a marathon, not something that you just learn in a week.
If you can comprehend basic boolean algebra, you can learn to code
You have this base class called
Account
that is meant to be the blueprint for all of your subclasses.
And you have a few subclasses, but it looks like the logic is all pretty much the same, no? So what is the purpose?
Why not:
Account businessAccount = new Account()
Account checkingAccount = new Account()
?
If you anticipate the logic to differ, then you can have this abstract/subclass relationship. But you would need Deposit
to be abstract and be on the abstract class.
Refer to these concepts:
Abstract classes
Interfaces
Polymorphism
that's why
i know that it can be solved somehow but on my level i have no idei how to do it
so i tried to set it like this

and it worked
so i left it
so i should add deposit method to abstract account?
what is the polymorphism?
and I know interfaces but I don't find it useful to add
This wouldn't work because Account is abstract and because Account is a less specific type than the declared type.
You can do:
Account checkingAccount = new CheckingAccount();
This is an example of polymorphism.
This depends. I didn't read the project requirements.
But if the logic for a CheckingAccount and a SavingAccount are exactly the same, then there's no need to use an abstract method.
Abstract methods are useful when you want all your subclasses to do a certain function, but the details and behavior differs depending on the subclass.
@November already covered some of the stuff I would say
abstract is like a blueprint here
u would have add things that would be in common between all the 3 classes like methods withdraw, deposit, properties etc
I would have expected u to not use static for the classes at all the use of static shows me that ur still unsure how to instantiate and use classes
but sadly the project description was pretty vague and unless u know how to use what was told in it I wouldn't expect u to do that
on top of that, I would have expected a class called perhaps Person or Client who could own accounts and perform operations a List of clients a class for Bank but then again it wasn't list on the description so u just did what was written
you do seem to know the basics of the basics I would say keep polishing it some more in console apps try doing some more $projects from these sites and see where ur falling short before u move on to asp.net
Collections of application ideas that anyone can solve in any programming language to improve coding skills:
https://github.com/dotnet/dotnet-console-games
https://github.com/karan/Projects
https://github.com/florinpop17/app-ideas
you dont need to watch these videos but you can use the titles of each chapter as guidance on what to learn/review althou u already know some of the topics https://learn.microsoft.com/en-us/shows/csharp-fundamentals-for-absolute-beginners/ and polish for now
on top of that as u go in start learning about the basics of $di
Dependency injection is really just a pretentious way to say 'taking an argument'
See: http://blog.ploeh.dk/2017/01/27/dependency-injection-is-passing-an-argument/
Dependency injection is passing an argument
Is dependency injection really just passing an argument? A brief review.
the next step from this really is practicing a lot and getting more comfortable with using all of that in projects
and then start learning some concepts and patterns as u move into more specific stacks
I am following this path and I am at the stage of asynchronous programming and I have been trying to understand and learn it for 2 days, but I am not able to find any video on youtube that explains it well, could you explain asynchronous programming to me? When and why is it used, how to use it
I understand that it is used to do few methods at the same time
and why is it used working with apis?
GitHub
GitHub - gridlocdev/csharp-learning-roadmap: A beginner's roadmap o...
A beginner's roadmap of concepts to learn the C# programming language - gridlocdev/csharp-learning-roadmap
Asynchronous programming is a core feature of programming in general.
Let's say we want to call some web-based service to fetch some data, for example, weather data via some public weather api.
We might do something like:
var weatherData = GetWeatherData()
But the problem here is that GetWeatherData()
takes some unknown time to execute. It doesn't instantly provide us with information of the weather. So we want our code to pause here and allow our program to go do other stuff and only once we get a result back to resume execution.
So instead of returning some weather data, our code returns a Task
of weather data. Task
in C# represents some work to be done. And we can call and await this work to be done using certain keywords.
async
this keyword is used to mark functions and tell the compiler that this function can perform work asynchronously. This should pretty much always be used with a return type of Task
or Task<T>
. E.g., public async Task<GetWeatherDto> GetWeatherData()
await
is the keyword that "waits" for the Task to finish before moving on. E.g., var weatherData = await GetWeatherData()
this wait for a response before storing the result in weatherData.