Skip to content

Summary

Kaisinel edited this page Mar 28, 2021 · 24 revisions

Material summary

Chapter 1: Fundamentals

Lesson 1: variables and console
Git: https://github.com/Almantask/CSharp-From-Zero-To-Hero/blob/Chapter1/Lesson/Variables-And-Console/Src/BootCamp.Chapter1/Program.cs
Slides: https://docs.google.com/presentation/d/1k3hNBxZSCWA2uAF8XA5mBVM-zgG7UcFi_0t2nN1Zaak/edit?usp=sharing
Youtube: https://youtu.be/wwnDtE6Z-ic
Homework: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter1/Homework/1And2
Wiki: https://github.com/csinn/CSharp-From-Zero-To-Hero/wiki/Lesson-1:-Variables,-Visual-Studio-and-Console

Lesson 2: Git and work with it in VS
Slides: https://docs.google.com/presentation/d/1wmfYL9QZR2amAVHCrbeObsJ5MQkk9buWDDJHqZbcbdM/edit?usp=sharing
Youtube: https://www.youtube.com/watch?v=PNOSbXjQD9o
Wiki: https://github.com/csinn/CSharp-From-Zero-To-Hero/wiki/Github-In-Vs
Learn branching: https://learngitbranching.js.org/

Lesson 3: Functions
Git: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter1/Lesson/Functions
Slides: https://docs.google.com/presentation/d/1p5SWHATsSFk7WQlm183JLFFDUa9xV64ZhIwYJnfCxKs/edit?usp=sharing
Youtube: https://youtu.be/oEkjT56I_fk
Homework: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter1/Homework/3
Wiki: https://github.com/csinn/CSharp-From-Zero-To-Hero/wiki/Functions

Lesson 4: Logical flow
Git: https://github.com/csinn/CSharp-From-Zero-To-Hero/blob/Chapter1/Lesson/Logical-Flow/Src/BootCamp.Chapter/Program.cs
Slides: https://docs.google.com/presentation/d/1UBuFbvh4H7CtyCP9NnWOa3cTOZmb8zjDJjZCxhG-D2I/edit?usp=sharing
Youtube: https://youtu.be/uuCx4T3NqmU
Homework: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter1/Homework/4
Wiki:

Lesson 5: Loops and arrays
Git: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter1/Lesson/Arrays-And-Loops
Slides: https://docs.google.com/presentation/d/1drg2UNGkh2SypFR5MH7pcNbUYlii-tQXqVkh1qQh_Z0/edit?usp=sharing
Youtube: https://youtu.be/9ujXBUQx3Ns
Homework: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter1/Homework/5
Wiki:

Lesson 6: Debugging
Git: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter1/Lesson/Debugging
Slides: https://docs.google.com/presentation/d/1lZIrCHTiHfWRxeP1X9upnayI0TtVmeYut0-Z13z_FpQ/edit?usp=sharing
Youtube: https://youtu.be/dNe6-lPN6OE
Homework: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter1/Homework/6
Wiki:

Lesson 7: String
Git: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter1/Lesson/String
Youtube: https://youtu.be/SWMxiZyl9H0
Homework: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter1/Homework/7
Wiki:

Lesson 8: files and errors
Git: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter1/Lesson/Files-And-Errors/Src/BootCamp.Chapter
Slides: https://docs.google.com/presentation/d/11jD_TazdFlS6sUA4w2yZYgPZc8UK9aV0i0X5S-Ck_xY/edit?usp=sharing
Youtube: https://youtu.be/K-ca77WPkAY
Homework: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter1/Homework/8
Wiki:

Lesson 9: encoding
Git: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter1/Lesson/Encoding
Slides: https://docs.google.com/presentation/d/1xLch_r4sAV47Eek8fzDh2tY9DMgTVGoMe2Sb6CP_3hk/edit?usp=sharing
Youtube: https://youtu.be/SykWr2LAr0s
Homework: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter1/Homework/9
Wiki:

Lesson 10: Random
Git: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter1/Lesson/Random
Slides: https://docs.google.com/presentation/d/1qG7JcR2hWir_mml4y6ndw1WeNe7QJcIvc-iv-bAoSeY/edit?usp=sharing
Youtube: https://youtu.be/2ZhiQ4lCHsA
Homework: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter1/Homework/10
Wiki:

Exam: https://forms.gle/TRZFX12DKJQJcFSV9

Chapter 2: OOP

