Component-based software using RESOLVE
ACM SIGSOFT Software Engineering Notes
Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
Client view first: an exodus from implementation-biased teaching
SIGCSE '99 The proceedings of the thirtieth SIGCSE technical symposium on Computer science education
A simple java package for GUI-like interactivity
Proceedings of the thirty-second SIGCSE technical symposium on Computer Science Education
Do we really teach abstraction?
Proceedings of the thirty-second SIGCSE technical symposium on Computer Science Education
Javiva: a tool for visualizing and validating student-written Java programs
Proceedings of the thirty-second SIGCSE technical symposium on Computer Science Education
Explorations: structured labs for first-time programmers
Proceedings of the thirty-second SIGCSE technical symposium on Computer Science Education
Using lab practica to evaluate programming ability
Proceedings of the thirty-second SIGCSE technical symposium on Computer Science Education
Introductory programming, criterion-referencing, and bloom
SIGCSE '03 Proceedings of the 34th SIGCSE technical symposium on Computer science education
The effect of closed labs in computer science I: an assessment
Journal of Computing Sciences in Colleges
First year programming: let all the flowers bloom
ACE '03 Proceedings of the fifth Australasian conference on Computing education - Volume 20
An approach to teaching Java using computers
ACM SIGCSE Bulletin
A media computation course for non-majors
Proceedings of the 8th annual conference on Innovation and technology in computer science education
JavaCHIME: Java class hierarchy inspector and method executer
ACM-SE 42 Proceedings of the 42nd annual Southeast regional conference
Practice what you preach: full separation of concerns in CS1/CS2
Proceedings of the 37th SIGCSE technical symposium on Computer science education
A framework for CS1 closed laboratories
Journal on Educational Resources in Computing (JERIC)
CS 0.5: a better approach to introductory computer science for majors
Proceedings of the 39th SIGCSE technical symposium on Computer science education
Extreme apprenticeship method in teaching programming for beginners
Proceedings of the 42nd ACM technical symposium on Computer science education
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
Multi-faceted support for MOOC in programming
Proceedings of the 13th annual conference on Information technology education
Hi-index | 0.00 |
We adopt the view that CS1 labs are not programming assignments, and that they should not be used for grading students or assessing their level of understanding. Instead, we think of them as teaching instruments that complement lectures by teaching the same material but in an exploratory fashion. But for labs to play this pedagogical role, certain conditions must be met in terms of how they are written and the complexity they expose. In this paper we present guidelines for designing the labs and the Java packages that must accompany them, with special emphasis on software engineering. Our own experience with implementing these guidelines, together with a few samples, is included.