Dear students: Please find below some general frequently asked questions (FAQ) to assist you. We're looking forward to an exciting semester in this class, and hope you enjoy learning about the wonderful world of EC. War Eagle! - Your TAs
TA Assistance
- This course asks a lot from you, both in terms of understanding the content and in applying it. However, you have four TAs with experience in the field here to assist you. Do not hesitate to ask for assistance if you need it!
- TAs are eager to help answer your questions, but we are not here to do the work for you (nor do we have the time to do so!) and you must be willing to use our advice simply as guidance, not as an answer key.
- As this is an online-only course, we have several lines of communication you may use to contact us with.
- Discord is the preferred method of communication for quick questions and more casual implementation issues. It may also be a good place to discuss the class with your peers. Click here to join. Many of you likely use Discord regularly already, and it should go without saying, but we want to maintain a professional environment. TAs will moderate the Discord at their discretion, and they have authority over what is or is not acceptable. Please don't make things awkward for everybody.
- Piazza is the preferred method of communication for more in-depth questions, or for questions which you think many students will want answered. Piazza may be found on the class Canvas page. TAs may ask you to post questions which you have asked in Discord to Piazza, so that other students can more easily find their answer (we don't want to answer the same question for every student, and it's easy for answers to get lost in the noise of Discord!).
- We may also be contacted via the emails listed in the syllabus for more private issues. Please begin the subject of your email with [COMP-XXXX] where XXXX is your section number.
- TAs are not available 24/7. Please be patient and we will respond as soon as we are available. While we strive to answer questions in a timely manner, we're only human. Here's another good reason to make sure you start early!
General Assignment FAQ
There are two assignment series.
- These assignments make up the bulk of your grade, as well as the bulk of your learning opportunity.
- For each series, you will almost certainly reuse code between submissions. It would be wise to read the entire assignment series description before you begin programming. Plan out what your code will need to be able to handle, and use your best coding practices!
- Start working on the assignments at your earliest opportunity. These assignments are difficult and you will run into unexpected roadblocks on the more difficult assignments.
- Be very proactive to finish your work on time. While there is a lenient late-grade policy, it is extremely easy to fall so far behind that you will struggle to catch back up!
- Coding is not the end of the assignment -- plan for at least another several hours of work for statistical analysis and writing your report!
External libraries and submission
- Any external libraries relating to machine learning (including evolutionary computation) are strictly disallowed. If you have any doubts about whether or not a given library violates this rule, please contact a TA before using it.
- General purpose libraries designed to handle simple, generic algorithms are allowed. A good rule of thumb is that if it's something taught in a lower-level undergraduate course, you can use a library for it. Anything taught in this course, however, must be done on your own.
- The TAs do not have permission to install software on the Tux machines nor will we request package installs from the administrative staff. Your code must work without installing any new software. Python virtual environments are fine.
- If you copy the source code from an external library directly into your code, make sure you have clearly indicated that it is the work of someone else. Failure to do so may constitute academic dishonesty.
- It's best to not overrely on external libraries, though they do have a place in certain situations.
Testing
- Information on accessing the Tux machines.
- It is recommended, though not required, that your evaluations are performed on the Tux machines. Assignment series two in particular may need several hours for your code to run, and using your personal computer while an experiment is running is inadvisable.
- You will submit your program along with a script that runs it. This script will be invoked on the Auburn Tux lab machines. It is your responsibility to ensure your code and the script run properly on the Tux machines.
- You may wish to set up your own local environment that mimics the Tux machines. This is fine, but make sure to pay close attention to the software available on the Tux machines. It would be wise to frequently test your code on the Tux machines so you're not caught off-guard by unexpected issues close to the deadline.
- Mac and Linux should already have a Unix terminal that operates in a comparable way. Windows users have access to the Windows Subsystem for Linux, virtual machines, or any number of other comparable environments.