Throughout the semester, you will be given brief assignments based on class topics. Some of these assignments will not be collected, but you are still expected to be familiar with the techniques necessary to complete them. If an assignment is collected for a grade, you will generally have one week to complete your assignment.
All assignments and projects must be uploaded to your public html directory on the department server by the assignment due date. Projects submitted via email or other means may not be accepted without prior permission. Using the server is recommended while developing your projects, as you are far less likely to lose your work. It is also the fastest way for me to assist with projects as you work. A link to your assignment, when appropriate, should be placed on the course landing page will we created early in the semester.
Projects will be tested on Chrome, Firefox, and Safari. You should check that your work displays properly on these browsers. Internet Explorer support will not be required unless specified, though code that functions on all four browsers will receive special consideration when grading.
The majority of the code you submit should be your own, but in some rare cases, it may be appropriate to use code you've found elsewhere as a starting point or to add an additional feature to your project. Any external code must be acknowledged by including a comment in your project indicating the origin of the code. This should include the web address or text where the code was found, and the author's name (if known). Using parts of complex projects you find online may be appropriate, but you should never simply copy and paste large portions of your code (even with citation). When in doubt, ask me if your intended usage is acceptable.
In addition, respect the difference between helping a classmate and doing their work for them. You are encouraged to support each other's progress in this course. However, you may not request nor provide code to your classmates without my permission. If such code sharing is determined to be appropriate, the author of the code must be cited within a comment of the project.
Using a project from another class is permitted, with permission. If you are creating a project for another course that would also satisfy the requirements for a project in this one, you may submit the project with my permission. The project must be created this semester, be your own work (not created as a group project for another course), and you should obtain permission from the instructor of the other course as well.
Failure to cite external sources used in your project, or sharing code with a classmate without permission, may result in a grade of 0 on the project and an academic dishonesty report.
Libraries and Frameworks
If you would like to use additional libraries in your project, including those not covered in class, you must request permission from me. In most cases, you'll be free to do so, unless use of the library significantly alters the spirit of the assignment.
A basis for each project's grade will be provided with the project description. You should take this criteria into account when developing your work, and note that the requirements may differ from one project to the next.
Complexity will be considered. Part of most project grades will be based on the overall level of effort required to produce it. Work should have an appropriate level of complexity, based on the amount of material we have covered. Generally, a grade of B+ or A indicates that you have gone beyond the minimum assignment requirements to produce truly outstanding work.
All files related to your assignment must be located within your public directory by the time and date indicated on the assignment. If all or part of your assignment is not received by this deadline, you may still submit your work, with a penalty. Work received within 24 hours of the due time will receive an automatic 15% deduction. Work received 24-48 hours after the due time will receive a 30% deduction. Work received more than 48 hours after the deadline will not be accepted.