|
David Scot Taylor 212 MacQuarrie Hall Assistant Professor Dept. of Computer Science San Jose State University Phone: (408) 924-5124 (email works better) Email: taylor "at" cs.sjsu.edu My office hours for Spring 2008 : Tue/Thur 8:30-9:00, (the last 10 minutes in MH222), 11:50-13:30 (the last 10 minutes in MH223)Note: I will be on leave until March 17. |
Reading assignments: Reading assignments will regularly be for the next class. Ideally, students will do the reading to get an idea of what the class will be about, then attend class, and then re-read the material with intuition gained from class. At the very least, assignments should be read before or after class. Due to possible unannounced quizzes on the reading, reading the material before class is preferred for cases when there is only time for one reading.
Written assignments: Unless otherwise specified, written assignments may be done in groups of up to three, with one homework turned in per group, and all names on the front page. Each of you should feel confident that you understand everything on your group's submission. (If you understand a question best among your group, nothing will make you understand the material as well as teaching it to others.) The lowest 1/6 of (homework plus quiz) grades for each person will be dropped for the semester.
You are encouraged to start each written problem independently, and spend some time on each question. Then, get together with your group, discuss all questions, and write them up together. Your group may change from homework to homework. No group should be larger than 3. Most of your discussion should be with people in your group. You may generally discuss problems with other students as well, but not to the point of working out specific answers. Therefore, I don't expect that any group answer will look too similar to another group's answer.
Besides the given course textbook and your instructors, all sources used to help in the homework (other texts, other people) must be referenced properly. Failure to properly reference is considered cheating. When you discuss programming assignments with people, this should be referenced on your written assignments too. Please do not use web-sites to help you with your homework or programming assignments, other than to find other references (papers, texts). I realize that there are worthwhile sites on the web, but I have sometimes found that students get into trouble, "borrowing" a bit too much from other sites. So, please do not use other websites as references. (If you think that you have good reason to, please discuss it with me first.) You absolutely may not use the web to directly find solutions to assigned questions.
Not all homework questions will be graded. The homework is a tool for you to learn the material. It is given to help you prepare for the tests, and for future classes. Some questions will be graded as just "attempted" or "not attempted", others will be graded more completely, and others not at all. In total, the written assignments will be worth 15% of your grade. This is enough to help raise your grade, but not enough to risk cheating. The difference in your homework grade from doing it honestly vs. cheating is probably not worth the risk of being caught, as people have been caught before, and they have failed the course. Your course performance will improve if you make a real attempt at the homework. Each homework will be graded on a 0-5 scale.
Homework solutions for problems from the textbook will not be posted on the website. It is generally considered inappropriate to post solutions to textbook exercises without the blessings of the textbook authors. We have no such blessings.
Late homework policy: Please submit homework on time. If you have a real reason why the homework is late, and I have not yet discussed solutions or handed back homework, I will accept late homework, but once we have had solution discussions, homework solutions are distributed, or graded homework is returned, it is too late.
Students should attend all meetings of their classes, not only because they are responsible for material discussed therein, but because active participation is frequently essential to insure maximum benefit for all members of the class. Furthermore, unannounced quizzes may be given during any class meeting (other than the ones with scheduled exams). Attendance per se shall not be used as a criterion for grading.
Please do not ask me ahead of time if I will be passing out solutions in a given class. I do not want to encourage anybody to not turn in homeworks when due, I only want to encourage people to work on homework in general. As of right now, I plan to have solutions ready for every due date.
Quizzes: Unannounced quizzes may be given during class, each taking about 5 minutes total. These will generally be problems from the homework, or very similar to something assigned on the homework, or something which was very plainly covered in the assigned reading. In the former two cases, the quiz will be graded instead of the homework. In the latter case, the quiz may be given in addition to collecting and grading of the homework. Quizzes will be graded as homework (on a 0-5 scale), and thus, 1/6 (rounded up) of all graded homework and quiz grades combined will be dropped in calculating a homework average.
Programming assignments: Five programming assignments will be assigned. Programming assignments are be done individually, unless otherwise specified. They can be discussed, but should be implemented individually. For programs submitted to David Taylor, please use Java 5.0, rather than Java 6. Ask your instructor about what versions are acceptable for the first two programming assignments. More information will be given at the time of the first programming assignment. Never use any code you find on the web, unless it is given by me.
I will be using the checkstyle command to check that you are following (most) of the department coding style requirements. You can download the (slightly outdated) copy of the checkstyle command I will be running from here. (This is version 4.2. Version 4.3 is also out, and can be found at http://checkstyle.sourceforge.net, but I have not tried it yet.) Additionally, you will need the sjsu style file. (Download this link, as clicking on the link may just interpret it as a style file, and lead you to an empty page.) To run the command I use the command line. From a directory containing the jar file and the style file, you can use: java -jar checkstyle-all-4.2.jar -c sjsu.xml
Programming assignments will be worth 10% of your grade. Additionally, you may be disqualified from getting an A/B/C/D unless you get at least 4/3/2/1 program(s) to work, respectively. That is, if you get only 2 programs working for the semester, you cannot score higher than a C in the class, regardless of test performance.
Tests: There will be two tests during the semester, the first worth 15% of your grade, the second 20%. Each test question will have a point value and a ''default'' value of 30%. If the question is left blank (or the default value clearly circled and the question crossed out), you get the default value. The goal is to allow you to spend your time correctly answering questions which you can best answer, and concentrating on the questions which you find to be difficult but not impossible. It will also help to avoid the practice of writing as much random material for a question in hopes that the grader will pick out the correct parts and give ''pity points'': answers with no structure which seem nonsensical will receive 0%, even if somewhere in them there is some partially correct statement. The default option may be used for at most a specific maximum number of points (30%-50% range), as specified at the time of the test. Note, the instructors for the first midterm will make their own exams, with their own rules, so this policy may not apply for the first midterm.
Final:Course grade: Your tests will all be normalized to have a standard deviation of 10. Midterms will be normalized to a mean of 55/100, and the final to 50/100. Programs and homework (including quizzes) will not be normalized. Your final numerical grade will be the maximum of this weighted average, and just your normalized final exam grade.
After computing numerical grades for each student, letter grades are assigned on a curve. I generally look for gaps in which no student has a grade to make changes to the letter grades assigned, to avoid situations where just a few extra points over the entire semester would change the grade of a student. I reserve the right to improve a student's grade by up to 1/3 grade due to class participation.