- I've written a little program to calculate your grades. It drops
the lowest quiz/homework so far but it does not take the extra credit
into account. Please double check your entry in the output
file (which is sorted from highest grade to lowest grade). Let me
know immediately if you spot an error.
- The final exam will not cover GUIs. We have not covered them in enough
detail...
- We (CIS faculty) are trying to determine the right pre-requisites
for the 200 sequence. Some of us think we should require some
programming experience and some of us think we should require some
mathematical aptitude. I am soliciting your feedback: if you could please
send me an email with the following format:
Your grades so far:
Previous programming experience: X years of programming language Y
Math background: (Strong Average Weak)
(Take your performance in Math 231 and Math 232 into account)
Thanks!
- I have found the bug that caused the anomalous behavior when
running infinite loops from the GUI. You might be interested in the
process. First I spent a couple of minutes running test6.o and pushing
buttons until I could get the anomalous behavior to repeat
consistently. Here is the pattern that caused the error pretty consistenly:
- Load test6.o; click run; click stop; and then click run again, or
- Load test6.o; click run; click stop; and then click step
It was then clear that when I click the stop button, the PC's value was
somtimes 1 but the GUI always displayed a 0. The PC's value may be 1 if we
kill the thread at the point where the instruction was fetched but not yet
executed. I confirmed that this was the bug by
actually typing a 0 in the PC textarea to force the value of the PC to
be 0, and sure enough everything worked as expected. Now it was a matter
of two seconds to go to my implementation of the ControlPanel and discover
that I do not update the GUI with the machine status after stopping a command.
I added the following line to stopCommand:
machineFrame.refresh();
and now everthing works. You can get the new ControlPanel.class from my ftp
directory.
- I am concerned that I am "losing" many of you. In addition to all
the people who've already dropped, I can feel that more and more of
you are getting discouraged or losing interest. I was thinking that we
could have a 10 minute discussion at the end of class on
Wednesday. Every one of you is welcome to stay but this discussion is
targeted for people who feel they are running out of options and would
like to get some ideas on how to proceed in the immediate future and
for planning a career. Ginnie Lo, a professor from the deparment, and
the chair of the undergraduate education committee, would be happy to
discuss some of the issues with you. If you're interested in such a
meeting please let me know so that I can arrange for Ginnie to come
visit us.
- We have only three lectures left. Here is my plan:
- Monday: A survey of programming languages (my research area).
- Wednesday: A survey of computer science emphasizing the future
courses you are likely to see at the UO. This will be followed
by a presentation by Prof. Art Farley about CIS 212, and possibly a meeting
with Prof. Virginia Lo about available options for those who are not
doing as well as they expected in CIS 211.
- Friday: Quick summary of the final exam. Filling teaching evaluation
forms. Please bring a #2 pencil.
- Quiz II grades are online.
0 -- 9: 2
10 -- 19: 1
20 -- 29: 2
30 -- 39: 3
40 -- 49: 10
50 -- 59: 16
60 -- 69: 7
70 -- 79: 9
80 -- 89: 13
90 -- 99: 6
100 -- 100: 4
Total number of students: 73
Average = 63
Weight of quiz = 1 homework
Unfortunately a number of good people did not do so well on this
quiz. If you did poorly, remember that I am dropping the lowest grade
in the combined category of homework/quiz. Also consider that the
weight of any individual homework or quiz is going to be 3.75%. You
can get up to 5% by doing extra credit problems. I am also realizing
that may be I shouldn't have dropped the first quiz. I apologize for
this, but I don't think it is going to affect your grades at all. If
you think the first quiz might have affected your grade, positively
that is, please come see me, or send me email.
- This message about the design of C++ has been
circulating the Internet for a while now. You might get a kick out of
it. [Whether it is true or not, I maintain that C++ as an incoherent
collection of random stuff.
- John F-L preperated a helpful list of things to read for Lab 8
- Re: 313. I've talked to people in the department ... If you REALLY
REALLY need 313 this summer, come to the dept. office and fill out a
form explaining why. Having said that, there is little chance that 313
will be offered and you should plan your schedules accordingly.
- An important message from the folks at
Klamath B13/26.
CIS 313 will not be offered this summer. It will offered next
fall and winter.
- Please forget about my previous announcement about the JVM seminar.
I thought it would be accessible to some of you, but Steve and I realize
that it will not. I apologize for the misunderstanding.
- I'll be late on Friday (Feb 27). I'll probably miss my office
hours from 9:00 to 10:00.
- Second Midterm will be next Friday (Feb 27) in class. If
you are not taking it, don't come to class. Enjoy the weekend!
- Quiz. On Monday March 2, I'll use 20 minutes of class time
to give you a couple of small problems about recursion and
exceptions.
- If you think CIS 211 is easy to the point of being boring and you
have a strong background in mathematics, you should consider the
accelerated BS/MS Degree Program in Computer Science. Basically that
lets you gets a combined degree or pursue an honors thesis. Contact me
or Rachel at the CIS front office for details.
- If you enjoyed solving the Spirited Binary Trees problem, you
should consider participating in the UO programming competition this
year. It will be held in the first or second week of the spring
quarter. Send mail to Professor Gene Luks (luks@cs.uoregon.edu) for
details. In addition to being recognized within the department, the UO
competition opens the door for the national championship, the ACM
programming competition. Winning such a competition is a prestigious
addition to your resume.
- I (Amr) will be out of town Thursday: no office hours. Also I was
just volunteered to a job Monday afternoon: I'll miss the second half
of my office hours. In general I have an open door policy: bug me
whenever I am in my office. Send mail if you want to schedule an
appointment at hours other than my office hours.
- Second Optional Midterm: For those who want to improve their
grades, there will be an additional exam with a maximum of 75. Your
midterm grade will be the maximum of the old and new exams.
If you are interested send me, asap, your preferred date for the new
midterm. I want to have it soon, and I need to know how many people
want to take it to schedule a room, etc.
- About the first midterm. If you had a perfect solution for Problem
4 but didn't write the code for the abstract class Shape, please come
see me. I will give you back the points I took off.
- Spring seminar on the JVM. Steve Fickas and I will be running this seminar in the spring. Let me know if you
are interested.
- Midterm grades are online. Here is the distribution:
100+ 7
90-99 14
80-89 10
70-79 14
60-69 13
50-59 14
40-49 7
30-39 4
20-29 3
10-19 1
- About the grades for the Instruction lab: If the code that you
turned is inconsistent with the output you printed, you got a 0. If
you can explain the inconsistency I'll be happy to re-grade your
homework. --Amr
- By popular request here is my ioUnit.java.
- I was serious when I was asked about feedback and possible future
directions for the class. If you have comments, please let me know
now. The remainder of the course is pretty much flexible; it
will be hard to make any changes after a couple of weeks.
- Some of you have reported that the book Java Gently used in CIS
199 has better explanations of inheritance than Lewis and Loftus. You
might want to give it a look.
- Cheating: The next time I see identical homeworks, I will report
the incident to the Student Conduct Coordinator.
- Reminder: The midterm is Wednesday Feb. 11. The preceding Monday
(Feb. 9) will be dedicated to review the material we covered so far,
and to answer your questions. So be prepared with questions on Monday!
- Questions on Sunday night of the form: "I have no clue what this
assignment is about. Please help me." are likely not be answered. It
is simply impossible to explain the entire assignment by email.
- Lab 3 requires that you have a working ALU; future assignments
will also require that you have a working Memory. If your assignments
were less than perfect, you might want to get my "Memory.class" and
"ALU.class" files and use them. (Of course you are encouraged to try
writing your own solutions.) The easiest way to get all my ".class"
files is to download the
jar file.
- I have graded the quiz. I've decided not to count it towards your
grade because there were too many misunderstandings. (You will get
your graded copy in the lab and the solution is online for you to
study. I am not keeping a record of the grades.) The quiz did serve
its purpose though: I am slowing down a bit to reinforce some concepts
from 210, and I've prepared a reading list to help you study. Take a
look at the study guide off the main page.
- The lab following the ALU is the one dealing with the CPU and IO
units (Chapters 6 and 7 respectively). We will get back to Chapter 5
later.
- On Friday Jan. 23, the first part of the lecture will review the
material we have covered so far. In the last 10 minutes, there will be
a quiz.
- I (Amr) have graded the first homework. Your grades are online. A
few comments:
- There is a lot of copying going around. I am reminding you that
homeworks will not be worth more than 10% or 15% at the most of your
final grade. In other words, your grade in a particular homework is
irrelevant. The only important thing is how well you understand the
solution.
- Since there will be no labs on Jan 19, we will cancel labs on Jan
20, and dedicate Wednesday's lecture (Jan 21) to explain the ALU
lab. John Fiskio-Lasseter will give the lecture at the usual time and
place.
- Please read the relevant chapter from the lab notes before your
lab meeting.