CS429/529 FAQ - Spring 2012
What do I have to know to take this class?
We'll cover this in the first lecture. But for the record, here are some things that would be very useful to know when you walk in:- Be able to program in at least one language
- Linear algebra
- Probability and statistics
- Data structures and algorithms
What's the difference between 429 and 529?
If you're taking the class for undergrad credit, I don't expect novel research-grade ideas from you. So I won't require you to devise your own final project -- I'll come up with one for you. (This also means that you don't have to do the proposal, background literature, etc.)If you're taking the class for grad credit, I am looking for research-grade ideas and skill development, so you'll come up with your own idea for the final project, including the proposal and so on.
I may also assign additional homework problems to the grad students, depending on the topics we're tackling at the time.
When is stuff due?
All assignments are due at the beginning of class on the due date. Not the middle or the end. (I.e., you have incentive to actually be in class on time. ;-)Can I hand stuff in on paper?
Sure. I welcome that. Do please either write clearly and legibly, or type (word process) it. If I can't read it, I can't grade it.Can I turn stuff in electronically?
Absolutely. Save trees! Of course, it may be harder for me to mark up your answers in informative ways, but I'll give it my best.Shiny! I'll ship you my AmigaEdit 1.3 file right away!
NOOOOOOO!!!!Please format your submission reasonably nicely and send it in either PDF, PostScript, HTML, or plain ASCII. Please do not send non-portable document formats.
I DO NOT ACCEPT MS-WORD DOCUMENTS.
You may send me MIME attachments, Zip-compressed archives, or tar/gzip
archives if you wish. If you send me an archive (.zip or .tar.gz),
please set it up to create a subdirectory for its files, named
with your last name and the assignment (e.g., ``
Ok, so when is electronic stuff due?
Your submission must arrive in my mailbox (as measured by my computer's clock) by the beginning of class on the specified day.What programming languages do I need to work in?
I don't care. No, really. I want to see that you can turn high level math and algorithms into functioning code in some language. I don't really care which one.But don't abuse this. If you find some language where ``build a support vector classifier'' is a primitive, atomic operation, that kind-of defeats the point. Be reasonable. If you have a question, ask.
My motto is: ``Use the right tool for the job.'' (My other motto is: "All programming languages suck; they just suck differently." But that's a different rant for a different class.)
So you can, like, read every programming language in existence?
Absolutely! How else do you think you get to be a CS professor?Well, ok, not so much.
The truth is --- I'm not going to read your code in depth at all. This is a graduate (or nearly so) advanced pre-research course. It's not a software engineering course. If you want me to grade your code, take CS351. I only ask you to turn in your code so that (a) I can tell that you wrote it and (b) I can tell that nobody else wrote it for you. If your results look alien, I might look in more depth to see if I can figure out what went wrong, but really, I mostly care about the results themselves.
So what do I turn in for programming projects?
When an assignment (including the final project) includes programming, you should turn in a full copy of your code with the rest of the assignment. You can email code separately from a paper hand-in of results if you like.What if I really, really have to turn something in late?
Ok, life happens. We can't all be on time all of the time. So there's slack built into the system. (Thanks to Dave Ackley for the slack mechanic.)Here's the deal: Say an assignment is due at the beginning of class (12:30 PM) on Tues, Mar 20, 2012. By 12:35 or so, it's late. From then 'til 12:30 PM on the 21st, it's 1 day late. From 12:30 PM on the 21st 'til 12:30 PM on the 23rd, it's 2 days late. And so on.
Every day late knocks off 33% of the grade value. So if, in that example, you turned your homework in at 11:53 AM on Wed, Mar 21st, it would be 1 day late. Suppose the ``face grade'' of the assignment is 83/100. Then the ``final grade'' for the assignment would be 0.67*83=55.61/100.
33% per day? You call that slack?
No, here's the slack bit. Everybody gets 3 free ``slack days'' for the whole semester. One slack day wipes out one late day. So, basically, you get three free late days over the course of the semester.When do I tell you where I want to assign the slack days?
You don't. At the end of the semester, I'll go back and put in slack days in such a way as to maximize your grade.Are leftover slack days worth anything?
Yes, leftover slack days can be redeemed at the end of the semester for an unspecified amount of beneficence points.What if my iguana dies or my car is struck by lightning in Montana over spring break or I'm kidnapped by aliens or something else that takes more than three days?
Well, we'll all hope for no emergencies that take more than 3 days. Slack days are intended to cover things like colds, broken leg while skiing, etc. (Corollary: don't try to spend slack days early or unwisely. You may need them for the Martian Death Flu in March.) But life does happen. If you have a real, serious emergency, please come talk to me. I'll be happy to work with you if you have something big happen in life.Can I work with other people in the class on homework and stuff?
Absolutely! You're smarter as a group than you are as individuals. And you're all adults now. I encourage you to work with other people in the class.Define: ``work with''
You are allowed/encouraged to:- Talk to other people about homework problems.
- Ask math questions.
- Brainstorm about how to solve problems.
- Post questions or suggestions on approaches to the class mail list.
- Help debug each other's code.
- Help each other read/interpret papers.
- Brainstorm on project ideas.
- Proofread/proofwatch each other's final project write-ups/presentations.
Wow. That's pretty broad. What's left for me to do?
Ultimately, you have to prove to me that you understand what's going on. So:- You must write up your own solutions to all problems yourself, in your own words. This can be based on discussions with other students, but the final solution must be yours. (Note: You must not copy, verbatim, somebody else's solution. See examples for other no-nos.)
- All code must be your own.
- You must run all experiments yourself, using your own code.
- The final project must be your own work, your own writeup, and your own presentation.
- Exams are completely individual. Duh.
It's all so confusing!
Be at peace, grasshopper. If you have any questions about anything --- what's allowed, what you need to do for some assignment, whatever --- please ask. I'm happy to help fill things in. And I'm much happier to clarify policy beforehand than to have to take ``corrective action'' afterward.So just remember --- if you're confused: ask first.
Is there anything else I should know?
- Staples are your friend.
- The spell checker is also a friend, albeit a frequently deceptive one. Rely on it with caution.
- Gauss was a real person, so things derived from his name should be capitalized. Gaussian distribution, Gauss-Jordan elimination, Gauss integral, etc. Similarly, Markov, Laplace, Dirichlet, etc. should all be properly capitalized.
- Plots should always be fully labeled -- both axes, and a title indicating content. If the plot contains more than one data set, please distinguish the different data sets by symbol or line type (e.g., `+' vs `o' or ':' vs '--') and include a legend that names each. Finally, be sure to distinguish discrete from continuous data in your plots. E.g., if you have a sample of 10 measured points, do not simply draw a curve through them. At the very least, indicate the location of each point with a discrete symbol, such as a cross or square, superimposed on the curve. Better to omit the curve altogether as it implies the presence of unmeasured points. (Unless, of course, you have good reason to draw such a curve, and make it clear that it's interpolated rather than measured.)
- I expect proper grammar, spelling, punctuation, etc., on all
assignments. And it wouldn't hurt to brush up on it in email
too.
;-) Being a computer hacker does not excuse you from natural language skills!
The Dark Side of the FAQ
I know of this great web site with all the answers
posted! And there's some k3wl warz3 sites with all the code!
Ok, I shouldn't have to say this to people at your level. But this
comes up occasionally, so it's worth being very clear up front:
Dishonest behaviors, including but not limited to plagiarism, copying of another student's work (or providing your own to another), group consultation on individual projects or work, copying solutions from the web, etc., will not be tolerated.
My general feeling is that being caught cheating should be more painful than not having done the assignment at all. Therefore, I will generally at least assign a negative penalty equal to the full value of the assignment if I discover someone cheating on an assignment. I.e., if an assignment is worth 10% of the final grade, the individual would receive not zero credit for the assignment, but -10%.
Check that out again: It is better to not do the assignment than to cheat on it.
Oh, and just so you know: I don't withdraw-pass people I find cheating in my class. After an incident of cheating, your options are finish the class and take the grade you earn, or withdraw-fail.
That's still not clear. Can you give me some examples?
Ok, I really hate to belabor this point, but it seems to come up at least once every semester. Just to be absolutely, crystal clear on this, here are some examples of behaviors that are NOT ALLOWED and are CONSIDERED CHEATING.- Student finds exact solution to math problem on the web. Student copies solution from the web page and hands that in.
- Student feels that English writing skills are inadequate and feels that other authors have made same points better. Student finds a relevant article online. Student copies section of text into final project paper, without attribution, and hands that in.
- Student has friend who has previously taken this class. Student obtains copies of friend's work. Student turns in those copies as own work, without attribution.
- Two students are studying together. Both hand in word-for-word identical solutions. [Remember: you may study together, but you must write your own solutions in your own words, based on your own understanding.]
