-
Notifications
You must be signed in to change notification settings - Fork 541
New joiner guide
So you want to learn programming and become a professional? We're here for you! Here are the first steps that we recommend doing before starting the boot camp:
- Join discord community.
https://discord.gg/rCMKcUU
Even though it's optional, it's recommended so that we know each other better :) General discord guidelines can be found here: https://www.wikihow.com/Get-Started-with-Discord
Our guidelines can be found here: https://github.com/csinn/CSharp-From-Zero-To-Hero/wiki/Discord-Guidelines - Give an introduction in #bc-student-intro channel
- Start from lesson 1 :)
Github is code versioning system used to place homework assignments.
In order to complete homework, you will need to fork repository Homework/LessonName
.
How to work with forked repository in Visual Studio Teams:
https://github.com/csinn/CSharp-From-Zero-To-Hero/wiki/Github-In-Vs
Homework branch comes with 2 projects:
ChapterName.csproj
ChapterName.Tests.csproj
Students should not care about about the tests project, as long as it builds (and tests pass). All the student work will happen in ChapterName.csproj. Homework assignments have a few variations: a) Free assignment- illustrate theory with your own example b) Free based on requirements- solve problem (no tests) c) Test-based- solve problem and pass tests Student can consider a homework complete if all tests pass. And they get their homework approved by a mentor.
In order for mentors to review your homework, you will need to create a Pull Request (PR) How to do it can be found: https://github.com/csinn/CSharp-From-Zero-To-Hero/wiki/Github-In-Vs
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.
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.
In case tests (or build in general) fails, you can click on the check to see the errors.
Normally you need to scroll a bit down to get the detailed error- reasons why your build failed.
In order for your PR to be complete, it needs a code review of at least 1 mentor.
Guidelines on how to do a code review and document your changes (CL- change list):
https://github.com/google/eng-practices
Your homework is officially done when PR is closed.
If you want to join as either mentor or pupil or have any questions, please refer to our discord Community.
https://discord.gg/rCMKcUU
All lessons happen live on https://www.twitch.tv/kaisinnel
You don't need to have a Twitch account in order to just watch.
However if you want to ask any questions, you will need it.
Every lesson is aimed to be arround 1 academic hour and is made out of 3 parts:
- Theory- 30 min talk out of slides about a given topic
- Live coding- 30 min working through the questions by giving examples in code
- Kahoot quiz- 30 min to double check what student's learned
At the end of theory I request the following:
"Please write 1 thing that you think you understood well
and 1 thing that you would like to understand better or didn't understand"
I will then look at the answers and give a quick comment before delving into live-coding.
This will be asked on top of "do you have any questions" in order to ask students to give small points in their own words,
to see if they understood anything or not.
The lessons will take place on Wednessday and Saturday 9 o clock (GMT +2). After every lesson the homework will be annnouned and will also be placed in the discord bc-homework channel. Also the slides and the video's can be found on the discord channel but then in the bc-material channel. Sometimes lessons are postponed by 1 hour.
Visual Studio Community 2019 or similar with Web Development and desktop development workloads.
Patience and persistence
Git installed
Github account
Chapter 1: Fundamentals
Chapter 2: Object Oriented Programming (to be started 2/19/2020)
Chapter 3: Intermediate C# (Q2)
Chapter 4: Testing (Q2)
Chapter 5: SOLID (Q2)
Chapter 6: Desktop UI (Q2)
Chapter 7: Design Patterns (Q3)
Chapter 8: EF and enterprise patterns (Q3)
Chapter 9: Async programming (Q3)
Chapter 10: Web Api (Q3)
Chapter 11: Security (Q4)