This document contains important information on many different topics in no particular order.
Read the syllabus
You should read the syllabus for this course before reading further in this document.
Use of the Blackboard online system
The online program named Blackboard will be used for communication with students in those cases where confidentiality is required, (such as the reporting of grades), posting announcements, sending email messages to individual students, and broadcasting email messages to all students enrolled in the course.
The Blackboard Assignment and Test features are the mechanisms that you will use to submit your assignments and to take your tests.
The Blackboard "Send Email" feature is the mechanism that you will use to send Email messages to your instructor.
All students are required to complete the online orientation. To participate in online orientation, click on the orientation link below.
Spam blocking software
I receive several hundred email messages every day. Many of the messages that I receive contain viruses or worms. Most of the rest are SPAM.
Therefore, whenever you send a new email message to me, you MUST use the Blackboard "Send Email" feature to construct and send the message, and your Subject line MUST contain a brief description of the topic. (Don't simply reply to an earlier email message from me if the topic is different.)
When I see that format, I will trust that the message is safe to open and read. Otherwise, I will assume that your message contains a virus or constitutes SPAM, and I will simply delete your message without reading it.
Questions via Email:
From time to time you may need to ask questions via email, and I encourage you to do so. However, please make the question as specific as possible. For example, "What is OOP?" is not a question that I can easily answer via email.
If you, like many others, procrastinate and save your questions until the day before an assignment or test deadline, don't be surprised if you don't get a response from me until after the deadline has passed.
I am usually happy to answer questions about C#, XNA, and OOP concepts at the level of this course. However, please don't ask me to tell you how to write the program for an assignment. It is almost certain that I won't do so. It isn't fair for me to provide information about how to write an assignment program to one student when all students don't have an opportunity to hear the question and the answer.
When appropriate, please illustrate your question with a short sample program. When you send a sample program, please observe several important rules:
I am here to help you, so don't hesitate to ask for help when you need it.
Response to email:
I normally respond to student email messages within 24 hours except on weekends. If you send a message to me and you don't receive a response within 24 hours (allow 72 hours on weekends), make certain that your Subject line is correctly formatted and send the message again.
Help me debug my program
Please don't waste our time by asking me to help you debug your programs. The best way to debug is to avoid errors in the first place. Then there won't be any bugs that require attention.
If you understand the requisite programming concepts, the only bugs that you will incur will be the result of careless errors on your part. I won't waste my time showing you how to correct for your own carelessness.
See the module titled Xna0100-Getting Started for instructions on how to compile and run a Visual C# project that incorporates the XNA Game Studio.
Failure to Meet Prerequisites:
Please don't ask me to teach the COSC 1336 Programming Fundamentals I material to you. If you don't already understand that material, it will be your responsibility to learn it, on your own, without assistance from me.
Carelessness is costly
A few semesters back, on the last Friday of the month, which was anticipated to be one of the most active trading days of the month, programmers working on a network made a careless error and shut the NASDAQ stock exchange down for several hours. There is no way of estimating how much this cost various people around the world.
A few months later, programmers working for a telephone company made a careless programming error and swamped the 911 emergency call center in Austin with wrong numbers for several hours. Hopefully no one died as a result, but we will never know.
Although careless errors on assignment programs may not be as costly as the errors described above, they are costly nonetheless. In fact, the cost for making a careless error on an assignment program is just as costly as not knowing how to write the program in the first place. In either case, you get no credit for the program. So, don't be careless.Who Am I?
Please Be Patient
Other than questions regarding registration, please do not send email regarding this course prior to the first day of classes. If you do, I probably won't answer it. A great deal of preparation is required to teach a course of this nature. I have many responsibilities to take care of in the final days before the course begins and I do not have the time to work with individual students until after the course actually begins. If I reach the point that I can accept email regarding this course prior to the first day of classes, I will post that fact as a Blackboard announcement.
My biggest challenge is figuring out how to help you cross that chasm. Unfortunately, I don't have a magic recipe for accomplishing this.
If history is any indication of the future, some of you won't make it across. For this reason, you should plan to devote a very large amount of time and effort to the task of understanding OOP (as opposed to simply memorizing the mechanics of C#/XNA programming).
Computer Studies Student Information Form
The following information is requested by the Computer Studies department, but is not a requirement of the course in which you are enrolled. Whether or not you provide the following information will not be taken into account when determining your grade in the course.
If you are willing to provide this information, please use the Blackboard Send Email feature to compose a message containing the following information and send it to me.
If you do provide the information, please make the subject line of your e-mail message read as follows: Student Information Form
DO NOT include this information in the message that you send confirming that you have completed online orientation. Send separate messages for those two purposes.
You should be able to copy and paste the following form into your Blackboard e-mail client and then fill in the blanks. Don't be too concerned about neatness when filling in the form.
Course Number: IT__ ____
Home:___________Any issues that the instructor should be aware of:
Reasons for taking the course:
_____Personal InterestPlease indicate the following:
_____Required by degree program, which is ______________
_____Work related - please explain in comments section below
_____Recommended by ______________________________
_____Other, please explain in comments section below
_____Hours working per weekWhat computer courses have you completed at ACC or elsewhere?
_____Number of credit hours enrolled in this semester
_____Number of computer courses completed at ACC
_____Highest degree earned
What computer or computer related work experience do you have?
Discussion during office hours
Whether you are a regular classroom student or a Distance Learning student, if you don't understand everything that you need to understand about OOP using C#/XNA, you need to be talking to me about it during office hours. Often a short explanation will get you past a roadblock and get you back on the track to learning OOP/C#/XNA.
The Importance of the Microsoft
I cannot overemphasize the importance of learning how to use Microsoft's documentation for aspiring C#/XNA programmers.
Do not send executable attachments
If you send an email message to me and expect me to read it, DO NOT attach any executable files, even if they are encapsulated in a zip file. This includes files with the following extensions, just to name a few:
If you do send such files, my virus blocker will simply reject the message and I will never see it.
The following file extensions should be OK:
.zip (Provided the zip file doesn't contain any executable files.)
If you find it necessary to attach a questionable file for any reason, you should also send another message without an attachment notifying me that you sent the questionable file as an attachment so that I can be on the lookout for it.
Your official Email address
It is my understanding that all ACC students have been provided an official Email address by ACC, and that address is reflected in all official ACC student records. I have been told that you can cause messages sent to that address to be forwarded to the Email address of your choice. You should make it a point to either forward those messages, or to check your ACC email address on a daily basis.
When I need to send a broadcast message to all students in the course, (and in most other cases as well) I will send that message to your official ACC Email address. If you don't check you mail at that address, you won't get the message.
Also, if I need to send feedback to you regarding problems with an assignment, I will normally send that message to your official ACC Email address.
Publishing at cnx.org
I am in the process of publishing much of my online tutorial material in an e-book at XNA Game Studio. There are no advertisements on that site.
In addition to normal online viewing, you can download all of the modules in a single pdf file in a book format for offline viewing. You can download the modules in html format in a single consolidated zip file. You can also download the modules in different formats that are compatible with mobile devices.
You can also purchase the entire e-book in printed form from this site. (Note that I receive no compensation when you purchase the printed version of the e-book.)
Programming Oldies But Goodies
You will also find many of my tutorials on other topics published free of advertisements at Programming Oldies But Goodies.