Lesson 1: Intro to paradigms, OOP and Encapsulation
Git: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter2/Lesson/Encapsulation
Slides: https://docs.google.com/presentation/d/1gp-qFGU24h1DHQzuaCycp6HtvpJmw7-WPjki04ETtrk/edit?usp=sharing
Youtube: https://youtu.be/GHteKkvP4nU
Homework: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter2/Homework/1
Wiki:

Lesson 2: Inheritance
Git: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter2/Lesson/Inheritance/Src/BootCamp.Chapter
Slides: https://docs.google.com/presentation/d/1fS_QJbaOtOY-KIo8G99vBqhur4r4DQqxnVtlG-G0Wu0/edit?usp=sharing
Youtube: https://youtu.be/cJd2J8aYbwI
Homework: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter2/Homework/2
Wiki:

Lesson 3: Abstract and virtual
Git: https://github.com/csinn/CSharp-From-Zero-To-Hero/blob/Chapter2/Lesson/Virtual-And-Abstract/Src/BootCamp.Chapter/Program.cs
Slides: https://docs.google.com/presentation/d/1QOO8SHC8KL8TrnnxD3Y-VL38Mkkk80-myY8jpmQwT1Y/edit?usp=sharing
Youtube: https://youtu.be/BT6VJykKYt4
Homework: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter2/Homework/3
Wiki:

Lesson 4: Interface- the ultimate abstraction
Git: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter2/Lesson/Interface-The-Ultimate-Abstraction/Src/BootCamp.Chapter
Slides: https://docs.google.com/presentation/d/1-mH8nZwtcZonV30kA-MQgf7kTe-pxfJNsHMpNfqpZ-E/edit?usp=sharing
Youtube: https://youtu.be/qwovnjTdObI
Homework: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter2/Homework/4
Wiki:

Exam: https://forms.gle/zBrEekeT54MD3WcK7

Chapter 3: Sweet C#

Lesson 1: C# goodies: lists and properties and enum
Git: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter3/Lesson/List-Properties-And-Enum
Slides: https://docs.google.com/presentation/d/15Sd-iMnULTtne0gRNYi3hhfxJiI-CUmh6jl-LzIR0Qg/edit?usp=sharing
Youtube: https://youtu.be/5z4wb1FX7E4?t=312
Homework: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter3/Homework/1
Wiki:

Lesson 2: in, out, ref
Git: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter3/Lesson/in-out-ref
Slides: https://docs.google.com/presentation/d/1lvb51XOQuaAsPYIIabQUZwZSOArgkepDtxUHbDkF2nA/edit?usp=sharing
Youtube: https://youtu.be/0kA9a8Odbz0
Homework: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter3/Homework/2
Wiki:

Lesson 3: Null related operators and more sugar
Git: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter3/Lesson/Null-related-operators
Slides: https://docs.google.com/presentation/d/1lemZ1Pz23wag-oZb4V6O813rVyavxiNGa3_RKXDQmb8/edit?usp=sharing
Youtube:
P1: https://youtu.be/fTl4u89-WIk
P2: https://youtu.be/mh0w2T7-5KM
Homework: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter3/Homework/3
Wiki:

Lesson 4: Generics
Git: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter3/Lesson/Generics/Src/BootCamp.Chapter
Slides: https://docs.google.com/presentation/d/1jwmbf0IAhLgV_s1LxZQSGL9YCAwqz1pIinZPxVsoVP4/edit?usp=sharing
Youtube:
P1: https://youtu.be/pxx-2oqDqT8
P2: https://youtu.be/qaMqVn0-Irg
Homework: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter3/Homework/4
Wiki:

Lesson 5: Multidimensional arrays, jagged arrays, dictionary
Git: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter3/Lesson/N-Arrays-And-Dictionary
Slides: https://docs.google.com/presentation/d/1oUrQ5uR9viG32FjV4mLiXWdGsdCLhsXBx-QVEm0DlpI/edit?usp=sharing
Youtube: https://youtu.be/BBZlLA4ezxU
Homework: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter3/Homework/5
Wiki:

Lesson 6: delegates
Git: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter3/Lesson/Delegates/
Slides: https://docs.google.com/presentation/d/1GYaK-CvUjeU7RMgt3ZfoFdqmm99p4RokXR_z1gkzzBM/edit?usp=sharing
Youtube:
P1: https://youtu.be/J5FsEzpvRaU
P2: https://youtu.be/oH9vq1Y6UvU
Homework: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter3/Homework/6
Wiki:

