Resources
Editors and IDEs
There are many editors/development environments to choose from. Here are a few.
- Visual Studio Code is a free, open source IDE with good developer tooling and a wide array of plugins. This is the recommended editor for when you get to CS 104.
- Microsoft Visual Studio is a commercial development environment that is generally not free, but for which you can get a free license as a USC student.
- JetBrains CLion requires a CMake project to offer IntelliSense, however it is an incredibly powerful IDE that can be obtained for free as a student.
- Eclipse is a free IDE for C/C++, Java, and PHP.
- Apple Xcode Free but Mac only. Steep learning curve, but very powerful features.
CS 102 Diagnostic Problems
Programming Idioms
- Idioms for typical programming patterns and structures in C++.
C/C++ Related Links
- C++ Core Guidelines. Link
- C++ FAQ. Link
- Google C++ Style Guide. Link
- C++ Style Guide Links. Link
- SEI CERT C++ Secure Coding Guideline. Link
- Issues with floating point and floating-point comparison. Link
- Design Patterns and Refactoring Strategies. Link
Relevant CS 104 Wiki Pages
- GCC by Cameron Durham
- GDB by Spencer Davis
- Linux by Jamie Flores
- The preprocessor by Anthony Wiencko
- Valgrind by Cameron Durham
- Makefile by Leif Wesche
- Code style by Noah Kim
- Virtual machines by Mark Redekopp
- CMake by Jamie Smith
External Resources
Linux / Command Line
GDB
Valgrind
Make
Markdown
Tutoring
- VARC offers tutoring for this class.