Read what my teacher sent the class for the last CS project!
Several people have submitted solutions to project #4, and I
have glanced over some of them. I have seen several things
that, frankly, are unacceptable in a senior-level programming
class.
Here are some of the things I've seen:
1. Executable functions in a header file.
2. Not using the #ifndef -- #define -- #endif construct to
protect header files from nested inclusion.
3. No documentation headers. Nothing. Nada. Please read
~programming_notes/projects.html
if you have any questions. In particular, note that I will
not grade projects that do not have adequate documentation
That means zero.
4. Not meeting the most basic specifications. For example,
I should be able to repeatedly push the buttons to
get an additional "alarm" or "snooze" period. I should
have to push the q button in order to quit the program.
It should not quit on its own.
5. No user instructions, but "debugging" statements still
in place. I'm not expecting to see elaborate user
interfaces, but I should not have to read the code
or the specifications in order to use your program.
6. Things not broken up into separate functions. This is
arguable, but it does seem to me that at least the
keyboard functions should be in a separate file (with
an accompanying header file). After all, they make a
nice package for some other project. It does make
sense to place all the keyboard functions it one
file, but it should be separate from the alarmClock.c
file. I specifically recall mentioning this particular
arrangement when I lectured on the keyboard functions.
So, it is now Friday night. The project is due by midnight
Sunday. If you have already submitted your project, you should
have adequate time to clean it up and submit a newer version.
(Make sure to increment the version number of your project
directory.)
Bahahaa, that's classic
Several people have submitted solutions to project #4, and I
have glanced over some of them. I have seen several things
that, frankly, are unacceptable in a senior-level programming
class.
Here are some of the things I've seen:
1. Executable functions in a header file.
2. Not using the #ifndef -- #define -- #endif construct to
protect header files from nested inclusion.
3. No documentation headers. Nothing. Nada. Please read
~programming_notes/projects.html
if you have any questions. In particular, note that I will
not grade projects that do not have adequate documentation
That means zero.
4. Not meeting the most basic specifications. For example,
I should be able to repeatedly push the buttons to
get an additional "alarm" or "snooze" period. I should
have to push the q button in order to quit the program.
It should not quit on its own.
5. No user instructions, but "debugging" statements still
in place. I'm not expecting to see elaborate user
interfaces, but I should not have to read the code
or the specifications in order to use your program.
6. Things not broken up into separate functions. This is
arguable, but it does seem to me that at least the
keyboard functions should be in a separate file (with
an accompanying header file). After all, they make a
nice package for some other project. It does make
sense to place all the keyboard functions it one
file, but it should be separate from the alarmClock.c
file. I specifically recall mentioning this particular
arrangement when I lectured on the keyboard functions.
So, it is now Friday night. The project is due by midnight
Sunday. If you have already submitted your project, you should
have adequate time to clean it up and submit a newer version.
(Make sure to increment the version number of your project
directory.)
Bahahaa, that's classic