You can easily install a good C++ compiler on your own laptop or desktop machine.
By logging into the CS cluster you can quickly have access to a compiler modern enough for most or all of the material in this class. The cluster currently has g++ 4.9.2 as well as an alternate Clang compiler (as of January 2016). * 2016 update - GCC:
To compile your program: $ g++ -std=c++14 -Wall -Werror myfile.cpp -pthread To compile **and run** your program with one command, you can use the following: $ g++ -std=c++14 -Wall -Werror myFile.cpp -pthread && ./a.out
* 2016 update - clang: Clang 3.6 is installed on the CS cluster as a secondary compiler and it includes std::thread support:
To compile your program: $ clang++-3.6 -std=c++14 -Wall -Werror myfile.cpp -pthread To compile **and run** your program with one command, you can use the following: $ clang++-3.6 -std=c++14 -Wall -Werror myFile.cpp -pthread && ./a.out
* Note that parameters to g++ and clang are identical. This is part of clang's design, to be interoperable with GCC. Also note that -Wall and -Werror are added, particularly because g++ has some oddities, like cleanly compiling methods with return values even when the method body has no return statement! For example, this code compiles cleanly on g++ without these settings: `struct X { int test() {} };`. That is very odd and very undesirable, so we turn on both -Wall and -Werror to get around these problems. Importantly, your code is expected to compile with these settings.
Use subversion to submit your homework and see this document.
We use Piazza and Chalk in this class. Chalk is where we have been distributing lecture slides and other lecture-related and homework-related material.
Log in with your CNET ID at chalk.uchicago.edu:
(Email addresses available in class.)
'A.
'
By 11:30 pm Friday night. Receive feedback by Sunday night.
'A.
'
Every week, before the start of class - homework cannot be accepted after the start of class, particularly since discussion of homework is the first thing on the class agenda!
'A.
' The nice thing about C++ is that it is a standard, so you can use any conforming C++
compiler. If you or your employer has a preferred C++ development environment, you are encouraged
to use that.
If you want specific suggestions, the CS cluster has a good environment that should meet all or at least most course needs. Some nice features of this environment include:
*g++, vim, and emacs are already installed. No need to install any software. *We as graders can better support you in your homework troubleshooting. *Eclipse with the CDT, and Code::Blocks are installed.
Remember we are human. Sloppy uncommented code may not get the credit it deserves. We have been known not to give any credit on a problem simply because we didn't realize a solution was submitted. Calling out (by directory or filename) where your solutions are, including output where appropriate, etc. will help assure you get the grades you deserve. One helpful convention here is to place a readme.txt file in your directory to tell us all the problems you completed or if you got part of a problem but not all, to explain what you have. The readme is also a good place to put answers to verbal portions of questions as well as to show the output you got from your program.