The case for case studies of programming problems
Communications of the ACM
AAA and CS 1: the applied apprenticeship approach to CS 1
SIGCSE '95 Proceedings of the twenty-sixth SIGCSE technical symposium on Computer science education
“We have never-forgetful flowers in our garden”: girls' responses to electronic games
Journal of Computers in Mathematics and Science Teaching
Communications of the ACM
Application-based modules using apprentice learning for CS 2
SIGCSE '97 Proceedings of the twenty-eighth SIGCSE technical symposium on Computer science education
Conservatively radical Java in CS1
Proceedings of the thirty-first SIGCSE technical symposium on Computer science education
Resources, tools, and techniques for problem based learning in computing
ITiCSE-WGR '98 Working Group reports of the 3rd annual SIGCSE/SIGCUE ITiCSE conference on Integrating technology into computer science education
A laboratory for teaching object-oriented language and design concepts with teachlets
OOPSLA '05 Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Restoring "coding with intention" in introductory programming courses
Proceedings of the 8th ACM SIGITE conference on Information technology education
ICER '08 Proceedings of the Fourth international Workshop on Computing Education Research
Extreme apprenticeship method in teaching programming for beginners
Proceedings of the 42nd ACM technical symposium on Computer science education
ITiCSE 2010 working group report motivating our top students
Proceedings of the 2010 ITiCSE working group reports
Human-centered visualization environments
Human-centered visualization environments
Extreme apprenticeship method: key practices and upward scalability
Proceedings of the 16th annual joint conference on Innovation and technology in computer science education
Management, structures and tools to scale up personal advising in large programming courses
Proceedings of the 2011 conference on Information technology education
Proceedings of the 16th annual conference reports on Innovation and technology in computer science education - working group reports
A software craftsman's approach to data structures
Proceedings of the 43rd ACM technical symposium on Computer Science Education
On the design of effective learning materials for supporting self-directed learning of programming
Proceedings of the 12th Koli Calling International Conference on Computing Education Research
Hi-index | 0.00 |
Various methods have been proposed in the past to improve student learning by introducing new styles of working with assignments. These include problem-based learning, use of case studies and apprenticeship. In most courses, however, these proposals have not resulted in a widespread significant change of teaching methods. Most institutions still use a traditional lecture/lab class approach with a strong separation of tasks between them. In part, this lack of change is a consequence of the lack of easily available and appropriate tools to support the introduction of new approaches into mainstream courses.In this paper, we consider and extend these ideas and propose an approach to teaching introductory programming in Java that integrates assignments and lectures, using elements of all three approaches mentioned above. In addition, we show how the BlueJ interactive programming environment [7] (a Java development environment aimed at education) can be used to provide the type of support that has hitherto hindered the widespread take-up of these approaches. We arrive at a teaching method that is motivating, effective and relatively easy to put into practice. Our discussion includes a concrete example of such an assignment, followed by a description of guidelines for the design of this style of teaching unit.