Lesson 7: Extension methods and IEnumerable
Git: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter3/Lesson/Extension-Enumerable
Slides: https://docs.google.com/presentation/d/1CrTcaE6G2JTMz-ZpojHBM0PpZsIIqN26ynLqSctvREY/edit?usp=sharing
Youtube: https://youtu.be/UHSg6HJ45TQ
Homework: Merged with lesson 8
Wiki:

Lesson 8: LINQ
Git: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter3/Lesson/LINQ-Basics
Slides: https://docs.google.com/presentation/d/1CJYaPmmtoYHeh7DnOzZ1aneN0gJmPdgu1lrThDf47nk/edit?usp=sharing
Youtube: https://youtu.be/61o36caHTQM
Homework: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter3/Homework/7And8
Wiki:

Lesson 9: Advanced LINQ
Git: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter3/Lesson/LINQ-Advanced
Slides: https://docs.google.com/presentation/d/1NwLmMH72Q-Ya84a9voXW9clHdQWeQBYxnre58Rv7xjg/edit?usp=sharing
Youtube: https://youtu.be/_P5FlpcQ27E
Homework:
Wiki:

Lesson 10: Attributes
Git: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter3/Lesson/Attributes
Slides: https://docs.google.com/presentation/d/1g4dOcJSJrQeioBL_9KIoQAsp9-LwF7hMX0QpZKVOyQE/edit?usp=sharing
YouTube: https://www.youtube.com/watch?v=TrhYtKQXQos
Homework:
Wiki:

Lesson 11: Serialization: Json and XML
Git: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter3/Lesson/Serialization
Slides: https://docs.google.com/presentation/d/1aBuXCsi2myuYO2chE1ZL-iFqz_eDHgC3P4l-4DI4PR0/edit?usp=sharing
YouTube: https://youtu.be/IAqfI70E75o
Homework: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter3/Homework/11
Wiki:

Lesson 12: Operators overloading
Git: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter3/Lesson/OperatorsOverloading
Slides: https://docs.google.com/presentation/d/1aZp2sjYo5YvqcI6uBprOeH5dyJLwYFNY9wCwafx3K0w/edit?usp=sharing
YouTube: https://youtu.be/1cNb3AqM7_s
Homework: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter3/Homework/12
Wiki:

Lesson 13: Expressions trees, unsafe code and other niche subjects of C#
Git: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter3/Lesson/ExoticButUseful/Src/BootCamp.Chapter
Slides: https://docs.google.com/presentation/d/1vvp5qDh6_cr4lD7rG4zmKzdv4jyQVjeRU77EVk3VIEg/edit?usp=sharing
YouTube:
https://youtu.be/VcoylinL8Rg
https://youtu.be/y-QGBRRmeRE
Wiki:

Chapter 4: TDD

Lesson 1: Arrange, Act, Assert; xUnit
Git: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter4/Lesson/Arrange-Act-Assert
slides: https://docs.google.com/presentation/d/10WL9Xs2wHXMJnFw1E_2ycT4LALMvi3GgK50CsMuTO4U/edit?usp=sharing
YouTube: https://youtu.be/OeelG_Z7lM8
Homework: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter4/Homework/1/Src
Wiki:

Lesson 2: Mocking and testability
Git: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter4/Lesson/Design-For-Testability-And-Mocking
slides: https://docs.google.com/presentation/d/1mwfRR9vtwnG1UnRUI8pjhwP00mFc0DXeQwnhTrO5yYA/edit?usp=sharing
YouTube: https://youtu.be/APrsvDn7j24
Homework: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter4/Homework/2/Src
Wiki:

Lesson 3: TDD
Git: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter4/Lesson/TDD
slides: https://docs.google.com/presentation/d/1E9oLbLYKC_3yv5DFDzl9edzRt766D5awPr46Lp6lpKY/edit?usp=sharing
YouTube: https://youtu.be/NMaMjt9S30g
Homework:
Wiki:

Lesson 4: Integration vs unit tests
Git: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter4/Lesson/Integration-Vs-UnitTesting
slides: https://docs.google.com/presentation/d/18yuCaldVBMAQYqGoRV7btf4lg_sCUJ1uWIv_OrxZ59M/edit?usp=sharing
YouTube: https://youtu.be/iZXw3KLbAmw
Homework:
Wiki:

