Additional information will be posted here throughout the course as needed.
Installing the Course Virtual Machine
- Click here for a separate page with instructions to install the course VM. Note that this includes downloading a 2.5 GB virtual image that may take several hours; try to download it overnight.
- Mark Redekopp put together several lectures recapping material that you should have learned in CSCI 103. These may be particularly helpful if you are a transfer student and your intro class was not as comprehensive as CSCI 103.
- Cygwin is a full-blown Unix-environment for Windows users, providing you with the gcc compiler, debugger, shell, and everything else you need.
- Our guide for writing good code, and help to deal with common mistakes.
Editors and IDEs
We strongly advise you against using gedit, notepad, or other primitive editors. Switch to a professional-level environment or editor, such as the following:
- Microsoft Visual Studio. A commercial development environment that is generally not free, but for which you can get a free license as a USC student.
- Eclipse. A powerful and freely available development environment, which can be used both with Java and C++.
- GNU Emacs. A powerful and freely available editor that is very customizable, and comes with a lot of support for writing and editing code. If you use Emacs, you will likely still need to know how to compile at the command line.
- VIM. Another powerful and freely available editor that is very customizable and has support for writing and editing code. Same caveat as for Emacs.
- Sublime Text. An increasingly popular cross-platform editor. Not free; comes with evaluation period.
- MS Visual Code. Another increasingly popular cross-platform editor. Free!
- Valgrind Documentation
- Memcheck: a memory error detector
- Explanation of error messages from Memcheck
- VARC offers tutoring for this class.