Skip to content

πŸŽ“ Path to a free self-taught course in CSharp from absolute zero!

License

Notifications You must be signed in to change notification settings

Rsverma/Learn-CSharp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

11 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

C# Developer Roadmap - 2021

πŸŽ“ Roadmap to becoming a self-taught C# developer from level zero to master

Summary β€’ Prerequisite β€’ Curriculum β€’ Progress Tracking β€’ Misc Resources

>

Summary

This curriculum is intended as a roadmap to learn C# using online materials. It is no secret nowadays that online platforms are full of free learning materials. People Don’t Pay for Content. They Pay for Organized Content. So as part of this roadmap, we have tried to organize the best content we found on the internet in a way that can be used by students to learn C# from whatever level they are currently on.

Prerequisite

There are the following prerequisites to this course:

  • Basic education (It is assumed most of the people following this curriculum are already educated outside the field of CS.)
  • Personal computer (Access to a personal computer with working internet is needed to run install the software needed for the course)
  • Will to learn (Finishing any self-taught course requires discipline and good habits to continue learning on your own)

Curriculum

The curriculum is designed as follows:


Introduction to Computer Science

This course will introduce you to the world of computer science. Students who have never studied CS should take this course for a flavor of the material to come. If you finish the course wanting more, Computer Science is likely for you!

Topics covered: computation imperative programming basic data structures and algorithms and more

Course Type Course Duration Effort Prerequisites Discussion
Crash Course Computer Science Crash Course 4 weeks 3 hours/week high school algebra chat
Full University Course Computer Science 101(StanfordOnline) 6 weeks 6 hours/week high school algebra chat

Introduction to Programming Concepts

If you've never written a for-loop, or don't know what a string is in programming, start here. This course is simple and language independent with just enough content to teach you the basics and get you started.

Topics covered: simple programs simple data structures

Course Type Course Duration Effort Prerequisites Discussion
Crash Course Introduction to Programming(freeCodeCamp) 2 days 1 hour/day none chat
Full University Course CS50's Introduction to Computer Science 12 weeks 8 hours/week none chat

Basics of C#

Once you have basic idea of Computer Scince and Programming you can learn from C# from official tutorials provided by Microsoft.

Beginner Concepts

Topics covered: "Hello World" program Working with Variables Data Types Conditional Statements Loops Clean code

Course Type Course Duration Effort Prerequisites Discussion
Official Microsoft Course Take your first steps with C# 1 week 30 min/day CS and Programming basics chat

Intermediate Concepts

Since C# is an Object Oriented Programming Language, it is good to familiarize yourself with OOP concepts before going deep into advanced C# concepts.

Topics covered: Classes/Objects Inheritance Encapsulation Polymorphism Abstraction

Course Type Course Duration Effort Prerequisites Discussion
Theoritical tutorial C# OOP (w3schools) 2 weeks 30 min/day Beginner C# concepts chat

Console Project

Project Discussion
Create a simple C# console app chat

Introduction to Desktop UI

Once you have learnt the c# basics it is good to practice with Desktop projects to get comfortable with C# as they provide you with more features to experiment with than Console projects. This is not madatory if you are leaning C# specifically for the purpose of Web Development or Game Developement.

Winforms

Easiest to get started and build small applications but not recommended for large projects.

Topics covered: Winforms Designer Align Controls Data Binding Custom Controls

Course Type Course Duration Effort Prerequisites Discussion
Official Microsoft Course Get started with Windows Forms Designer 1 week 30 min/day C# basics chat

WPF

Most used and recommended UI framework for Desktop development with C#.

Topics covered: XAML Controls Panels Custom Controls Data Binding Commands

Course Type Course Duration Effort Prerequisites Discussion
Theoritical Course The complete WPF tutorial 6 week 5 hours/week C# basics chat
Quick Tutorial Writing a WPF app 1 day 30 min/day C# basics chat

UWP

UWP is one choice for creating apps that run on all Windows 10 devices. It has similar structure as WPF.

Topics covered: Forms Controls Settings File Handling

Course Type Course Duration Effort Prerequisites Discussion
Official Microsoft Course Get started with Windows 10 apps 1 week 30 min/day C# basics chat
In-depth video tutorials Developer’s Guide to Windows 10 6 weeks 3 hours/week C# basics chat

Desktop Project

Topic Project Discussion
Winforms Create a matching game chat
WPF Classic Snake game in WPF chat
UWP VanArsdel Inventory Sample(Github) chat

Advanced C# Deep Dive

LINQ

Events, delegates, and lambdas

Multithreading

Interacting with DataBases

Web Developement

Basic HTML, CSS and JavaScript

ASP.Net

Blazor

Web Project

Game Development

Basics of Unity

Unity project

Final Project

Progress Tracking

Misc Resources

About

πŸŽ“ Path to a free self-taught course in CSharp from absolute zero!

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published