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 Sci 311. That is a computer lab.
There will be at least six out-of-class programming assignments, in-lab programming, reading and study of the lecture notes, practicing writing programs at home after the lectures before the labs, and several exams (involving programming). The exams and lab exercises will be similar, except that you will get step-by-step instructions with the lab exercise, but not with the exams.
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.
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.
MW 1:30 to 2:30 p.m.
MW 6:55 to 8:10 p.m. (I catch an 8:25 bus so this office hour must end punctually)
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 ProfBeeson at gmail.com. (The email address is written this way here so it won't get picked up by web crawlers.)
I will do my best to respond promptly but, for example, you might send an email on Friday afternoon 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 bin subfolder.
This course will involve the use of computers. You can bring your laptop and use it for this course; or if you prefer, you can sign up for a CS department lab account and use a desktop available in the classroom. 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. If you pre-enroll for CS110L, your account will be ready when school starts.
The programming environment to be used in this course is Microsoft Visual Studio 2008 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 the class meets. The scheduled times are:
For the 10:30 section: Friday, Dec. 11, 9:45 to noon.
For the 12:00 section: Tuesday, Dec. 15, 9:45 to noon.
Three of the lab sessions will be set aside for programming examinations. These will be similar to the regular 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.
The homework assignments in this class are copyrighted by Dr. Beeson, including the names of the assignments, and the names of all the required classes and methods, all the examples that are posted with the assignment, and the problem descriptions and programming hints that are posted. Your solutions are your own, but if you want to post them publicly, you must change the names of the classes and methods, and you cannot post the problem descriptions. This should enable you to show your work to a prospective employer, and possibly allow me to re-use the assignments without future students being able to Google your solutions. Of course, postiing the solutions publicly before the last late submission date would be unethical, just as posting your solutions on the wall outside class would be, even if you change the names. You could also create a password-protected page and email prospective employers the password--that might be easier than changing the names. Thank you for your cooperation in this matter--it's a lot of work to develop new assignments and the testing code for them, and since the subject matter of the course is fixed, in some cases it's not even desirable to develop new assignments.
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 in-class 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 two of your in-class programming scores. The intention in dropping the lowest two scores is to allow for the good chance that you may miss one day due to illness. There is a minimum-performance clause as well: To pass the course, you must turn in all the (out-of-class) programming assignments, and earn a passing grade on most of them, and you must turn in all, all but one, or all but two of your lab exercises. This means that if you miss more than two classes, you must make up the programming exercises you missed. If these classes were missed due to illness or other pre-excused absence, you may get a grade for them, but even if not, you must do the work to pass the course.
The intention here is this: if you plan to do only half the work and get a C- in this course, it won't work. Do not enroll for this course unless you plan to show up for every class and do every assignment.
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, you should of course go through the assignment your missed on your own. However, normally no grade will be recorded for a session you have missed. Everyone is allowed to drop up to two in-class programming grades; if you miss more than one day 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.