The homework assignments will be posted on this class website. We will be using Piazza for announcments and for discussing the material and homework. To join the class on Piazza, go here. Questions about the material or homeworks must be asked on Piazza so that the entire class can benefit from the discussion. Students are also encouraged to answer questions. However, questions requiring a lengthy explanation (more than a few sentences) should be saved for office hours, and questions about how an assignment was graded should be sent over email directly to the TA who graded it, or at that TA's office hours. Grades will be distributed over Blackboard (courses.utexas.edu).
The assignments will generally be released on Wednesdays, the material for the assigment will be taught on the following Monday, and then the assignment will be due on Sunday. For problem sets, your solutions should be submitted in class on Monday. They can be neatly handwritten or typeset in Latex. The official due dates will be posted on the website. Most assignments will require computer programming, which must be done in Matlab, Octave, Python (Numpy), or R. Matlab is the officially supported language though. Learning how to use Matlab is relatively easy, and some decent tutorials can be found here and here. Matlab is available on the CS departmental machines -- just invoke matlab at the command line. To run graphical applications like Matlab remotely, you will need to use vnc, which you can learn about here.
Here and here are some excellent reports from hw1. You should try to model yours after the example they have set. It is very important that you point out problems with your implementation in your report. It's much better for you to be honest, and state these problems in your report, than for me to discover them by running your code. Here's a report that was commendable for its honesty, and pretty good overall (see last section). The most important thing is to cover all the points listed at the end of the assignment handout.
For the programming assignments, you will submit homework using the turnin program available on CS lab machines. Always submit your report and code (if any), and put your name on both your code and report. If you don't have a CS account, get One. Instructions are available by typing man turnin. Essentially, you will type "turnin --submit username_of_ta hw# projectFile.m report.pdf" where '#' is the number of the homework you are submitting and projectFile.m is your code and report.pdf is your report. Note that each assignment handout will tell you which TA's username to submit to -- it will vary. Please do not compress or tar the files since that adds another step in the process of grading. (You can use . to submit the current working directory. Invoke man turnin for more info.) You can check your submission by making a new directory and typing "turnin --verify username_of_ta hw#". This will copy back to you the files that you have submitted. This way, you can make sure that everything is in order (and you did not accidentally submit a teacher-provided file instead of the file with your changes).
Credit will be based on the assignments (70%), a midterm (15%), and a final (15%)
1 day: -10%
2 days: -20%
3 days: -30%
4 days: No credit
If extenuating circumstances will make it difficult for you to complete a project on time, contact the TA to work things out.
Students caught plagiarizing will fail the course. On some projects, we will use MOSS to analyze code. Avoid plagiarism by carefully citing all your sources. If you use a specific short code snippet found on a web-page, mention that fact in a comment. If someone else told you how to solve a tricky part of an assignment, give them credit too. Do not copy code from other students. However, if you did and cited them for it, I suppose that you would not fail for plagiarism; you simply would not get credit for the assignment. Even so, don't do it.