Lesson 5: FluentAssertions, Autofixture
Git: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter4/Lesson/AutofixtureAndFluentAssertions
slides: https://docs.google.com/presentation/d/1nO6DvOY2Mjd3w9NaQFMzG8rEmv8ePtPOiR4VBsDCg7Q/edit?usp=sharing
YouTube: https://youtu.be/b3qMg4pXJVs
Homework:
Wiki:

Lesson 6: Other types of testing
Git: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter4/Lesson/Other-Types-Of-Tesing/Tests
slides: https://docs.google.com/presentation/d/1ByTOer7jl0kF2mAvdayUuNBtyYJxkYj_q0N0vIYgVJc/edit?usp=sharing
YouTube: https://youtu.be/-3dIhz-eMoo
Homework:
Wiki:

Chapter 5: SOLID

Lesson 1: Single Responsibility Principle
Git:
slides: https://docs.google.com/presentation/d/1TLrozvrn6briqE9DKboitZwewFbJSxVlq7pIzfI_0fc/edit?usp=sharing
YouTube: https://youtu.be/-yTzh_BxZAs
Homework:
Wiki:

Lesson 2: Open-Closed Principle
Git: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter5/Lesson/OCP
slides: https://docs.google.com/presentation/d/1B-q2UL2s7SMzi5P7hU_sJSpSsZ-0G8ZQJgqALEdxMjk/edit?usp=sharing
YouTube: https://youtu.be/HcMRjJKvF7g
Homework:
Wiki:

Lesson 3: Liskov Substitution Principle
Git: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter5/Lesson/LSP
slides: https://docs.google.com/presentation/d/1aqnqX55dp_gSxJNrYNGTtqz_vi_Z_aKV7xpSf5wPuJg/edit?usp=drivesdk
YouTube: https://youtu.be/y4C0Wedi114
Homework:
Wiki:

Lesson 4: Interface Segregation Principle
Git: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter5/Lesson/ISP
slides: https://docs.google.com/presentation/d/1tPKvQ7AFRSz94zK3FUF1eDErnQ4oMQgwsfdrNTKw9U4/edit?usp=sharing
YouTube: https://youtu.be/HkvmcLUKgzw
Homework:
Wiki:

Lesson 5: Dependency Inversion Principle
Git: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter5/Lesson/DIP
slides: https://docs.google.com/presentation/d/1hiSKCULC_kqfbAvT9F61AIRbfEJ4bIvDg8iaxnVIJxQ/edit#slide=id.p
YouTube: https://youtu.be/vwZdC7mHAJg
Homework:
Wiki:

Chapter 6: Design Patterns

Lesson 1: Introduction to Design Patterns: Strategy vs Command
Git: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter6/Lesson%2FStrategy-Command
Slides: https://docs.google.com/presentation/d/13dRZhpGZmEnl71J6xeQgtyM2I9NEdeu_qQr3HtHmlQs/edit?usp=sharing
YouTube: https://youtu.be/SCN2euakVx8

Lesson 2: Singleton and Facade
Git: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter6/Lesson%2FSingleton-Facade
Slides: https://docs.google.com/presentation/d/1ypzG5xEqALrNgiIZ3O_-YUNdmiya9inZM5xqBX-WzuI/edit?usp=sharing
YouTube: https://youtu.be/ELPzM7BOb3E

Lesson 3: State, NullObject, Bridge
Git: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter6/Lesson/State-Bridge-NullObject
Slides: https://docs.google.com/presentation/d/11QKvmW8VBWifC9jXnsiUMu5VF4GLxKue9-Y-LjCD8s4/edit?usp=sharing
YouTube: https://youtu.be/s1wdHr1hSZU

Lesson 4: Mediator and Observer
Git: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter6/Lesson/Mediator-Observer
Slides: https://docs.google.com/presentation/d/1sNYuqVkEwjBohUHW4fwGuE4TYDHA9k2CFGg3UacjPoo/edit?usp=sharing
Youtube: https://youtu.be/mVNg2_3Y2Ms

Lesson 5: Builder and Decorator
Git: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter6/Lesson%2FDecorator-Builder
Youtube: https://youtu.be/e9NTdmUwjpw

Lesson 6: Adapter and Chain of Responsibility
Git: https://github.com/csinn/CSharp-From-Zero-To-Hero/tree/Chapter6/Lesson%2FAdapter-ChainOfResponsibility
Youtube: https://youtu.be/o4wR-JLb-KI