register | login

CodeLab
  • The Exercises
  • Graduated Complexity
  • Teaching Strategies
  • Installation
  • FAQ
  • Frequently Asked Questions

    How much does it cost?
    Can professors add their own exercises?
    How long does it take students to do the exercises?
    How does CodeLab determine correctness?
    Do I have to install anything on my network or computer?
    Why can't I run the CodeLab server on our local network?
    Won't students just plagiarize each other's answers?
    How does CodeLab compare with various IDEs for beginners?
    How does CodeLab compare with the "knockoffs" (CodeX, XLab, etc.) provided by publishers?
    Is CodeLab tied to any particular textbook?

    How much does it cost?
    Click Here For Pricing

    Can professors add their own exercises?
    Yes! CodeLab now includes an Instructor Exercise Editor that allows instructors to add their own full-program exercises (i.e. "Write a program that..."). The Editor is located under the "NEW" tab of the Lab section of CodeLab. These instructor exercises will be placed in the CodeLab table of contents with the other exercises and be tested for correctness by our system using the instructor-provided input and output.

    How long does it take students to do the exercises?
    This, of course has a lot to do with the individual student and the particular exercise, but we do know that 90% of the exercises are completed in less than four attempts and that the average number of submissions needed to complete an exercise completely is 1.5.

    How does CodeLab determine correctness?
    The instructions of an exercise specify code that changes the computer's state in a particular way under particular circumstances. The Turing's Craft engine determines whether or not the student submission meets this specification. Correctness is not affected by inelegance or inefficiency.

    Do I have to install anything on my network or computer?
    There is nothing to install to use CodeLab. All that is needed is an internet connection and a common web browser.

    Why can't I run the CodeLab server on our local network?
    Three reasons: support, environment, and liability. First, we're very proud of the support we provide. We carefully monitor logs from all our users and if an error or anomaly is discovered we rapidly correct the problem. Local installation precludes that. Also, to make our server do its "magic", we rely on all sorts of ancillary environmental software that is difficult to guarantee (and in the right version) locally. Finally there's liability: obviously security issues are non-trivial here. Add lawyers and you know the rest.

    Top

    Won't students just plagiarize each others answers?
    While there may be some plagiarism going on in CodeLab exercises, we believe it tends to be minimal for the following reasons:
    1. CodeLab exercises tend to be easy for students to do. We go to great lengths to provide helpful feedback and hints. Furthermore, CodeLab exercises are small-- that makes them non-overwhelming. Finally, CodeLab exercises are "graduated" in complexity. If a student has done the first N in a batch, N+1 is only slightly more complex or sophisticated.

      Thus, one of the main motivations of cheating (the feeling that "I can't do this" or even "this will take me forever") goes away.

    2. There are so many CodeLab exercises (200+) that cheating becomes a pain in the neck. It is much more of a bother to post somewhere 200 separately copied/pasted solutions than to post 10 major homeworks. Likewise it is more of bother to copy/paste such solutions in to the exercises. The net "saving" just isn't there.
    We could use tools that compare submissions, but that would be futile for many problems where most submissions would ordinarily be some minor variation of an "obvious" solution.

    Top

    How does CodeLab compare with the various IDEs for beginners?
    CodeLab is a collection of short focused, programming exercises that are automatically evaluated for correctness and return helpful feedback on errors. These capabilities and the benefits that come from them are not present in any other product. CodeLab is not an environment for writing and compiling full programs from scratch. There are many IDEs available that offer features to make it simpler to begin writing programs, but CodeLab remains the simplest way for students to start writing real programming code and know instantly whether they are doing it right. In the end, CodeLab is complementary to these development environments and for beginners the combination of CodeLab and a learning IDE would be very beneficial.

    Top

    How does CodeLab compare with the "knockoffs" (CodeX, XLab, etc.) provided by publishers?
    Publishers are in the business of selling books. The knockoffs provided by some publishers "for free" are an attempt to kill used-book sales and support the current stratospheric level of textbook pricing. This goes hand in hand with the strategy of frequent new editions with marginal improvements. These knockoffs represent a minimum investment on the publisher's part. At best they provide a web-accessible compiler/minimal IDE with sample code from the book for the student to play with. They do not catch logical errors at all (so of course they can't give feedback on those) and even the feedback and hints they provide for compiler errors are generic, and not specific to student submission.

    CodeLab, on the other hand was developed by faculty for the specific purpose of helping our students. It became a commercial product as part of an NSF-suggested strategy for dissemination. The purpose of CodeLab is helping students learn-- its commercial nature is a vehicle to make that possible. The purpose of the knockoffs is to kill the used-book market.

    Comparison? There's no comparison. Top

    Is CodeLab tied to any particular textbook?
    CodeLab is textbook-independent: it is a great self-paced lab that complements any introductory programming text. The topics covered by CodeLab are found in most introductory Computer Science textbooks that focus on the fundamentals of programming.

    Top
    What our instructors say
    "Our students and instructors credit the labs and the CodeLab for improved marks. Learning by doing has helped the students. CodeLab has structured all those things that I have been telling the students to do for their own good. Now that I can check to see whether they have followed through I can reward their efforts." Jeremy Sills, Professor, University of Toronto (more)

    Try a demo
    Take a guided tour of the system or try some free samples from the interactive Turing's Craft CodeLabs.

    Certified Code
    CodeLabs automatically certify that the student has written correct programming code.

    Home Buy Login Register Support Monitor Status Contact Us Sitemap
    Privacy Policy Copyright 1999-2016