CIS310-s07/Policies
From MCIS Wiki
About CIS 310: Visual Programming
The goal of this class is to find the "fun" in programming. The work in this class will be exclusively programming – there will be no tests. There will be a significant program due every two weeks. These programs will exemplify all “visual” aspects of programming, user interfaces, graphics, and animation. These programs are meant to be entertaining – classic games and graphic programs are the projects we will do.
Programming Language
This term we are using Java. Our development environment is Netbeans - find it at http://www.netbeans.org/.
Grading
After some brief initial assignments with GUIs and event oriented programming, we will go on a 2 week cycle, as follows:
- Lectures about the particular problem to be solved and any special techniques needed to address this problem. These will generally start before the previous assignment is due.
- Work day(s) to get you started on the new project
- A prototype will be due 1 week before the project is due. Prototype requirements vary from project to project
- Additional lecture days, emphasizing program development issues and debugging.
- A recap in which we examine the code submitted.
Preparation: it is your responsibility to come to every class prepared to work on the current project. If you work at home, you MUST have your program available on a stick or your S: drive so that we can work in class.
All assignments will be graded promptly. To get full credit, you must:
- Correctly implement the basic functionality required
- Submit a working prototype on time. You will lose 1 letter grade if you do not submit the prototype.
- Write your code in a clear, readable style with enough comments that someone knowledgeable in the problem domain can read your code.
- Go beyond the problem specification and implement some extension of your choosing.
- Place a small writeup in the wiki along with your program code. Include explanation of what you did, the extension you implemented, one “interesting” snippet of code, one “tip” telling others about something interesting you learned, and an explanation of what was hardest about your program.
The course grade is the average of your project grades.
Grading
All assignments will be graded promptly, no later than the Thursday after they have been turned in. In all cases, grading will be as follows:
| 50% | Basic functionality | As defined in the problem assignment. This will be further subdivided for each project | |
| 10% | Prototype | As long as your prototype meets the requirements you should get full credit for this. | |
| 15% | Style | You are expected to master the programming language of choice. I will be looking hard at your code and will judge it according to clarity, correct use of programming language idioms, and structure. I expect your programming style to reflect your position in the program – if you have taken this class previously you will be held to a higher standard. | |
| 15% | Extensions | You are expected to go above and beyond the given assignment. Extensions of your own choosing will constitute this part of your grade. If you are not sure whether your extensions are acceptable or sufficient, please ask before you hand in the project. | |
| 10% | Writeup | Every project should have a small writeup that includes a screen shot or two, explanation of what you did, the extension you implemented, one "interesting" snippet of code, one "tip" telling others about something interesting you learned, and an explanation of what was hardest about your program. |
Late Work: late work will NOT be acceptable. Prototypes cannot be handed in late for any reason except illness or emergency. Programs cannot be handed in past the Wednesday of the week they are due. Late work will lose 10% a day in credit. Don’t hand things in late! Deadlines will be strictly enforced.
Syllabus
Course syllabus in .doc form.
