In particular, take note od
An excellent summary sheet for std:: generic algorithm
My own reference sheets for containers are not as complete and up-to-date, but they do include complexity info as part of the summary.
Deskchecking and Debugging Output (CS250/333)
Debugging basics (CS252)
Debugging (CS250/333)
Debugging in IDEs (CS252)
Debugging – Using Hypotheses to Track Down the Culprit (CS250/333)
A number of the more important or interesting algorithms covered in this course are available as animations that you can run to see how the data is being manipulated.
Tutoring is available from the College of Science’s Science Tutoring Center.
The Computer Science branch is in Dragas 1115. See here for hours.
ODU also sponsors tutoring via Tutor.com. The relevant link appears in Canvas.
A compiler translates your programming language source code into an executable. A compiler is not a program that allows you to create, edit, run, test, & debug your code. Code::Blocks
, Eclipse
, XCode
, etc. are not compilers – they are IDEs (see below).
An IDE is a program that “surrounds” a compiler and provides support for a variety of programming activities, including writing code, compiling it, correcting errors, running and testing the resulting program, and debugging the program.
You can find my recommendations for compilers and IDEs to install on your own PC here.
boost is a collection of peer-reviewed C++ libraries that explores avenues for possible future standardization. Many boost libraries have already made their way into the C++ std
library. Some are under consideration. Some others may never make it into the standard but are just plain useful.
To install boost, you can use this starting guide. The TLDR version is:
If you are running C++ in an Ubuntu-based Linux, including the Windows (WSL) bash, install via the commands
apt-get update
apt-get install libboost-all-dev
If you are running C++ in CygWin, run the CygWin setup program, search for “boost”, and select the package libboost-devel
.
If you are running MacOS, you will probably need to follow the instructions in the getting started guide for Linux variants.
For this course, you only need the “header-only” components. That means that installation can be as simple as
cd
into the unpacked directory.boost/
directory into one of the directories in your C++ compiler’s “include path”, e.g.,
cp -rf boost/ /usr/local/include/
so that the directory boost/
is copied as /usr/local/include/boost
.
There’s a lot of Mac-related pages giving very complicated procedures for doing this. I suggest you try this simple procedure first.