Critical programming skills cannot be learned by attending lecture. You should budget enough time to work on the programming assignments as well. Please consult the time table given on the syllabus and plan ahead. Programs are due by midnight (1 minute after 11:59pm) of the due date. Programs will be submitted using the submit system running on the GL machines. Late assignments will not be accepted (with the one exception noted in the course description). Programs will be graded on five criteria: correctness, design, style, documentation and efficiency. So, turning in a project that merely "works" is not sufficient to receive full credit.
For this course, programming projects must be developed using the NASM assembler for the Linux operating system running on an Intel Pentium CPU. This arrangement is not compatible with other flavors of UNIX, with Linux running on non-Intel CPUs or with assemblers for Windows 95/98/2k/ME/XP/NT. When in doubt the UMBC machine linux.gl.umbc.edu will be the final arbiter of what constitutes a working program. You may work on your own machines running Linux, but you will have to be your own system administrator. None of the instructors, TA or support staff at OIT will be available to help you install or debug Linux.
All programming assignments and circuit simulation exercises must be completed by your own individual effort. You should never have a copy of someone else's program either on paper or electronically under any circumstance. Also, you should never give a copy of your program or circuit, either on paper or electronically, to another student. This also means that you cannot work on the programming assignments or circuit simulation exercises together. Cases of academic dishonesty will be dealt with severely. Egregious cases of cheating will be reported as a major infraction. In this case, you will not be allowed to drop the course. Also, a major infraction would appear as a permanent part of your student record and would be seen by potential employers when they ask for an official copy of your transcript.
We will be using special software to check for cheating. The software is quite sophisticated and has surprised some students in the past. We will, of course, not release the details of the internal workings of this cheat-checking software, but you are forewarned that there is no difficulty in comparing every pair of submitted projects.
Finally, you are also warned that if your program is turned in by someone else, then both you and the person who copied your program will receive a 0 for that assignment. This includes substantially similar programs. Furthermore, all parties concerned will have their prior programs checked for cheating. So, if you cheat on the last assignment, you can lose all the points from all of your assignments --- even if you did all the work and just let other people copy from you.