Events News Research CBS CBS Publications Bioinformatics
Staff Contact About Internal CBS CBS Other

Exercise Delivery Status for Course Participants

R means received if I am far behind evaluating exercises.
Name\Lesson1234 5678910 1112Score
abali, Anne Pihl Bali A98%B100%B99%B97% B96%B100%B98%B99% A100%A100%   
aell, Anders Ellegaard Nielsen B96%B99%B97%B97% A100%A98%A100%B95% A100%    
caesk, Christine Alexandra Egaa Skovbjerg B95%B100%B98%B89% B82%B94%B68%  A92%    
carer, Carsten Eriksen B94%B96%B95%B86% C81%A95%C86%C94% B80%    
chrsn, Christina Spuur Nødvig B96%B100%B100%C96% B93%B100%A100%B100% B99%    
lasa, Lasse Norup Andersen B97%B94%C92%B96% B98%C64%B96%B91% B93%    
lasno, Lasse Nørregaard A97%B100%B95%B91% C70%B97%B95%A97% C75%    
lhla, Lasse Holm Lauridsen A98%B90%             
miken, Mikael Engmark C100%B100%B90%C81% A94%A99%A91%B90% A92%    
s041071, Linda Hove Christensen A100%A100%A100%B100% A95%A96%-       
s071552, Anne Birk Frahm B95%B98%B100%C94% B98%B95%B96%C92%      
s082495, Jacob Hellum Nielsen --D85%C83% -C88%    B90%   
s100524, Mia Louise Søgaard C90%C100%B98%B85% B90%A94%D84%B98% B85%    
s102854, Mikala Sif Skovgaard A98%B100%C95%B90% C97%B98%B93%B95% B93%    
s102855, Katrine Graversen A90%A100%B98%B98% A98%B98%B98%A97% A100%    
s102865, Inge Kjærbølling A99%A100%B100%B99% B98%B88%A99%  A100%A100%   
s102869, Kristian Barreth Karlsen B96%B99%A92%D90% A95%D65%B92%A95% B75%    
s102889, Louise Heydenreich Jensen A99%B100%B98%A99% B91%A60%A100%B98%      
s103501, Andreas Rothemejer Jacobsen C95%C95%B98%B98% B95%C27%C70%  B100%    
s104075, Sofie Holtsmark Nielsen D60%--- B98%B93%B100%  B99%C90%   
s104195, Kasper Drenck B94%C99%C90%C94% B94%C86%D90%C85% B78%    
s112812, Rune Svendsen B94%A96%B99%B97% B95%B98%C90%B98%      
s112820, Rohullah Sahar B92%D83%C95%B90% C87%B91%D82%B96%      
s112828, Mia Reffs A99%B95%B100%B88% B93%A95%B68%C83%      
s112831, Kennie Rosairus Prehn B97%B96%A97%B89% C88%A99%B90%B84% B80%    
s112834, Barbara við Breiða Lindhard B88%B97%A100%C78% B90%B98%C94%  B90%A75%   
s113473, Michael Schlosser Poulsen B88%A92%B96%B92% C97%B95%B91%B95% B85%A80%   
s123893, Kristian Davidsen A100%A97%B90%B100% B92%B98%B100%  A100%A100%   
s130908, Øystein Monsen B90%B96%C88%A96% B100%C96%B93%B89% B98%    
s130942, Konstantinos Tsirigos A94%B97%B98%B90% C84%C87%C82%C89%      
s131543, Ove Øyås A97%A99%C89%A100% A100%A100%B95%  A99%    
s136149, Bartlomiej Kolaczkowski A96%B100%B92%B86% D83%A67%C84%C78% C86%    
s136169, Janina Durys C94%C97%B100%B80% C94%D50%D73%  D75%    
s992453, Zina Adil Al-Shatrawi B92%C95%B92%C93% C80%B94%B78%C84%      

The score you get on this page consists of two factors, a letter denoting the code goodness, and a percentage that shows how well your code fulfills the stated text and solves the given problem(s). The goodness is therefore an overall evaluation of the code quality, while the percentage is telling about the concrete errors you made. They are not at all the same thing; it is quite easy to have great code contain small errors, and lousy code to be correct.

Code goodness:
The grades in goodness are: A - excellent, B - good, C - average, D - substandard, F - Fail.
Here are some of the parameters that goodness is evaluated from in no particular order:

  • Easy to read
  • Easy to maintain
  • Easy to extend
  • Easy to use
  • Explicit code
  • Comments explaining the code - what is happening. Usually 10-20% of the chars used should be comments. There is such thing as too many comments - when you have more comments than code you are over the limit.
  • Wellchosen descriptive names for variables, subroutines, etc.
  • Modular construction of the code
  • No special cases, but general programming
  • Not bloated code - slim and elegant
  • Demonstrating overview of the problem
  • Avoiding using last, die and exit in ways that break the natural flow of the code
  • Catches errors in the input - and explains what the error is
  • Code is optimized and logical
  • Code does not unnecessarily use memory - like slurping files for no good reason
  • No warnings about using uninitialized variables
  • Using correct data structures and understanding the basis of the various types
  • Using efficient and clear algorithms
  • Correct use of Perl ideoms, concepts and constructs

Many of these parameters overlap to a lesser or greater extent. It does not matter. What matters is that they explain in different ways what code goodness is.
The teachers solutions are (mostly) examples of good code. Often various solutions to the same problem are shown and pro's and con's of each discussed - read them.

You will get a final number that is the average of all percentages times the respective goodness, where A = 1.0, B = 0.9, C = 0.8, D = 0.7, F = 0.5, i.e. avg(A100%, B90%, C80%) = (100 + 81 + 64)/3 = 82.