Skip to content

New joiner guide

Kaisinel edited this page Apr 3, 2020 · 6 revisions

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:

  1. 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
  2. Give an introduction in #bc-student-intro channel
  3. Start from lesson 1 :)

Git

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

How to complete homework?

Implementation of homework

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.

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: https://github.com/csinn/CSharp-From-Zero-To-Hero/wiki/Github-In-Vs

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. Build-Status
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.

Mentor code review

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.

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

Live lessons

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.

Live lesson structure

Every lesson is aimed to be arround 1 academic hour and is made out of 3 parts:

  1. Theory- 30 min talk out of slides about a given topic
  2. Live coding- 30 min working through the questions by giving examples in code
  3. 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.

Schedule

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.

Requirements

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

Patience and persistence
Git installed
Github account