CIS310-s09/Policies
From MCIS Wiki
Instructor: Professor John Peterson
Office and contact info: Hurst 114 943-2392 [1]
Class webpage: wiki.western.edu/mcis
Office hours: 1:00 – 2:00 MWF; 9:30 – 10:30 TTh. I am around many more hours than this; email or knock anytime.
Topics: A course focusing on common environment and design tools used in the development and implementation of graphic user interfaces. Emphasis is placed on the automation of tasks and the customization of systems by programming constructs.
Organization: The real goal of this class is to find the “fun” in computing. The work in this class will be exclusively programming – there will be no tests. There will be a significant program due every three weeks. These programs will exemplify all “visual” aspects of programming, user interfaces, graphics, and animation.
Languages: This term we will be using Python. Consult the wiki for specific software needs if you plan to use your own computer.
Text: The “rat” book: Learning Python, 3rd Edition
Coverage: While this course is “about” the visual aspect of programming, in modern software development environments the creation of GUIs is relatively easy. Instead of lecturing to the GUI aspect of programming, we will instead learn this by using GUIs to explore many other topics in CS such as game trees, graphics, and simple AI. There will be math involved – you will be expected to be comfortable with coordinate systems, 3-D graphics, geometry, and other mathematical foundations of CS.
Outline: after three weeks of warmup assignments with GUIs and event oriented programming, we will go on a 3 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 days to get you started on the new project – usually one a week
- A prototype will be due at the end of each 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. You are responsible for attending every class – if you cannot make it to class I must be notified by email before the class starts. Any time you miss class or fail to prepare for class you will lose 3 points off the top of your final grade. The wiki will always make it clear what sort of preparation is expected for each class.
Grading: All assignments will be graded promptly. To get full credit, you must:
- Correctly implement the basic functionality required
- Submit a working prototype on time – these cannot be submitted late. You will lose 1 letter grade for each missing 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.
- Keep a blog on this class – you need to make an entry EVERY DAY there is a lecture. Talk about what you’re working on, problems you are having, the amount of powder at CB, anything you want.
The course grade is the average of your project grades and average grade for the initial warmup assignments.
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 more than 2 days late. Late work will lose a letter grade.
The Wiki: create a nice home page in the wiki (something that will be visible outside the department) and attach your blog and program writeups to this page. You are expected to ask and answer questions in the wiki when possible.
Submitting Assignments: Submit all assignments through my drop off folder. Submit a copy of the entire workspace and name the top folder using your name, project #, and the word “late” if it is submitted past the deadline.
Ask for Help: When you have problems understanding Python, debugging a program, understanding a problem domain, or just figuring out where to start it is up to you to ask for help, either in class or privately. When you enter the real world, you’ll find that it’s much better to admit you don’t understand and get help than to go off and do the wrong thing.
Academic Honesty: You are expected to work on these projects individually. You are welcome to work with other students but please write the code yourself instead of directly copying it. Wholesale copying of others code is punishable by a 0 on the assignment.
Students with Disabilities: Western State College of Colorado seeks to provide reasonable accommodations for all qualified persons with disabilities. This College will adhere to all applicable federal, state and local laws, regulations, and guidelines with respect to providing reasonable accommodations as required, affording equal educational opportunity. It is the student’s responsibility to register with the Learning Assistance Center (x7056, UN 201) and to contact the faculty member in a timely fashion to arrange for suitable accommodations.
Changes to the Syllabus: This syllabus may be altered at any time – I will announce any alterations in class and update the syllabus in the wiki.
