|
#23: 3/14/11 Program #7 |
I have graded (and recorded the grades for) Program #8.
The class average for was about 40 (or about 100%) and the median was about
40 (or about 100%).
After I return your graded work in class on Monday, please download the Grades(zipped .xls file) from the course web and ensure that I have computed and entered your grade correctly (I'll be entering thousands of grades for students in my course this quarter, so even if I'm 99% accurate, I'm likely to record some incorrect grades. Note that all grades are recorded as integral values: I always round up (e.g., an programming score of 36.5 is recorded as 37). If you do not pick up your returned work in class, you should pick it up during my office hours ASAP; I don't like keeping student programs: it makes my office messier, and you don't get the benefit of the feedback I wrote. Generally, very good work by all students. Most submitted solutions worked; some didn't use referTo everywhere they could to simplify their code. |
|
#22: 3/10/11 Final Exam |
This exam will cover material from the entire quarter: it is a comprehensive exam. For more information, click Topics for Written Midterm Exam or New Topics for Final Exam link. The best way to study for this exam is to review your quizzes (the most important), programming assignments, and the in-class programming exams. |
|
#21: 3/8/11 Quiz #8 |
I have graded (and recorded the grades for) Quiz #8. The class average was about 18 (or about 73%) and the median was about 20 (or about 80%). Look at your returned work carefully; if your score was below 20 you might want to review this quiz with me or a TA. Material similar to this will be on the final written exam. After I return your graded work in lecture on Tuesday, please download the Grades(zipped .xls file) from the course web and ensure that I have computed and entered your grade correctly (I'll be entering thousands of grades for students in my course this quarter, so even if I'm 99% accurate, I'm likely to record some incorrect grades. Note that all grades are recorded as integral values: I always round up (e.g., an exam score of 22.5 is recorded as 23). If you do not pick up your returned work in class, you should pick it up during my office hours ASAP; I don't like keeping student exams: it makes my office messier, and you don't get the benefit of the feedback I wrote on the quiz. There were some common "errors":
|
|
#20: 3/7/11 Program #7 |
I have graded (and recorded the grades for) Program #7.
The class average for was about 36 (or about 89%) and the median was about
38 (or about 95%).
After I return your graded work in class on Monday, please download the Grades(zipped .xls file) from the course web and ensure that I have computed and entered your grade correctly (I'll be entering thousands of grades for students in my course this quarter, so even if I'm 99% accurate, I'm likely to record some incorrect grades. Note that all grades are recorded as integral values: I always round up (e.g., an programming score of 36.5 is recorded as 37). If you do not pick up your returned work in class, you should pick it up during my office hours ASAP; I don't like keeping student programs: it makes my office messier, and you don't get the benefit of the feedback I wrote. Generally, very good work by most students. Most submitted solutions worked, although fewer students than normal turned in work early (which was totally understanable given the size and time constraints of the assignment). Students seemed to have particular problems with SPE2 (which I guess was the result of the requirement to had that in early). On the non-generic SPE3 solutions, some students left in a few declarations that were generic (and therefore avoided doing explicit casting). |
|
#19: 3/7/11 In-Class Programming Exam #3 |
I have graded (and recorded the grades for) In-Class Programming Exam #3.
The class average was about 31 (about 62%) and the median was about 27 (or
53%).
Because the average was below 75%, there were about 6 normalization points
on this instrument.
About 33% of the students scored an A; another 7% scored a B, but things
went down hill fast from there, with half the students scoring below a C.
I have downloaded everyone's submitted program, so you can download your work
and better interpret my gradesheets, which I will return in class on Monday.
Taken together (over all three Programming Exams, including normalization points), about 33% of the students scored an A; another 17% scored a B, bringing the A/B average for this difficult instrument to 50%. Some students got both parts (reading/printing and reversing the map) correct; some were able only to read/print the sorted map, others were able to read but not sort the map, and a few could not successfully even read the map. Most Java points were deducted for writing extra code: for reading input in a more complicated way, and not using for-each loops when appropriate. |
|
#18: 3/1/11 Quiz #7 |
I have graded (and recorded the grades for) Quiz #7. The class average was about 20 (or about 78%) and the median was about 22 (or about 88%). Look at your returned work carefully; if your score was below 20 you might want to review this quiz with me or a TA. Material similar to this will be on the final written exam. After I return your graded work in class on Tuesday, please download the Grades(zipped .xls file) from the course web and ensure that I have computed and entered your grade correctly (I'll be entering thousands of grades for students in my course this quarter, so even if I'm 99% accurate, I'm likely to record some incorrect grades. Note that all grades are recorded as integral values: I always round up (e.g., an exam score of 22.5 is recorded as 23). If you do not pick up your returned work in class, you should pick it up during my office hours ASAP; I don't like keeping student exams: it makes my office messier, and you don't get the benefit of the feedback I wrote on the quiz. There were some common "errors":
|
|
#17: 2/23/11 Quiz #6 |
I have graded (and recorded the grades for) Quiz #6. The class average was about 20 (or about 78%) and the median was about 21 (or about 87%). The last time I taught this class the average was about 87%. Look at your returned work carefully; if your score was below 20 you might want to review this quiz with me or a TA. Material similar to this will be on the final written exam. After I return your graded work in class on Wednesday, please download the Grades(zipped .xls file) from the course web and ensure that I have computed and entered your grade correctly (I'll be entering thousands of grades for students in my course this quarter, so even if I'm 99% accurate, I'm likely to record some incorrect grades. Note that all grades are recorded as integral values: I always round up (e.g., an exam score of 22.5 is recorded as 23). If you do not pick up your returned work in class, you should pick it up during my office hours ASAP; I don't like keeping student exams: it makes my office messier, and you don't get the benefit of the feedback I wrote on the quiz. There were some common "errors":
|
|
#16: 2/22/11 Program #5 |
I have graded (and recorded the grades for) Program #5.
The class average was about 34 (or about 85%) and the median was 38 (or about
95%): a few pairs scored very low.
The last time I taught this class the average was about 91%.
After grading the three most recent instruments (Exam #1, In-Lab Programming Exam #2, and Program #5), the overall grades are 33% As, 27% Bs, 30% Cs, and 10% below Cs. The average over the entire class is 82%. After I return your graded work in class on Tuesday, please download the Grades(zipped .xls file) from the course web and ensure that I have computed and entered your grade correctly (I'll be entering thousands of grades for students in my course this quarter, so even if I'm 99% accurate, I'm likely to record some incorrect grades. Note that all grades are recorded as integral values: I always round up (e.g., an programming score of 36.5 is recorded as 37). If you do not pick up your returned work in class, you should pick it up during my office hours ASAP; I don't like keeping student programs: it makes my office messier, and you don't get the benefit of the feedback I wrote. Generally, very good work by most students (although a few students turned in code with many methods not working correctly). For many students, the problems that arose mostly dealt with not throwing exceptions under exactly the right conditions. |
|
#15: 2/22/11 In-Class Programming Exam #2 |
I have graded (and recorded the grades for) In-Class Programming Exam #2.
The class average was about 35 (about 70%) and the median was also about 35.
The last time I taught this class the average was about 39%.
After normalization, about 27% of the students scored an A; another 20% scored
a B.
I have posted everyone's submitted program, so you
can download your work and better interpret my gradesheets, which I
will return in class on Tuesday.
Taken together (over the past two In-Lab Programming Exams), about 20% of the students scored an A; another 20% scored a B. Because In-Lab Exam #1 and #2 had large components dealing with writing code and classes, if any student scored higher on in-Lab Exam #2, that score will count for both In-Lab Exams. There were many different mistakes made by students writing this class. Here were some of the most common problems (including poor Java use). I would strongly recommend that you review the code in my solution to gain a better understanding of the programming involved.
|
|
#14: 2/21/11 Written Exam #1 (Midterm) |
I have graded (and recorded the grades for) Written Exam #1.
The class average was about 60%, which would set the number
of normalization points at 15.
The last time I taught this class the average was about 63%.
Note that I entered you "real" score in the spreadsheet; the spreadsheet
effectively will bump it by the normalization points.
Look at your returned work carefully; you might want to review parts of this
exam with me or a TA.
Material similar to this will be on the final written exam, because
that exam is cumulative over the entire quarter.
Note: If your final percentage on the final exam is higher than your
percentage on the midterm exam, I will count you final exam percentage for
your midterm percentage.
Scores on this exam ranged from 14 points to 96 points. After I return your graded work in class on Tuesday, please download the Grades(zipped .xls file) from the course web and ensure that I have computed and entered your grade correctly (I'll be entering thousands of grades for students in my course this quarter, so even if I'm 99% accurate, I'm likely to record some incorrect grades. Note that all grades are recorded as integral values: I always round up (e.g., an exam score of 82.5 is recorded as 83). If you do not pick up your returned work in class, you should pick it up during my office hours ASAP; I don't like keeping student exams: it makes my office messier, and you don't get the benefit of the feedback I wrote on the exam I would strongly recommend that you review the code in my solution to gain a better understanding of the programming involved. Here is a quick summary of information for each of the problems.
|
|
#13: 2/16/11 Quiz #5 |
I have graded (and recorded the grades for) Quiz #5.
The class average was about 19 (or about 76%); the median
was 21 (or about 84%); the last time I taught this
course the average was about 86%.
Most students seemed to demonstrate an understanding of the major concepts.
Look at your returned work carefully; if your score was below 20
you might want to review this quiz with me or a TA.
Material similar to this will be on the final written exam.
After I return your graded work in class on Wednesday, please download the Grades(zipped .xls file) from the course web and ensure that I have computed and entered your grade correctly (I'll be entering thousands of grades for students in my course this quarter, so even if I'm 99% accurate, I'm likely to record some incorrect grades. Note that all grades are recorded as integral values: I always round up (e.g., an exam score of 22.5 is recorded as 23). If you do not pick up your returned work in class, you should pick it up during my office hours ASAP; I don't like keeping student exams: it makes my office messier, and you don't get the benefit of the feedback I wrote on the quiz. I would strongly recommend that you review the code in my solution to gain a better understanding of the programming involved. For problem 1, the mistakes mostly related to the type of parameter for the constructor (and type of instance variable it was stored into). LengthLess is too specific (and you cannot generalize the class for problem 2)and Object is too general (although you can generalize by casting to include problem 2): Decision is just right. It ensures as compile-time that the object passed to the constructor will have an isOK method and requires no casting (and therefore likely to not throw run-time exceptions). For problem 2, students also did well. The only reoccuring problem was calling .toString instead of casting the parameter to a String. While calling .toString worked here, generally classes that implement Decision require casting, and it is a "more correct" (and faster) solution. Note that your isOK method must have an Object parameter, otherwise Java will mark you class as not correctly implementing the Decision interface. For problem 3, there was more variation. The whole point of this problem was to construct and use and object from the Catenate class (passing its constructor an object constructed from the Prefix class which was constructed with one parameter from the method). Then, the other code reads every string from the file and passes each to the .tryIt method from the constructed Catenate class, which does all the work. Working solutions that did not use Catenate were not awarded many points; they duplicated the code inside Catenate. |
|
#12: 2/7/11 Program #4 |
I have graded (and recorded the grades for) Program #4.
The class average was about 38 (or about 94%); the median
was 39 or about 98%; the last time I taught this
course the average was about 85%.
After I return your graded work in class on Monday, please download the Grades(zipped .xls file) from the course web and ensure that I have computed and entered your grade correctly (I'll be entering thousands of grades for students in my course this quarter, so even if I'm 99% accurate, I'm likely to record some incorrect grades. Note that all grades are recorded as integral values: I always round up (e.g., an programming score of 36.5 is recorded as 37). If you do not pick up your returned work in class, you should pick it up during my office hours ASAP; I don't like keeping student programs: it makes my office messier, and you don't get the benefit of the feedback I wrote. Generally, very good work by most students. There were a few static methods that performed poorly on boundary cases; a few compareTo/equals methods in BigRational that did not compute correct results (compareTo should return an int and neither should use ==); a few update methods in Ball that did not perform the simulation correctly (mostly having to do with forgetting to multiple the average velocity by dT): they created jerky simulations, not at all like my executable. |
|
#11: 2/7/11 In-Class Programming Exam #1 |
I have graded (and recorded the grades for) In-Class Programming Exam #1.
The class average was about 38 (about 77%); the median was about 37 (or
about 74%).
About 9 (30%) of the students scored an A on this exam.
I have posted a file (see the download link) with everyone's submitted
programs, so you can download your work and better interpret my gradesheets,
which I will return in class on Monday.
Many students had difficulty with the first problem, which in my mind was very similar to the prep problem: the one new idea is that you had to call nextToken once before the loop; after that it is identical to the prep problem (except using compareTo instead of .length). Most students did well on the second problem (as I expected) because all simple classes look alike. A good metric for your midterm performance is the average of the midterm writen exam and your first two in-class programming exams. As an incentive, and acknowledging that in-class programming exams are a new form of testing for you, if you score better on Programming Exam #2 than on Programming Exam #1, I will count your Programming Exam #2 for both. |
|
#10: 2/1/11 Quiz #4 |
I have graded (and recorded the grades for) Quiz #4.
The class average was about 18 (or about 72%); the last time I taught this
course the average was about 77%.
Look at your returned work carefully; if your score was below 20 you might want to review this quiz with me or a TA. Material similar to this will be on the midterm written exam. After I return your graded work in class on Tuesday, please download the Grades(zipped .xls file) from the course web and ensure that I have computed and entered your grade correctly (I'll be entering thousands of grades for students in my course this quarter, so even if I'm 99% accurate, I'm likely to record some incorrect grades. Note that all grades are recorded as integral values: I always round up (e.g., an exam score of 22.5 is recorded as 23). If you do not pick up your returned work in class, you should pick it up during my office hours ASAP; I don't like keeping student exams: it makes my office messier, and you don't get the benefit of the feedback I wrote on the quiz. Generally students made lots of small mistakes that one makes when writing classes for the first time. I hope between seeing my comments on your quizzes and reading my solutions that you get a solid understanding of all the parts of a simple class. Here were some common mistakes for Questions #1:
For problems 2-6, many student did very well (achieving 8-10 points). I took off points for code that was overly complex: if you are writing complicated code for these simple operations, you will have a very hard time debugging code for more complicated array manipulations. Some students also created second arrays, when everything could be done fairly easily with the one array supplied (and in the reverse method, I explicit said to create no new arrays). |
|
#9: 1/31/11 Program #3 |
I have graded (and recorded the grades for) Program #3.
The class average was about 35 (or about 88%); the last time I taught this
course the average was about 94%. After I return your graded work in class on Monday, please download the Grades(zipped .xls file) from the course web and ensure that I have computed and entered your grade correctly (I'll be entering thousands of grades for students in my course this quarter, so even if I'm 99% accurate, I'm likely to record some incorrect grades. Note that all grades are recorded as integral values: I always round up (e.g., an programming score of 36.5 is recorded as 37). If you do not pick up your returned work in class, you should pick it up during my office hours ASAP; I don't like keeping student programs: it makes my office messier, and you don't get the benefit of the feedback I wrote. There are stll a few students who have .java files that mismatch the name of their classes. Likewise, some student are not putting their names/labs in the programs.
Finally, a few students forgot to use the form of Prompt.forBoolean that specified a default value. Please check the Javadoc for this version if you did not use it correctly. |
|
#8: 1/25/11 Quiz #3 |
I have graded (and recorded the grades for) Quiz #3.
The class average was about 18 (or about 70%) and the median was about
19 (or about 76%); the last time I taught this course the average
for Quiz #3 was about 70%.
Look at your returned work carefully; if your score was below 20 you might want to review this quiz with me or a TA. Material similar to this will be on the first written exam. Because the average was below 75%, students will receive about 1.2 normalization points to bring the class average to 75% (these points are not given to students individually -your score is still your score- but are added to the totals of every student when computing their final grade); it is effectively as if you scored about 1.2 more points on this quiz (about 5 percentage points). After I return your graded work in lab on Wednesday, please download the Grades(zipped .xls file) from the course web and ensure that I have computed and entered your grade correctly (I'll be entering thousands of grades for students in my course this quarter, so even if I'm 99% accurate, I'm likely to record some incorrect grades. Note that all grades are recorded as integral values: I always round up (e.g., an exam score of 22.5 is recorded as 23). If you do not pick up your returned work in class, you should pick it up during my office hours ASAP; I don't like keeping student exams: it makes my office messier, and you don't get the benefit of the feedback I wrote on the quiz. Here were some common mistakes:
We will go over this quiz in lecture on Tuesday. |
|
#7: 1/24/11 Program #2 |
I have graded (and recorded the grades for) Program #2.
The class average was about 36 (or about 91%) and the median was about 37
(or about 93%); the last time I taught this course the average
for Program #2 was about 93%.
After I return your graded work in class on Monday, please download the Grades(zipped .xls file) from the course web and ensure that I have computed and entered your grade correctly (I'll be entering thousands of grades for students in my course this quarter, so even if I'm 99% accurate, I'm likely to record some incorrect grades. Note that all grades are recorded as integral values: I always round up (e.g., an programming score of 36.5 is recorded as 37). If you do not pick up your returned work in class, you should pick it up during my office hours ASAP; I don't like keeping student programs: it makes my office messier, and you don't get the benefit of the feedback I wrote. Besides a few students submitting programs that weren't immediately runnable (because the class name did not match the file name or because they put their code in a package, or incorrectly commented-out some line, each a .5 point deduction). The common mistakes were
Some students declared "counter" variables to be double instead of int and some required two Prompt.forInt calls in their loops (for getting a positive value) when one sufficed with the "right" kind of loop. Finally, some students had a big if for tracing, duplicating much code in both the true and else parts. Look at my code, which had many smaller if statements each determining whether to trace a part of the computation. Note the back page: we did not deduct points for style, but we indicated where you did not perform as well as you should have. We will grade on style for Programming Assignment #3. |
|
#6: 1/19//11 Quiz #2 |
I have graded (and recorded the grades for) Quiz #2.
The class average was about 19 (or about 75%) and the class median
was about 20 (or about 80%); the last time I taught this course the average
for Quiz #2 was 78%.
Look at your returned work carefully; if your score was below 20 (most were)
you might want to review this quiz with me or a TA.
Material similar to this will be on the first written exam.
After I return your graded work in class on Wednesday, please download the Grades(zipped .xls file) from the course web and ensure that I have computed and entered your grade correctly (I'll be entering thousands of grades for students in my course this quarter, so even if I'm 99% accurate, I'm likely to record some incorrect grades. Note that all grades are recorded as integral values: I always round up (e.g., an exam score of 22.5 is recorded as 23). If you do not pick up your returned work in class, you should pick it up during my office hours ASAP; I don't like keeping student exams: it makes my office messier, and you don't get the benefit of the feedback I wrote on the quiz. Here were some common mistakes:
|
|
#5: 1/18/11 Program #1 |
I have graded (and recorded the grades for) Program #1.
The class average was about 39 (or about 98%) and the median was about
39 (or about 98%).
These were the average/median for the last time I taught this course.
After I return your graded work in class on Tuesday, please download the Grades(zipped .xls file) from the course web and ensure that I have computed and entered your grade correctly (I'll be entering thousands of grades for students in my course this quarter, so even if I'm 99% accurate, I'm likely to record some incorrect grades. Note that all grades are recorded as integral values: I always round up (e.g., an programming score of 36.5 is recorded as 37). If you do not pick up your returned work in class, you should pick it up during my office hours ASAP; I don't like keeping student programs: it makes my office messier, and you don't get the benefit of the feedback I wrote. Besides a few students submitting programs that weren't immediately runnable (because the class name did not match the file name or the class was put in a package: a 1 point deduction, which will increase in later programs).
|
|
#4: 1/14/11 Program #0 |
I have graded (and recorded the grades for) Program #0.
The class average was about 30 (or about 101%, given the extra credit).
After I return your graded work in class on Friday, please download the Grades(zipped .xls file) from the course web and ensure that I have computed and entered your grade correctly (I'll be entering thousands of grades for students in my course this quarter, so even if I'm 99% accurate, I'm likely to record some incorrect grades. Note that all grades are recorded as integral values: I always round up (e.g., an programming score of 18.5 is recorded as 19). If you do not pick up your returned work in class, you should pick it up during my office hours ASAP; I don't like keeping student programs: it makes my office messier, and you don't get the benefit of the feedback I wrote. Here were some common mistakes:
|
|
#3: 1/11/11 Quiz #1 |
I have graded (and recorded the grades for) Quiz #1.
The class average was about 20 (or about 74%) and the median was about 19
(or about 76%); the last time I taught this course the average and median
for Quiz #1 were 78% and 80%.
Look at your returned work carefully; if your score was below 20 (about
1/2 the students scored below 20), you might want to review this quiz
with me or the TA - certainly you should compare you answers to my solution.
Material similar to this will be on the first written exam.
After I return your graded work in class on Tuesday, please download the Grades(zipped .xls file) from the course web and ensure that I have computed and entered your grade correctly (I'll be entering thousands of grades for students in my course this quarter, so even if I'm 99% accurate, I'm likely to record some incorrect grades. Note that all grades are recorded as integral values: I always round up (e.g., an exam score of 22.5 is recorded as 23). If you do not pick up your returned work in class, you should pick it up during my office hours ASAP; I don't like keeping student exams: it makes my office messier, and you don't get the benefit of the feedback I wrote on the quiz. Here were some common mistakes:
|
|
#2: 1/3/11 Install Course Software |
All students with computers should download and install Java (latest version
is JDK 6 Update 22) and
Eclipse (latest version is Eclipse 3.6.1 - named Helios);
it is also a good idea to install VNC (Virtual Network Computing).
All these products are available for free.
Students can download and install this software (and other useful material)
from the web by exploring the
Online Resources
link (see Course Software, near the top of that page).
Specifically, read the handout on Java and Eclipse (Download/Installation Instructions) for details. Please contact me if you are having trouble, as I will assume every has successfully downloaded and installed this software by the end of the first week of classes. |
|
#1: 1/3/11 First Message |
Welcome to ICS-23
I am going to post and archive important messages about the class in this
announcements web page: each entry will be numbered, dated, and labeled.
The entries will appear in reverse chronological order.
Whenever you follow the link to this page (and you should do so daily), scan
its top for new announcements; scan downward for older announcements.
This message will always appear at the bottom of this file.
I will never remove a message from this page, although a subsequent message may "cancel" a previous one; in such a case, I'll refer to the number of a canceled message in the message that cancels it. Expect a few new messages to be posted here each week. Check this page, along with the the course email discussions, daily. |