Seven design principles for scalable for-credit CS1 education

Joyner, D. A. (2017). Seven design principles for scalable for-credit CS1 education. In Proceedings of Learning with MOOCs IV. Austin, TX.

In 2016, Georgia Tech developed an online version of its CS1301: Introduction to Computing course targeting incoming CS majors (Allen 2016) to address the need to raise enrollment capacity as application and matriculation numbers rise, especially in CS. A significant emphasis was placed on leveraging the online environment to compensate for what may be lost without traditional lectures. To address this, the course was designed with seven design principles.

Seven Principles

Congruency: The course material is presented in both video and textbook formats with congruent content and organization, allowing students to quickly switch back and forth based on personal preference or individual need.

Modularity: The course was designed from individually modular parts to allow revision or insertion of new material in the future. This allows room to create new optional ‘domain’ material to introduce students to topics like data science or robotics.

Personalization: Together, congruency and modularity support an approach to personalization, which means tailoring the course content to the student’s preferences. The student is able to select content that appeals to them, a learning method or medium that appeals to them, and more.

Adaptivity: Whereas personalization is about preferences, adaptivity is about ability. The course’s adaptive textbook (a Smartbook from McGraw-Hill) and the embedded exercises within the course structure the student’s experience around their own ability.

Assessment: To feed that adaptivity, the course leverages rapid assessments within the course material itself, giving students immediate information about their progress. These assessments also mean completing the course itself represents a level of ability, diminishing the need for external summative assessment.

Feedback: Those assessments, however, are only useful to students if they provide actionable information, and so they are all constructed to give the individual feedback necessary to consistently move forward with the material.

Accreditation: Underlying all of this, the course was designed to be a for-credit course, which demanded rigorous assessment, reliable checks for academic honesty, and the potential for adherence to a traditional semester-based schedule.

Initial Results

The course was offered to 60 Georgia Tech students starting in January 2017, and opened as a MOOC in February 2017 (at The SCS1 test, a variation of the standardized FCS1 test for CS1 knowledge (Tew & Guzdial 2010), was used to assess learning gains, and a survey was used to evaluate student experiences. Both the tests and the surveys were given to both this new online version and the parallel traditional version of CS1301.

In terms of learning gains, there were no statistically significant differences in pre-test, post-test, or learning gains between the traditional and online versions, suggesting students in the online version were not disadvantaged. This lack of difference applied when controlling for prior experience, too; more online students had prior CS experience, but those that did not were similarly not disadvantaged.

Students in the online version, however, rated the class more highly. 94% of students in the online class rated the course ‘at least as good’ as other college courses, while 82% rated it ‘better’.


Allen, T. (2016, November 11). “Intro to Computing using Python” goes online. The Technique.

Tew, A. E., & Guzdial, M. (2010, March). Developing a validated assessment of fundamental CS1 concepts. In Proceedings of the 41st ACM technical symposium on Computer science education (pp. 97-101). ACM.

Full Version

Leave a Reply