Well I'm taking Object Oriented Design in B term so I should (keyword here) be ok.
Sirgod, 
No, DrScheme is the single most convoluted programming language ever created by man. Here's an example of code from my homework this evening. 
;graduate-if-finish-all?: student + courses --> boolean
;consumes the student and number of courses and produces a boolean indicating if the student can graduate if they pass all their courses.
(define (graduate-if-finish-all? astudent)
  (cond [(undergrad? astudent) (cond [(<= 15 (undergrad-units astudent)) true]
                                     [else false])]
        [(grad? astudent) (cond [(string=? "MS" (grad-degree astudent))
                                 (cond [(<= 33 (grad-credits astudent)) true]
                                       [else false])]
                                [(string=? "PhD" (grad-degree astudent))
                                 (cond [(<= 90 (grad-credits astudent)) true]
                                       [else false])]
                                [else false])]
                                      
        [(nodegree? astudent) false]))
Yeah, you thought you knew how to count paren's. lol