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. 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.
The course will meet in the scheduled lecture room (DH 135 ) on MW, but on Fridays it will meet in the computer lab, Sci 311, for hands-on work. The lab will be open for three scheduled 65-minute labs on Friday, with ten minutes in between the sessions. You will work on structured laboratory exercises designed by Dr. Beeson, who will also teach the labs. Note that the labs will be at a different time than the MW lectures.
There will be at least 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. There will not be a term project.
The textbook for this course is Programming Microsoft Windows Forms (Pro Developer) by Charles Petzold. The ISBN number is 0735621535. Be careful in buying this book because Petzold has written other books with similar titles. 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.
Do all of the following:
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.
The lecture hall has a large capacity, so enrollment is limited by the lab capacity. It is unlikely that this limit will be approached, so everyone who has the prerequisites will be allowed to add, unless more than 90 students want to enroll.
Room MH 215, MW 12:45-1:15, MW 4:30 to 5:20 pm., and F 2:30 to 4:00 pm.; except the last Friday of Sept., Oct., and Nov., there will be no office hour because that's when department faculty meetings are held. In the lecture hall, right after class, I can deal with quick oral questions concerning the lecture that just took place, but not with questions about other matters, such as your programming assignment; please bring these to office hours.
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
I will do my best to respond promptly but, for example, you might send an email on
Friday and not get an answer until Monday night. If your
question involves code that doesn't work, it's best to bring the
code to my office where we can look at it together. You can bring it on your laptop or on flash
memory. You need all the files in the
project's root folder and in the res
subfolder, but not the large files in the strong
This course will involve the use of computers. Theoretically, each computer science 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 12:30-1:30, and closes early Friday afternoon.
To get access to the University's wireless network go to www.sjsu.edu/sjsuone. Last semester, about half of the students had laptops and many of those students would attempt to follow the live programming in the lecture. You can do that if you wish, but enough notes will be on the course website to permit you to duplicate the examples at home.
The programming environment to be used in this course is Microsoft Visual Studio 2005 Professional Edition. 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.
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 or her work, a table of grades will be posted. The online system will accept late homework at a stiff grade penalty (one letter grade per day for the first two days; the maximum late penalty is two letter grades). However, after ten days (less for the last assignment), it will not accept late homework at all.
The final exam will involve programming and will be administered in the computer lab, where we meet on Fridays, as well as in the Washington Square Hall lab (WSQ 1). The exam is scheduled for Tuesday, Dec. 18, 2007, 9:45 to noon. You will be assigned to one of two labs based on your student ID; check the course web site a few days before the exam to find your location.
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.
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.
You will get a lab grade (based on the Friday programming sessions); an out-of-class programming grade; a midterm exam grade based on two midterm exams, and a final exam grade. These four grades will be treated as decimal numbers (e.g., B+ =3.3). 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. The programming assignments must be turned in through the online system. It will accept late assignments for some time after the due date (usually ten days, but less on the last assignment). You cannot wait until later and try to submit some other way.
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.