CSharp-From-Zero-To-Hero

Build Status Codacy Badge

The vision

"Programming is hard". Yes.But not harder than running a marathon for a person has never run. It's not harder than building a house if you never built one. Programming is hard only until you practice it (like any other skill). I would like to invite you to learn programming and C# following this course to practice programming and ignite passion for finding little miracles in code every day 🙂

Requirements

Visual Studio Community 2019 or similar with Web Development and desktop development workloads.

Patience and persistence
Git installed
Github account

Homework

Homework will be announced at the end of every lesson and placed in this repository base on lesson name. There will be 2 branches after every lesson:

Lesson/LessonName  
Homework/LessonName  

Git

Fork this repository (Homework/LessonName). The fork target is called upstream branch. For every chapter, you will need to keep updating upstream branch. How to work with forked repository in Visual Studio Teams:
http://doc.fireflymigration.com/working-with-github-fork-in-visual-studio.html

How to complete homework?

Implementation of homework

For the first chapters, homework branch will come with 2 projects:

ChapterName.csproj
ChapterName.Tests.csproj

For now, a student should not care about about the tests project, as long as it builds. All the student work will happen in ChapterName.csproj. You will have empty functions which you will have to implement based on the homework requirements. Student can consider a homework complete if all tests pass.

Homework submission

In order for mentors to review your homework, you will need to create a Pull Request (PR) How to do it can be found here: (TODO: add link)

Homework review

Automatic code reviewer

To automate standards review, we have a static analysis tool--Codacy. It will grade your code (A- being the highest grade). Homework will not be considered complete, if grade is D or lower.

Auto build and auto tests

In order to find out if your code works not just on your machine but in all environments, check the build status. In PR you will see Azure Pipelines and it should have x check passed. Todo: screen shot

Mentor code review

In order for your PR to be complete, it needs a code review of at least 2 mentors. Both of the mentors will have to approve your code, otherwise you won't have a PR completed. How to do code review: As a reviewer- Todo: link As a reviewee-Todo: link Code reviews on GitHub- Todo: link

Finishing homework

You can consider your homework complete if all of the above steps pass. Don't merge the PR to master branch A single best homework implementation will be merged to master.

Community

If you want to join as either mentor or pupil or have any questions, please refer to our discord Community.
https://discord.gg/rCMKcUU