This guide and code base is intended for self study or for mentor/mentee pairs:
- To provide enough external resources for someone with no dev to have resources to learn to get themselves started with Visual Studio and C#.
- To provide a project rich with projects and homework (with solutions) to teach C# the language itself from zero to intermediate (no front-end or databases, just learning how to do dev) in a hands-on manner.
- To provide links to additional external content for you to continue your journey with front-end web development, try out making a full application connecting to a database, about workflow, and more.
- To have enough content in this file to get someone with no idea how to code, to get themselves enough information to be able to land themselves a job and to understand the full picture of what is needed with a syllabus and step by step instructions.
- Mentors: For mentors to give a set of working projects, homework, and links to teach someone C#.
- To be completely free!!! Nothing in this guide costs money, this guide and everything linked in it is free, you can teach yourself to do C# dev without paying a dime!
- http://www.crystaltenn.com/2020/03/learn-c-from-scratch-comprehensive.html
- Pair with the above syllabus and use this as a way to measure progress and a guide to what you need to go from zero dev experience to learn to become a junior C# .NET developer.
- Download Visual Studio Community which is free
- If you have any issues installing or don't know what to install, then click here for help
- https://git-scm.com/downloads *Just hit Next on the installer and get all defaults
- Getting Started with Visual Studio 2019 **Version 2019 doesn't matter, this will apply to newer versions
- Learn to code in Visual Studio **Must watch the video labelled "Getting Started with Visual Studio IDE" within this link!
Take your pick between the below two, do both, do one of them, but use this to learn how to use Visual Studio and get started with programming in C#. If you are working alone you will 100% need one or both of these to get started:
- C# Tutorial For Beginners - Learn C# Basics in 1 Hour (1 hour)
- C# Tutorial - Full Course for Beginners (4.5 hours)
- Make sure you have Git installed
- Navigate to: https://github.com/KetchupOnMyKetchup/LearnCSharpBase (this page)
- Hit Code, then Local, then Copy as seen in the screenshot above the URL to this repository.
- Open Git Bash on your desktop which you should have after installing Git.
cd
to the location you want to download this to or just download to default and move it later- Type
git clone https://github.com/KetchupOnMyKetchup/LearnCSharpBase.git
- Open
.sln
file in Visual Studio
- F5 to debug
- F10 to step to the next line
- F11 to step into a method
- CTRL + SHIFT + B build project
- Go into the
Program.cs
file and follow the instructions and order there. If you do not have a mentor or do not know how to use Visual Studio, watch the video linked above or click here: https://www.youtube.com/watch?v=GhQdlIFylQ8 - Go through Part 1 and complete all hw and projects
- After part 1, watch the below materials to watch after Part 1, and before starting Part 2 about Object Oriented Programming (OOP)
- Go through part 2 and complete all hw and projects
- Go through additional content as needed
- Go through interview questions online to see if you have any gaps in knowledge, you can search things like
C# interview questions
for example to get an idea of what could be asked.
Learn types, variables, methods, collections (arrays and lists), and loops
- Project 1: Intro and Fizz Buzz Problem
- Project 2a: Simple Calculator to Add, Subtract, Divide, Multiply 2 numbers. No separate methods and expanded variable assignment
- Project 2b: Similar Calculator with separate methods
- Types, variables + initialization, methods, parameters, if/else, case/switch
- Calculator
- Tic Tac Toe
- Rock paper scissors
- Collections: Lists, arrays
- Loops: for, while, foreach, do
- Dealing with Null
- Setting variables to methods return variables
- Methods
- Different syntaxes / shortcut (syntatical sugar) syntaxes
Learn classes, properties, constructors, and basic object oriented programming
- Classes, properties, methods in classes
- Separating large projects into multiple classes, namespaces, accessors (public, private, internal, etc)
- Class constructors
- Class inheritance, interfaces .. Object oriented programming
- Method overloading
- Unit testing
- Debugging practice, fix broken code!
The following is a screenshot of the contents in Visual Studio:
- If mentors can setup a GitHub or Azure DevOps project and work with you on a sprint basis, help you break down work into Epics/Features/User Stories/Tasks and teach you how to work in an Agile/Scrum environment this will help you adjust to working and estimating work. Also then you will understand what it's like to be in a sprint in a very hands-on manner.
- If mentors can have you fork this repo, then create a branch, do your work, do a pull request, describe what you did, then they review and leave comments on your pull request, you will learn how developers push and work on code everyday! Also it will really help you with your Git skills and confidence!
- The above two will help you with both interviews and working in your actual job and help ease your transition into dev work!
Below is a completely free and comprehensive 24-hour-long course, where you can use C# and follow along to make an application from start to finish.
These resources are unrelated to Project and can be done before/after/during project content but are very useful to becoming a software engineer and will help you get started at work quicker.
- ASP.NET Core Crash Course - C# App in One Hour
- .NET Framework vs .NET Core vs .NET vs .NET Standard vs C#
- Top 50 C# Interview Questions and Answers | C# Interview Preparation | Edureka
- HTTP Crash Course & Exploration
- SSL, TLS, HTTP, HTTPS Explained
- APIs for Beginners - How to use an API (Full Course / Tutorial)
- Learn HTML5 and CSS3 From Scratch - Full Course
- Flexbox CSS In 20 Minutes
- Google Chrome Developer Tools Crash Course
- React JS Course for Beginners - 2021 Tutorial
- Learn TypeScript - Full Course for Beginners
- Database Tutorial for Beginners
- SQL vs NoSQL or MySQL vs MongoDB
- SQL Tutorial - Full Database Course for Beginners
- Git Tutorial for Beginners: Learn Git in 1 Hour
- Intro to Source Control: A Must-Have Tool for Programmers
- What is Agile?
- Introduction to Scrum - 7 Minutes
- Kanban vs Scrum | Difference between Kanban and Scrum
Below is a golden resource we highly recommend, we used this as a guide to revamp our own resumes years into our career and it helped a lot!