Assignment#2 - revised marking guide- remarked by James Fei Xin Student total mark:___/100 Datafile design marks: ___ /30 /10 file creation follows own specs if you do not have a design file, -10 I will take all the 10 marks for this part. (but if you hand in a datafile.dat, anyway, I will try to give the mark for datafile design base on that file .) if you have a design file, follow the follow mark guide -2 without assumption Option (-1 if you have assumption but too strong ) -2 without field and record structure design -2 without compaced data file -2 without example -2 no calculation for fields size and file size -1 multi reports or report too long. /20 datafile design (based on generality and space efficiency) 10 generality(base marks): Basicly if you deal with "***" and CR/LFs, you will have this 10 mark. otherwise: >>> -3 for who did not remove "***" >>> -3 for who did not remove the CR/LFs 10 detail:(if you do extra compactions, you will go to this part base on the 10 base marks ) (the reduction will not more than 10) -2 did not use binary encode >>> -1 did not combine the fields (left the delimeters among the first 4 fields; the issue here is not field combination - but the fact that for best compaction you should not use a delimiter for fixed-length fields) >>> -1 did not compact year (here there are various ways to compact it: using number as binary or extra assumptions) >>> -1 did not compact the course code (name) >>> -1 did not compact the semester (several ways of doing this: using binary bit or substituting by a letter) -2 change the variable length field to fixed length field -1 variable length primary key (allow the empty section field be ignored) >>> +3 remove string pattern -1 Missing the empty field -1 replace empty field with white space or other character (only if you used the delimiters and replaced empty field with white space) -1 extra delimiters (if you put unnecessary delimeters) Option (-1 if you have assumption but too strong ) expected range between 10 and 20, where: 10 = basic design 20 = good design that includes course number and year represented as binary Program marks: ___/70 Testing diagnosis (TA chooses (X) one of the two below) ( ) Program doesn't compile or always crash when run Based on amount of code implemented and code style, your mark is ____ out of 25. If your program can not be compiled in the public lab; or your program alway crashed; or your program can not give any correct search results and insert records correctly, or your program can only return several correct results(no more than 5 in the all three test files) I will give mark bask on can be compiled 5 marks; have a good class defination 5 marks; code amount 5 marks; code style 5 marks; can return some correct result 5 marks; ( ) Program compiles and run for at least one of the ouputs CORRECTNESS AND EFFICIENCY:___/65 initializations and finalizations (5 marks) >>>> no disocunt: no memory dynamic allocation: used fixed length array >>>> -1 :no memory release index creation (10 marks) -10 no index >>>> -3 index not in memory (if use a file for the index) >>>> -4 Did not use an array(using string for index) >>>> -1 using an index object array (inefficiency) -2 bad index design parsing of desired operations (10 marks) -2 reading whole file into memory (**** note by prof: this discount should have been greater; no change) -2 no error check (for the input of searching and insertion, if such error cause program crash,the mark reduced will be increased to -5) search: index part (10 marks) >>>> -2 linear search in sorted array >>>> -3 did not sort array and used linear search search: datafile part (read and display) (10 marks) -2 reading whole file into memory (**** note by prof: this discount should have been greater; no change) -3 without output for search result >>>> -1 operating seekg and seekp in the wrong way >>>> -2 Did not mapping the search result(the search result miss infomation from orginal data) -2 after insert, an instantly search can not find the inserted record >>>> -1 search result did not display as the orignal data insertion: appending datafile (10 marks) -2 insert duplicate record -2 new record wasn't appended at the end of file >>>>> -1 after appending did not clean the fstream flag >>>>> -1 confused Seekp and Seekg -2 using close file instead of clear flag -2 reopen file in every insert but did not close it -2 inserted record did not match orginal data insertion: modifying index (10 marks) >>>>> -3 Did not Resize index: (discount only if it causes error/not discounted for fixed high value) >>>>> -3 did not resort the index or did not insert index item in order >>>>> -3 Did not add the new item into index >>>>> -3 recreate whole index >>>>> -1 Resort the whole index STYLE mark:___/5 areas that need improvement: (the base mark is zero) -2 should return message after your operation -2 bad comment -2 huge code block (loop, and if-else) -2 bad class definition -2 meaningless variable name attention: (Base on the different cases, the mark may be a small difference. some very special error maybe not mention in this guide. The reason of reduction will be added after the mark)