The automated tutoring of introductory computer programming
Communications of the ACM
Analyzing a new learning strategy according to different knowledge levels
Computers & Education
DrJava: a lightweight pedagogic environment for Java
SIGCSE '02 Proceedings of the 33rd SIGCSE technical symposium on Computer science education
Working group reports from ITiCSE on Innovation and technology in computer science education
Constraint-Based Tutors: A Success Story
Proceedings of the 14th International conference on Industrial and engineering applications of artificial intelligence and expert systems: engineering of intelligent systems
ITS '02 Proceedings of the 6th International Conference on Intelligent Tutoring Systems
Human-computer discourse in the design of a PASCAL tutor
CHI '83 Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Journal of Computing Sciences in Colleges
Proceedings of the first international workshop on Computing education research
What do teachers teach in introductory programming?
Proceedings of the second international workshop on Computing education research
A "design-first" curriculum and Eclipse™ tools
Journal of Computing Sciences in Colleges
An assessment of computer science animations
Journal of Computing Sciences in Colleges
Fundamental concepts of CS1: procedural vs. object oriented paradigm - a case study
Proceedings of the 12th annual SIGCSE conference on Innovation and technology in computer science education
Client-side dynamic metadata in web 2.0
SIGDOC '07 Proceedings of the 25th annual ACM international conference on Design of communication
An environment to improve programming education
CompSysTech '07 Proceedings of the 2007 international conference on Computer systems and technologies
Has the paradigm shift in CS1 a harmful effect on data structures courses: a case study
Proceedings of the 40th ACM technical symposium on Computer science education
Empirical comparison of objects-first and objects-later
ICER '09 Proceedings of the fifth international workshop on Computing education research workshop
Proceedings of the 2009 conference on Artificial Intelligence in Education: Building Learning Systems that Care: From Knowledge Representation to Affective Modelling
Developing verification-driven learning cases
Proceedings of the fifteenth annual conference on Innovation and technology in computer science education
Proceedings of the 16th annual conference reports on Innovation and technology in computer science education - working group reports
Student modeling with atomic bayesian networks
ITS'06 Proceedings of the 8th international conference on Intelligent Tutoring Systems
What does "objects-first" mean?: An international study of teachers' perceptions of objects-first
Koli Calling '07 Proceedings of the Seventh Baltic Sea Conference on Computing Education Research - Volume 88
Journal of Computing Sciences in Colleges
Debugging tutor: preliminary evaluation
Journal of Computing Sciences in Colleges
Hi-index | 0.00 |
"Objects-first" is an increasingly popular strategy for teaching object-oriented programming by introducing the concepts of objects, classes, and instances before procedural elements of a programming language. Still, this approach emphasizes coding rather than other critical aspects of software development, notably problem-solving and design. We propose a "design-first" curriculum, which subsumes an objects-first approach into lessons that also introduce object-oriented analysis and design, using elements of UML before implementing any code. We also present CIMEL ITS, an intelligent tutoring system that uses the design-first approach to help students of various learning styles in a CS1 course. It interfaces with an IDE we have chosen specifically to support the design-first curriculum, and CIMEL, multimedia courseware which has been shown to be effective in helping students learn object-oriented programming concepts.