Every time I start training, I pound my brains out trying to come up with short (30 mins for me) assignments that demonstrate more than typing and compiling: understanding of concepts, insight into common programming errors, non-trivial, etc. For example, have a student call a function which returns a string and store the returned value somewhere for later use. For an advanced student this is trivial. For a beginner that does not yet understand Ada arrays, it's often a constraint error... (but then, I've even seen advanced students get sloppy.)
The course lasts 40 hours. It's given to new employees (all have had Ada training). There may be a wide range of student programming abilities - I like to have two levels for each assignment so that the advanced students will be challenged too. I hate banking assignments and almost every other theme-oriented assignment for mostly-subjective reasons. I like data structure assignments - most algorithm-oriented assignments are out of the scope of the class (algorithms for Adjust and Finalize are not). I like to have some assignments related - students build upon code written in the previous assignment(s).
The driving factor of assignment size is the limited class time (and time outside of class). Students should be able to finish the assignment in an hour or two. When I see most of the class get it wrong the first time I know that the assignment is going well.
I've looked through some on-line resources seeking short assignments but have found none within my constraints (college assignments are usually 1-2 week assignments - and maybe I'm being too picky - naaa :-)
So now I'm asking you for short, related, non-trivial, assignments that you've enjoyed or enjoyed giving as examples to help others avoid common programming errors or to give others insight into the Ada language. ...or if you've seen it on-line somewhere...
-- ======== A312 1116 47FC 79EA : 7AA6 592C ECDC F109 ======== --
Harris HISD W1-7911 [log in to unmask]
2900 Murrell Rd. (v) 407.635.2477
Rockledge, FL 32955 (fax)407.635.7545
-- ====== To be, and not to be. That is the eigenstate. ====== --