| 2004 | Teaching roles of variables in elementary programming courses. | Marja Kuittinen, Jorma Sajaniemi |
| 2004 | Treemap visualizations for CS2. | Martha J. Kosa, Mark A. Boshart |
| 2004 | Community-oriented pedagogy for in-service CS teacher training. | Yifat Ben-David Kolikant, Sarah Pollack |
| 2004 | Generation as method for explorative learning in computer science education. | Andreas Kerren |
| 2004 | Addressing professional issues at postgraduate level. | Donald Joyce, Alison Young |
| 2004 | Investigating wired and wireless networks using a java-based programmable sniffer. | Michael J. Jipping, Andrew J. Kalafut, Nathan Kooistra, Kathleen Ludewig |
| 2004 | It is time to emphasize arraylists over arrays in Java-based first programming courses. | Norman Jacobson, Alex Thornton |
| 2004 | Using history to enhance computing courses. | John Impagliazzo, John A. N. Lee |
| 2004 | Penny piles. | Peter B. Henderson |
| 2004 | Mass production of individual feedback. | David Heaney, Charlie Daly |
| 2004 | The practicum in computer science education: bridging gaps between theoretical knowledge and actual performance. | Orit Hazzan, Tami Lapidot |
| 2004 | Cryptanalysis of some encryption/cipher schemes using related key attack. | |
| 2004 | A virtual reality simulator of the ENIAC. | Douglas E. Harms |
| 2004 | Program quality with pair programming in CS1. | Brian Hanks, Charlie McDowell, David Draper, Milovan Krnjajic |
| 2004 | An approach to teaching design patterns using musical composition. | John Hamer |
| 2004 | Searching the web to develop inquiry and collaborative skills. | Denis Hamelin |
| 2004 | A classroom experiment for teaching automata. | Mohamed Hamada, Kazuhiko Shiina |
| 2004 | Information systems and the overview report for computing curricula 2004. | John T. Gorgone |
| 2004 | The relationship between CS education research and the SIGCSE community. | Michael Goldweber, Martyn Clark, Sally Fincher, Arnold Pears |
| 2004 | Helipad. | David Ginat |
| 2004 | Do senior CS students capitalize on recursion? | David Ginat |
| 2004 | Embedding instructive assertions in program design. | David Ginat |
| 2004 | The use of a code restructuring tool in the learning of programming. | Stuart Garner |
| 2004 | Introducing undecidability. | Judith Gal-Ezer, Dvir Lanzberg, Daphna Shahak |
| 2004 | Interesting basic problems for CS1. | Judith Gal-Ezer, Dvir Lanzberg, Daphna Shahak |