Prerequisite: C or better in CS 211 or CS 222, and C or better in CS 110 (CS 110 can be a co-requisite with CS 262).
Late Projects: Late projects will be penalized 10 points per day (incl. weekend days/holidays) for the first five days past the due date. After that time, late projects will be penalized 5 points per day for the next five days. The maximum late penalty will be 75 points. You should recognize that late work can cause major penalties, so start work early! If your program isn't the way you'd like it to be when the deadline is near, submit it anyway for partial credit. In fact, submit early and often! The system permits you to retrieve and resubmit your assignment until the due date, so you may resubmit if you improve your program prior to the deadline. Resubmissions after the deadline require approval of your TA (s/he may already have graded your project). If you know that you wish to resubmit a new version after the deadline, it is your responsibility to notify your TA no later than the time of the deadline, so s/he will not grade the on-time submission. No resubmissions may be made after a project has been graded.Class Communications: CS 262 will be using Piazza and Blackboard for most class communications. You are responsible for any notifications or information posted on Blackboard/Piazza either by your instructor, your GTA or the class UTA(s), and you will need to check the systems regularly for such notices. Some information may be disseminated through these systems rather than in class. Individual communications with the professor/GTA/UTA may be done by email using your GMU email account. When you email, please be sure to include your name, the class number and the topic in the subject header. (E.g.: Subject: Jim Jones / CS 262-003 / Project 2)
(1) No sharing or discussion of code. Unless specifically stated otherwise, all assignments are individual projects, not group projects. Students are expected to do their own work, not to share programs with each other, nor copy programs from anyone else. This means you may not discuss program design or solution strategies with anyone except your instructor or a CS262 GTA/UTA. However, you may offer more limited assistance to your fellow students regarding specific questions on their programming assignments by responding to queries on Blackboard. Any sharing of code or discussion of programming projects, except within the parameters of Blackboard, constitutes an honor code violation. Suspected honor code violations are taken very seriously, and will be reported to the Honor Committee. Read the GMU Honor Code and CS Department Honor Code. You are bound by these codes.
(2) No incorporation of code from any source external to the course. You may not incorporate code written by others, such as code found on the Internet or any of the numerous CS books available. You may freely use any code provided as part of the project specifications, without any need for crediting the source. However, if you use code provided by your instructor or GTA (other than that given as part of the project specifications) or from the course textbook, you must document what portion came from those sources.
(3) Blackboard/Piazza. We encourage the use of Blackboard and/or Piazza to discuss assignments and assist one another with programming questions. You may ask questions or respond to queries on BB/Piazza regarding projects or other assignments, so long as you do not post any C code or detailed pseudocode, and so long as you do not provide specific solutions to the overall problem or algorithm design (even in English). Often, students believe that "simple" code is acceptable to place on Blackboard/Piazza. However, because there is a wide variation in what different students and instructors regard as "simple," we must be very strict about the ban against Blackboard/Piazza code. Only an instructor, GTA or UTA is permitted to place code on blackboard unless it is code that has already been provided to all students (either as part of the assignment specification itself or within the class textbook).
(4) Discussing Blackboard/Piazza postings outside of Blackboard/Piazza. Please note that Blackboard or Piazza assistance must remain on the forum. "Summarizing" Blackboard/Piazza statements or responses to another student verbally regarding an assignment is not acceptable, and is subject to the above ban on discussing assignment solutions. While it may seem harmless, Blackboard/Piazza was set up so that all assistance could be overseen by instructors/TAs/UTAs, and it is nearly impossible to truly duplicate Blackboard/Piazza discussion outside of the actual forum, thus creating the potential for either (unknowing) mistaken advice, or for unfair advantage by certain students. If you truly wish to assist a fellow student, encourage him or her to log onto Blackboard/Piazza, and direct him/her to specific postings you find helpful.
(5) Back up your program regularly. You are expected to back up your program in separate files as you get different pieces working. Failure to do this may result in your getting a much lower grade on a program if last minute problems occur. (Accidentally deleting your program, having problems connecting, etc., will not be accepted as excuses.)
(6) Keep an untouched copy of your final code submission. It is important that you not touch your programs once you have made your final submission. If there are any submission problems, consideration for credit will only be given if it can be verified that the program files were not changed after being submitted.
(7) Code must run on Zeus using gcc. Students may develop programs using any computer system they have available. Please note, however, that submitted projects must run under the gcc compiler (using all specified compiler options) available on Zeus. Your documentation should clearly state which software was used for compilation, and once makefiles are introduced, a makefile should be included with each assignment submission. No extensions will be given due to compiler incompatibilities.
(8) Do NOT place your code on any computer other than zeus, your own
personal device, and private postings to piazza. Placing code on
personal github repositories, the use of external (online) compilers and
IDEs, and/or posting assignment specifications or your code to "tutoring"
websites is forbidden. Violations of this policy may result in a GMU
Honor Code violation, even after the course has ended and a grade has been