|
Guidelines
|
- Individual Work Policy
- Students in this course are allowed (and encouraged!) to submit homework
assignments in PAIRS. At the same time, each pair must
work on its own. If you are not sure what is the difference between
cooperation and cheating, ASK.
- Programming style and rules
- Hardware Projects - The Java laguage conventions, i.e. Chips names
begins with upper case character, variables with lower case character, etc.
- Assembler Projects - Give meaningful names to your variables and
labels. Put a documentation every few lines (usually something like "*a=42") - it
will help you too
- Proggramming Projects - The programming exercises can be done in Java
or C/C++. If you want to use other language, contact the TA before. Although this
is not plab, points will be taken for messy, unmodular or under-documented code.
Since we require a unified inteface to the program, in case of using Java you should
add a small shell-script that runs the Java class file. you can take the
sample script as a template. Don't forget to "chmod 755" it in
order to make it an executable.
All programming exercise must include a makefile. Calling "make all" should compile
the sources and create the requried executable. You can refer to the sample makefiles
for Java and C/C++.
- What to submit
- Each submission has to include a README file whose details are described below.
- Hardware Projects - Submit the *.hdl you wrote.
- Assembler Projects - Submit the *.asm you wrote.
- Proggramming Projects - Submit only the source code of the program, as
well as the makefile.
- How to submit
- The exercises are submitted electronically. For each project create a tar file
called projX.tar (i.e. proj1.tar, proj2.tar, etc). Submit is using the
course admin system that can be reached from the administratives
page.
- README submission
- The README file should include the following details:
- In the first line should be the login(s) of the author(s), comma seperated
(and nothing else).
- The personal details of the author(s).
- The name of the exercise.
- A list of the submitted files, with a one line dexcription for each file.
- Any remarks you have about special cases, implementations, additional features
or anything else you think the checker should know.
You can use the sample README as template.
- What if you can't finish the project on time?
- Relax. All the projects in this course are highly modular, with incremental
test files. Each hardware project consists of many chip modules (*.hdl programs),
and each software project consists of many software modules (methods). It is best
to treat each project as a modular "problems set", and try to work out as many
problems as you can. You will get partial credit for your work.
- What if your chip or program is not working?
- It's not the end of the world. Hand in whatever you did, and explain what
works and what doesn't. If you want, you can also supply test files that you
developed, to demonstrate working and non-working parts of your project. Instead
of trying to hide the problem, be explicit and clear about it. You will get
partial credit for your work.
|
|