Yeah, edX has got a lot of free C# stuff on there, nearly all is courtesy of Microsoft. - This will give you a lot to work with for now. The nice thing about these are that they're self-paced, so you aren't going to be tied down to deadlines, and free, so you're not going to be getting into even more student debt (unless you want to pay for the certificates, in which case they're still not that expensive, although I am not personally 100% convinced that certificates are really necessary - it is always possible to demonstrate your technical ability in other ways.).
If you haven't already, the first thing I would do, is download and install some tools on your computer:
- Visual Studio 2017 Community Edition (Same as professional edition, but with a free licence for home users, students, lone programmers, etc)
https://www.visualstudio.com/downloads/- SQL Server Developer Edition (Same as the standard edition, but free for developers)
https://www.microsoft.com/en-gb/sql-server/sql-server-downloads Make sure you install the "management studio" as well as SQL server itself - it's a separate download - lots of Microsoft tutorials tend to use SQL server for various things. In particular, C# courses often use tools which allow you to read and write data to/from SQL server, using C# code, (and without actually writing any actual SQL either, although knowing SQL is also handy.).
Microsoft seem to have invested a huge amount of money into their edX courses, including some courses for C#, .NET and other related stuff. I haven't personally enrolled on any of these (I already work with C# and .NET anyway) but I use a lot of Microsoft's online resources for C# and .NET (MSDN, Channel 9, etc), so I would be very surprised if they were anything less than high quality.
Some of them may be more or less accessible than others though - I would make sure you're good with the prerequisites before you start any of them. This is probably the order I'd look at them in:
Firstly, make sure you know how to use the Visual Studio debugger (The reason I mention this is that universities are terrible at teaching this - possibly one of the most basic skills when it comes to programming, yet people routinely graduate with a CS degree from University having no idea what a debugger is or how to troubleshoot broken code...)
-
https://docs.microsoft.com/en-gb/visualstudio/ide/getting-started-with-debugging-in-visual-studioOO Programming in C# course (Seems like an intermediate C# course - there's a basic course too, but it sounds like you already know the basics):
https://www.edx.org/course/object-oriented-programming-c-microsoft-dev204-2x-0Data Access in C#:
https://www.edx.org/course/data-access-c-net-core-microsoft-dev258x(This teaches some really important aspects of C# - particularly LINQ and lambdas, which will blow your mind - in a good way - if you've never used those before...)
Asynchronous Programming in C#:
https://www.edx.org/course/asynchronous-programming-c-net-core-microsoft-dev235x(Pretty much essential in the modern world. Nearly any C# project these days involves multi-threading and asynchrony)
C# Data Structures and Algorithms - Classic technical job interview knowledge:
https://www.edx.org/course/algorithms-data-structures-c-microsoft-dev204-3x-0SQL Server. Not directly related to C#, but C# is the language of choice for a lot of companies who build large-scale database-driven systems. These days it's hard to become a programmer without getting involved in some database stuff:
https://www.edx.org/course/querying-data-transact-sql-microsoft-dat201x-0 Server-side Web API programming using C# and ASP.NET Core:
https://www.edx.org/course/build-web-apis-using-asp-net-microsoft-dev247x-0(Note: ASP.NET is no longer just for people who want to create websites - the technologies which are used for running web servers are increasingly being used for other things like mobile apps, business systems, cloud-based services, etc.)
More advanced C# course using ASP.NET Core:
https://www.edx.org/course/program-a-server-side-application-using-aspnet-core(There's a more web stuff involved in this, but realistically speaking you can't really escape some exposure to web technologies these days.. If you reach this point, you're doing well)
This one looks interesting - a non-programming course about problem solving and logical thinking. I have a feeling it might have examples in Python because it seems to be related to their Python course. To be honest, if you can understand C#, Python isn't a stretch, and the programming language isn't as important as the critical-thinking mindset of how to solve problems:
https://www.edx.org/course/logic-computational-thinking-microsoft-dev262x-1Lastly, this one - it's a bit of an "odd one out", but since you mentioned that you'd used github, here's Microsoft's "Writing Professional Code" course.
https://www.edx.org/course/writing-professional-code-microsoft-dev275x-1This course actually looks (to me) like perhaps the most important one of the whole lot. Looking at its content, it's the kind of stuff which makes most students think "Huh? so what? who cares? Zzzz - boring!" because it seems to cover all the stuff which Universities never teach you, and you won't truly appreciate until you're actually in a job writing code. Then again, it's all stuff that employers really, really care about. It includes git, but also stuff like code reviews, unit testing, coding standards, etc. Maybe more of a "how to be a programmer" course than "how to program".
Also, if ASP.NET isn't your thing, and you'd prefer to use C# to write an app for an Android or Apple device, have a look at Xamarin for writing mobile apps:
https://university.xamarin.comFinally, if you get through all of that, then you're in a good position, but then there's all the rest...
https://www.edx.org/school/microsoft