mirror of
https://github.com/PKUFlyingPig/cs-self-learning.git
synced 2026-06-24 18:36:57 +08:00
* [TRANSLATION]translate CS170.md * Update CS170.en.md * Update MITLA.en.md * Update Duke-Coursera-Intro-C.en.md * Update N2T.en.md * Update signal.en.md * Update CS70.en.md * Update CS106L.en.md * Update fullstackopen.en.md * Update Data100.en.md
30 lines
2 KiB
Markdown
30 lines
2 KiB
Markdown
# CS106L: Stanford C++ Programming
|
|
|
|
## Descriptions
|
|
|
|
- Offered by: Stanford
|
|
- Prerequisites: better if you are already proficient in a programming language
|
|
- Programming Languages: C++
|
|
- Difficulty: 🌟🌟🌟
|
|
- Class Hour: 20 hours
|
|
|
|
I've been writing C++ code since freshman year, and it wasn't until I finished this class that I realized the C++ code I was writing was probably just C + `cin`/`cout`.
|
|
|
|
This class will dive into a lot of standard C++ features and syntax that will allow you to write quality C++ code. Techniques such as auto binding, uniform initialization, lambda function, move semantics, RAII, etc. have been used repeatedly in my coding career since then and are very useful.
|
|
|
|
It is worth mentioning that in this class, you will implement a HashMap (similar to `unordered_map` in STL), which almost ties the whole course together and is a great test of coding skills. Especially after the implementation of `iterator`, I started to understand why Linus is so sarcastic about C/C++, because it is really hard to write correctly.
|
|
|
|
In short, the course is not difficult but very informative which requires you to consolidate repeatedly in later practice. The reason why Stanford offers a single C++ programming class is that many of the subsequent CS courses' projects are based on C++. For example, CS144 Computer Networks and CS143 Compilers. Both of these courses are included in this book.
|
|
|
|
## Course Resources
|
|
|
|
- Course Website: <http://web.stanford.edu/class/cs106l/>
|
|
- Recordings: <https://www.youtube.com/channel/UCSqr6y-eaQT_qZJVUm_4QxQ/playlists>
|
|
- Textbook: <http://web.stanford.edu/class/cs106l/full_course_reader.pdf>
|
|
- Assignment1 Download: <https://github.com/snme/cs106L-assignment1>
|
|
- Assignment2 Download: <https://github.com/snme/cs106L-assignment2>
|
|
- Assignments: refer to the course website
|
|
|
|
## Personal Resources
|
|
|
|
All the resources and assignments used by @PKUFlyingPig are maintained in [PKUFlyingPig/CS106L - GitHub](https://github.com/PKUFlyingPig/CS106L).
|