Just the FAQs
Here are a bunch of questions that you might find
useful. We will update them over the course of the semester, and
if you have any suggestion hit the Contact button above
and send them along
If you do not have an EGRaccount, then you should be able to login
to the EGR laboratory computers using your MSU id and the PID as a
password. Remember to use a capital A when typing in your PID
Change Password : You have to take your ID and go to the
DECS office, 1325 EB. It is important to change your
password to something other than your PID .
How should I set up to do work at home?
Note: A lot of this is discussed in videos now on the first week page
There are many choices, going from easy to hard.
- Work in the labs. OK, that' isn't at home but it is a good
- Use the x2go application. x2go is a way to log into an EGR
server from anywhere with a good network connection and get, local
to your home screen, a window with the lab machine
environment. The whole environment: compiler, geany, mounting home
- Go command line. You can skip all the fancy environment stuff
and just run everything out of a terminal window. Even in this
scenario you can do it one of two ways:
- Run on the server. If you follow
these directions you can ssh into a terminal server at
EGR. All you get is a raw terminal this way, but from the terminal
you can run the compiler and a non-graphical (terminal oriented)
- Get ssh (everybody has it but windows, follow directions
- open a terminal
- type ssh email@example.com (hey, yourname is
what your CSE login is, not the string "yourname").
- You're in. See command line
below for using the terminal.
Lab Rules & Info
- You can miss two. Labs do not count toward
your grade, but they can hurt you. You can miss two labs for any
reason you like (from true emergency to oversleeping). However,
after two absences you lose 0.5 a point of your final gradepoint
. So show up to your scheduled lab.
- Go to your own lab. . If you signed up for a section,
that that is the lab you must attend.
- If you want to change sections, go to piazza and work it there. No other
way as the class is almost always full.
- Show up on time. . If you are late, then you will be
counted absent. I have informed the TAs to do this, so if you have
a problem with that you need to see me.
- Labs are done in pairs during your lab time. . You cannot
come to lab with the lab "done". You must do the lab during
your schedule lab time. One of the goals of the lab is to foster
collaboration, and you can't collaborate if you do the lab by
Project Rules & Info
- On time. You turn projects in via Mimir . This is a web
page based turn-in program testing site. Each project has a due date. You
cannot turn your project in after the due date (the system
locks it out). If you are late, you get a 0. Don't be late and don't
complain if you are.
- Compile. The project you turn in must compile. If it
doesn't compile then it cannot be graded and you will receive a
very small number of points. The TAs job is not to "fix" your
program so it compiles. One semicolon, one poorly placed comment,
and all your work is for nothing. Check that your project
- Your project may compile somewhere else (say, on visual
studio which is a particularly troublesome compiler) but that
doesn't matter. It needs to compile on Mimir or it
- On your own. Projects are homework, they are to be
done on your own. Labs are a collaboration opportunity,
but for projects you should write your own code. You can talk
"generally" about code, but don't copy or share code.
- We compare every project against every other project using
a sophisticated checker. The checker (called MOSS out of
Stanford, look it up) can "see" through variable name changes,
moving of lines etc. It is very good.
- If you copy code, you cheated. However, people are also
surprised to hear that if you gave code, you also
cheated. Don't share your code!
Unfortunately there are lots of ways to get C++ depending on your
operating system. Furthermore, there are lots of versions of C++ and
we have some rather specific requirements as we are doing
C++11. Finally, as we grade your projects there are limits to our
ability to deal with all these possibilities. Read more below
- The rule of compiling
- Your code must compile
If your code does not compile, you get a 0 for the project. The
TAs will compile your code on the lab/server software. If it
doesn't compile there, then it doesn't compile and you get a 0 for
- But it compiles for me
Irrelevant. It must compile for the TA who grades it using the
approved software. Therefore, test your code on the
lab/server machines before you turn it in.
- Can I used my own C++ on my computer
Sure, in fact it is a good exercise to figure this stuff
out. However, remember the rule of compiling
. Check your code before you turn it in!
- Do I have a compiler already
Unless you are using running a Linux operating system (and perhaps
not then either), you don't have a compiler. You have to do some
work to set one up.
- C++ requirements
You need to have a C++ compiler that can compile C++11 code. This is
a more recent addition to most compilers so you need something
fairly recent. Here are some tips:
- gcc/g++, should be at least g++ 4.7.2 or greater. On the
command line type g++ --version and see what it says
- clang, should be at least version 3.4 or greater. On
the command line type clang++ --version. If you are running OSX,
the Xcode version should be 5.1 or greater
- Visual Studio , should be VS 2013.
- Mingw , g++ should be 4.7.2
- Where to get this stuff
- OSX You can go to https://developer.apple.com/downloads/index.action
but you have to register as a developer with apple. If you can't
get the versions described above, you version of Mac OS is too old
and you will have to upgrade or use something like macports
- Get Xcode
- Get command line tools
- Visual Studio
Visual studio for windows is a great environment and is free for
all CSE students. Go to
http://msdn.cse.msu.edu/ and click ELMS. Note VMWare is also
available from this page (top of the page link)
Use your package manager to download a g++ version greater than or
equal to 4.7