Exploring Martian planetary images: C++ exercises for CS1
SIGCSE '97 Proceedings of the twenty-eighth SIGCSE technical symposium on Computer science education
Animation, visualization, and interaction in CS 1 assignments
SIGCSE '98 Proceedings of the twenty-ninth SIGCSE technical symposium on Computer science education
Structure and Interpretation of Computer Programs
Structure and Interpretation of Computer Programs
Teaching two-dimensional array concepts in Java with image processing examples
SIGCSE '03 Proceedings of the 34th SIGCSE technical symposium on Computer science education
Using image processing to teach CS1 and CS2
ACM SIGCSE Bulletin
Data Structures and Algorithms in Java
Data Structures and Algorithms in Java
The role of computer science in digital production arts
Proceedings of the 11th annual SIGCSE conference on Innovation and technology in computer science education
Teaching CS1 with graphics and C
Proceedings of the 11th annual SIGCSE conference on Innovation and technology in computer science education
Using graphics research to teach freshman computer science
ACM SIGGRAPH 2006 Educators program
An image background detection project for a visual exploration of DFS and BFS
Proceedings of the 39th SIGCSE technical symposium on Computer science education
A graphics-based approach to data structures
Proceedings of the 13th annual conference on Innovation and technology in computer science education
QuickDraw: bringing graphics into first year
Proceedings of the 40th ACM technical symposium on Computer science education
Proceedings of the 42nd ACM technical symposium on Computer science education
Motivating students taking CS1 by using image manipulation in C and C++
Journal of Computing Sciences in Colleges
From concrete to abstract?: problem domain in the learning of introductory programming
Proceedings of the 16th annual joint conference on Innovation and technology in computer science education
CS1001.py: a topic-based introduction to computer science
Proceedings of the 17th ACM annual conference on Innovation and technology in 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
A case for course capstone projects in CS1
Proceeding of the 44th ACM technical symposium on Computer science education
Hi-index | 0.00 |
As Computer Science educators, we know that students learn more from projects that are fun and challenging, that seem "real" to them, and that allow them to be creative in designing their solutions. When we have students beating down our office doors wanting to show us what they've done, we know we have designed a project that truly meets its pedagogical goals. In CS1 courses, it is often difficult to come up with large, real-world programming projects that are at an appropriate level and that really excite students. This is particularly true in the first half of the course when students are learning basic programming and problem solving skills. We found that assignments based on image processing are an effective way to teach many CS1 topics. Because students enjoy working on the projects, they come away with a solid understanding of the topics reinforced by the projects. In this paper, we discuss many ways in which image processing could be used to teach CS1 topics. As an example, we present two image processing projects that we use in our CS1 course. These large, real-world programs are designed so that students can successfully master them early in their first semester of programming. Even though our CS1 course is taught using the C programming language, these projects could easily be used by a CS1 course in C, C++, or Java. We provide starting point code for Java and C versions of the projects, and provide sample assignment write-ups on our project webpage [12].