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.
 

