Windows
Programming Green Sheet (Course Information)
Dr.
Beeson
1. Web site: The web site for this
course is www.cs.sjsu.edu/faculty/beeson/courses/cs130/cs130.html.
At this URL you will find assignments, lecture notes, a copy of this green
sheet, and other information which may be posted from time to time. The
Department and University make no commitment to keep this site up and running
at all times. Two years ago it was down 2%
of the time, or about half an hour a day.
Recently it has been much better, but not perfect. Moreover, sometimes the University or the
College takes down the University’s Internet connection on purpose. If it goes down the night before an
assignment is due, you were warned. You might want to download important files
when you can, and keep a local copy on your own machine.
2. Meeting places: The course will
meet in the scheduled lecture room (Sci 164) on MW,
but on Fridays it will meet in the computer lab, Sci
311, for hands-on work. The lab will be open for two or three scheduled
65-minute labs on Friday afternoon, with ten minutes in between the
sessions. The lab will be supervised by
your TA, Mr. Karl Schramm, who was an A student in this course as an
undergraduate and has supervised the lab in this course for several
semesters. You will work on structured
laboratory exercises designed by Dr. Beeson. Mr. Schramm will assist you if you
encounter problems. Whether there are
two or three labs depends on the enrollment in the course.
3. Work to be accomplished. There will
be about six programming assignments, weekly in-lab programming, reading and
study of the lecture notes, practicing writing programs at home after the
lectures before the labs, and some multiple-choice homework related to the
lectures. There will not be a
term project.
4. Textbook: The textbook for this course is Programming Windows with C#, by Charles Petzold. This book
will serve as a reference for the GUI part of the course. In addition there will be lectures notes
posted on the course web site, and the online help in Visual Studio, which
forms a complete reference.
5. How to succeed in this course-- Do all
of the following:
6. Prerequisite: CS 46B. We will be programming in C#, but no prior knowledge of C# will be
assumed. C# is extremely similar to
Java and you will probably have no difficulties with the language
elements.
7. Adding
the course: The lecture hall has a large capacity, so enrollment is limited
by the lab capacity. It is unlikely that this limit will be
approached—everyone who has the prerequisites will be allowed to add,
unless more than 100 students want to enroll.
8. Office hours:: Room MH 215, MWF 11:40 to 12:30
and MW 2:40 to 3:30 (right after this class).
In the lecture hall, right after
class, I can deal with quick oral questions, but not with long questions or
questions that involve inspecting code or looking at your program on your
laptop. My office phone number is 924-5113. There is
24-hour a day voice mail on that line, but I will check it only on Monday,
Wednesday, and Friday. Perhaps your question can be answered by email. You can
email me at beeson@cs.sjsu.edu. I’ll do my best to respond
promptly but, for example, you might send an email on Friday
9. Computer use. This course will
involve the use of computers. The
Department has recently joined some other departments of the University in the
Laptop Initiative. Theoretically, each
student is expected to have a laptop.
However, laptops
are not required in this course. We
will meet in a computer lab on Fridays, and (if you do have a laptop) you may
work on your laptop if you so choose.
If you plan to use the University’s desktop computers in the lab
on Fridays, then
you are required to have an account. You must therefore either enroll for
CS110L, or pay a $45 lab fee (whichever is cheaper for your situation). Both
can be done starting at the Student Information Window, MH 308, during business
hours. Note: that window is closed
10. Software. The programming environment
to be used in this course is Microsoft Studio NET. Microsoft has made this software available
free to students. Exact directions for
obtaining your free copy are posted on the course web site—follow a link
from the main course web page.
11. Turning in Programming Assignments. We use an online submission system. There will be a link to the online submission
form from the web page where the assignment is posted. When the grader finishes his work, a table of
grades by last 4 digits of student ID number will be posted. Note, the university
no longer uses Social Security numbers for anything—don’t use your
SSN to try to submit your homework. The grader gets two weeks to grade the
homework, though he sometimes turns in half the grades after one week. This allows him to distribute his workload
evenly.
12. Final exams. The final exam will
involve programming and will be administered in the computer labs in MH226,
where we meet on Fridays, as well as in the Washington Square Hall lab (WSQ 1).
The exam is scheduled for Wednesday, Dec. 14, from
13. Midterm exams. Two of the Friday lab sessions will be set
aside for programming examinations.
These will be similar to the regular Friday labs except that there will
be no step-by-step instructions, and the required programming will not involve
anything new—just things you have already (supposedly) learned. The normal labs go over what you just
learned that week, and have detailed instructions. Also, in the normal labs you are allowed to
help your fellow students, but not on the midterm exams.
14. Academic Dishonesty. Cheating on
exams or copying homework or labs will result in an F in the class. You will
not be allowed to drop, and the incident will be reported to the University
administration. You may copy code from the CS130 handouts or the CS130 web
pages. All other code you turn in must be your own, unless you have permission
from Dr. Beeson. This does not include media files (images, sounds, etc.) When
there are cases of apparent copying, both students will be held responsible--we
will not argue over who was the copier and whose code was copied. In particular, although you have Internet
access during exams and lab sessions, you are expected to write your own code,
not to cut and paste code you may find on the Internet, except for the course
web pages. This applies to homework too.
15. Multiple choice homework. There will be
some multiple-choice questions over the lecture materials. You will answer these questions online. The system allows multiple submissions, so
you can keep trying again until you get all the answers right. This is intended to remove all incentive to
cheat as well as to help you learn. The
software refers to these questions sets as “quizzes”, but since
they are open-book and multiple resubmissions are allowed, they are actually
just homework. There is, however, a
final deadline for each “quiz” after which no more submissions will
be accepted.
16. Grading system. You will get a lab
grade (based on the Friday programming sessions); an out-of-class programming
grade; a midterm exam grade based on three midterm exams, a final exam grade, and a homework grade (on
the multiple-choice questions). These five grades (e.g., B+ =3.3) will be treated as
decimal numbers. They will be averaged
to determine your course grade. The in-class programming grade will be computed
by averaging all but the lowest of your Friday in-class programming
scores. The intention in dropping the lowest score is to allow for the good
chance that you may miss one Friday due to illness. There is a
minimum-performance clause as well: To pass the course, you must turn in all
the programming assignments, and earn a passing grade on most of them, and
you must earn at least 40% on the final exam.
17. Illness. If you should be ill on a
Friday when we have an in-class programming assignment, you should of course go
through that assignment on your own. However, normally no grade will be
recorded for a session you have missed. Everyone is allowed to drop one Friday
in-class programming grade; if you miss more than one Friday due to illness,
you need to make arrangements with Dr. Beeson about the grade. If you are sick on one of the midterm exam
days, you must send Dr. Beeson an email or leave a phone message before the
time of the midterm, and make arrangements to make up the exam.
18. Grading FAQs:
Q: What percentage will each of the five grades count? A: when you
average five numbers, each of the numbers counts 20%. Q: I was very sick
last Friday, can I make up the lab? A: You can
and should make up the lab, but no grade will be recorded, if this is
the only lab you have missed so far. Extended illnesses will be dealt with
case-by-case. Q: Will there be a term project? A: No. Q: I
was sick and didn't turn in the programming assignment,
can I turn it in late? A: Yes. If you made arrangements (by email or
phone) before the due date, there will be no penalty. Otherwise there will be a
grade penalty. Q: I wasn't sick but I had midterms in my other classes
so my programming assignment wasn't done on time. Can I turn it in late? A: Yes,
you must turn it in. Turning it
in late will cost you one letter grade per day of delay, down to a D, but you must
turn in all programming assignments to pass the course. Q: I still don't understand the
grading system. A: let's take an example. You have an A- on the programming
assignments, a B on the labs, a C on the final, an A and a C on the two
midterms, and a B+ on the non-programming homework. Your grade is (3.7 + 3.0 +
2.0 + 3.0 + 3.3)/5 = 3.0 = B. If it had come out 3.3 to 3.49 it would have been
B+; 3.5 would have been A-. In this internal average, A+ = 4.3. Q: I should have gotten a B+ on the
third programming assignment, not a B.
A: Check the grading criteria
specified on the assignment sheet. If
you think there is an error, ask Dr. Beeson for the grader’s email
address, then communicate with the grader by
email. If the problem can’t
be solved that way, then ask Dr. Beeson to arbitrate the dispute. Usually that is not necessary.