Integrating mathematics and programming into a three tiered model for computer science education
SIGCSE '94 Proceedings of the twenty-fifth SIGCSE symposium on Computer science education
A three-fold introduction to computer science
SIGCSE '94 Proceedings of the twenty-fifth SIGCSE symposium on Computer science education
A C-based graphics library for CS1
SIGCSE '95 Proceedings of the twenty-sixth SIGCSE technical symposium on Computer science education
A revised model curriculum for a liberal arts degree in computer science
Communications of the ACM
Advanced compiler design and implementation
Advanced compiler design and implementation
Concurrency the first year (panel session): experience reports
Proceedings of the thirty-first SIGCSE technical symposium on Computer science education
Our curriculum has become math-phobic!
Proceedings of the thirty-second SIGCSE technical symposium on Computer Science Education
Journal on Educational Resources in Computing (JERIC)
The Science of Programming
Frameworks in CS1: a different way of introducing event-driven programming
Proceedings of the 7th annual conference on Innovation and technology in computer science education
Structure and Interpretation of Computer Programs
Structure and Interpretation of Computer Programs
Introduction to Computer Graphics
Introduction to Computer Graphics
Teaching Java with Graphics in CS1
ACM SIGCSE Bulletin
Striving for mathematical thinking
Working group reports from ITiCSE on Innovation and technology in computer science education
Teaching objects-first in introductory computer science
SIGCSE '03 Proceedings of the 34th SIGCSE technical symposium on Computer science education
Implementing CC2001: a breadth-first introductory course for a just-in-time curriculum design
SIGCSE '03 Proceedings of the 34th SIGCSE technical symposium on Computer science education
Construction of Thinned Gated Single-Assignment Form
Proceedings of the 6th International Workshop on Languages and Compilers for Parallel Computing
Journal of Computing Sciences in Colleges
Introducing computer science after programming
Journal of Computing Sciences in Colleges
Ensuring a rigorous curriculum: practices and goals
Journal of Computing Sciences in Colleges
Introduction to Computing Systems: From Bits & Gates to C & Beyond
Introduction to Computing Systems: From Bits & Gates to C & Beyond
Communications of the ACM - Why CS students need math
Mathematical reasoning in software engineering education
Communications of the ACM - Why CS students need math
Hi-index | 0.00 |
We have developed and implemented a "rigor-first" approach to CS1 instruction, in which we introduce rigorous techniques for understanding algorithms alongside associated programming skills. This core material is developed through a number of engaging problems from more advanced courses in computer science and other natural sciences. These principles are continued in CS2, and the two courses form our "3-2-1" first-year sequence: three programming paradigms and two models of program execution are explored on a single platform. This article discusses the design of our CS1 course, its role in the computer science curriculum, and our experiences with it. Preliminary assessment suggests this approach has merit in our curriculum.