# C++ 衝衝衝
## Prologue
> The reason that most people fail to learn programming and become developers is the same reason that most people fail to learn other things like, playing the piano, speaking French etc. The reality once the excitement is over is that it takes a lot of time, a lot of effort and huge amounts of determination. Most people don't have that and they give up as soon as things get difficult.
>
> Learning French is way easier though. As an English speaker, you can invest your time during the "excitement stage" into learning basic grammar and pronunciation rules, and later on, when your "honeymoon phase" is over, you still can listen to audio lessons and then to audiobooks in French during your work commute for 3-4 years and talk to yourself from time to time in French and voilà, you've invested 1000+ hours into learning French with no effort and can speak it.
>
> With programming, though, you need to actively use your PC\Laptop to actively write code for hundreds of hours. You can't just casually write code on your way to work, while you can casually learn French on your way to work.
## Schedule
| Week |Date |Content and topic|HW deadline|
| -------- | -------- | -------- | -------- |
|[01](/46LyFz95R96j8DZDELhlpQ)|01/01~01/07| I/O, Data type, Conditional Statements, Loops |01/17|
|[02](/mIFO7VeBQJuueDM0w2_2ww)|01/08~01/14| Array, Vector, Functions, Pointer |01/24|
|[03](/QtqztVJGTe6odqw_omzMFA)|01/15~01/21| String, File I/O|01/31|
|[04](/iL_6vxMmT2KWDG0IVtZhyg)|01/22~01/28| Structure, Class, Operator Overloading, Inheritance|02/07|
## Learning Resources
### Video
* [Introduction](https://www.youtube.com/watch?v=vLnPwxZdW4Y)⇢week 01 02
* [Strings](https://youtube.com/playlist?list=PLqjW-ORyj-hLKFq_ESmFpXDnaLKaTCMio&si=IuvV-GG5eNH9cwdT)⇢week 03
* [File I/O](https://youtu.be/EaHFhms_Shw?si=tKe6fIUyXvt866Dz)⇢week 03
* [Structures](https://www.youtube.com/watch?v=9j5KkOC_goQ)⇢week 04
* [OOP](https://www.youtube.com/watch?v=wN0x9eZLix4&t=276s)⇢week 04
* [Operator Overloading](https://www.youtube.com/watch?v=BnMnozsSPmw)⇢week 04
* [STL](https://www.youtube.com/watch?v=VNb3VLIu1PA)⇢好像不在範圍內,但好像值得一學。
### Website
[W3schools](https://www.w3schools.com/cpp/default.asp)
[菜鳥教程](https://www.runoob.com/cplusplus/cpp-tutorial.html)
## Questions
### Week 01
1. [一層一層](https://hackmd.io/46LyFz95R96j8DZDELhlpQ?view#01--%E4%B8%80%E5%B1%A4%E4%B8%80%E5%B1%A4)
2. [停雨](https://hackmd.io/46LyFz95R96j8DZDELhlpQ?view#02-%E5%81%9C%E9%9B%A8)
### Week 02
1. [又捲](https://hackmd.io/mIFO7VeBQJuueDM0w2_2ww?view#01--%E5%8F%88%E6%8D%B2)
2. [報靶大師](https://hackmd.io/mIFO7VeBQJuueDM0w2_2ww?view#02-%E5%A0%B1%E9%9D%B6%E5%A4%A7%E5%B8%AB)
### Week 03
1. [解密碼](https://hackmd.io/QtqztVJGTe6odqw_omzMFA?view#01--%E8%A7%A3%E5%AF%86%E7%A2%BC)
2. [抽獎活動](https://hackmd.io/QtqztVJGTe6odqw_omzMFA?view#02--%E6%8A%BD%E7%8D%8E%E6%B4%BB%E5%8B%95)
3. [計算機](https://hackmd.io/QtqztVJGTe6odqw_omzMFA?view#03--%E8%A8%88%E7%AE%97%E6%A9%9F)
### Week 04
自由練習,但還是給個範例:)
1. [種菜大師](https://hackmd.io/iL_6vxMmT2KWDG0IVtZhyg?view#%E7%A8%AE%E8%8F%9C%E5%A4%A7%E5%B8%AB)
### Websites
都先選easy難度的(連結裡是都勾好的)。
* [HackerRank](https://www.hackerrank.com/domains/cpp?badge_type=cpp)
1. [Introduction](https://www.hackerrank.com/domains/cpp?badge_type=cpp&filters%5Bdifficulty%5D%5B%5D=easy&filters%5Bsubdomains%5D%5B%5D=cpp-introduction)
2. [String](https://www.hackerrank.com/domains/cpp?badge_type=cpp&filters%5Bdifficulty%5D%5B%5D=easy&filters%5Bsubdomains%5D%5B%5D=cpp-strings)
3. [Classes](https://www.hackerrank.com/domains/cpp?badge_type=cpp&filters%5Bdifficulty%5D%5B%5D=easy&filters%5Bsubdomains%5D%5B%5D=classes)
4. [STL](https://www.hackerrank.com/domains/cpp?badge_type=cpp&filters%5Bdifficulty%5D%5B%5D=easy&filters%5Bsubdomains%5D%5B%5D=stl)
5. [Inheritance](https://www.hackerrank.com/domains/cpp?badge_type=cpp&filters%5Bsubdomains%5D%5B%5D=inheritance&filters%5Bdifficulty%5D%5B%5D=easy)
* [Codewars](https://www.codewars.com/dashboard)