Summary β’ Prerequisite β’ Curriculum β’ Progress Tracking β’ Misc Resources
>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.
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)
The curriculum is designed as follows:
- Level 0: Introduction to Computer Science
- Level 1: Introduction to Programming Concepts
- Level 2: Basics of C#
- Level 3: Introduction to Desktop UI
- Level 4: Advanced C# Deep Dive:
- Level 5: Web Developement
- Level 6: Game Developement
- Final Project
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 |
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 |
Once you have basic idea of Computer Scince and Programming you can learn from C# from official tutorials provided by Microsoft.
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 |
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 |
Project | Discussion |
---|---|
Create a simple C# console app | chat |
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.
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 |
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 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 |
Topic | Project | Discussion |
---|---|---|
Winforms | Create a matching game | chat |
WPF | Classic Snake game in WPF | chat |
UWP | VanArsdel Inventory Sample(Github) | chat |