|
|
|
 |
 |
 |
|
The "Write" Tool for Introductory Computer Science Courses
|
|
|  |
by Karen North Westside High School Houston, Texas
 |
|
|  | A First Course in Computer Science
I have taught computer science in the Pre-AP years using the TeachScheme! program for five years, both at Westside High School and Alief Elsik High School. Westside and Elsik are urban high schools with around 25 percent low income and 50 to 75 percent minority students, with students enrolled in computer science courses being around 50 percent minority and 75 percent male. The algebraic computational ability, problem-solving skills, and domain knowledge of the majority of the students are poor to average, with a few exceptional students.
In my yearlong computer science course I use the free online textbook How to Design Programs. The key feature of the textbook is the design recipe methodology that helps students learn to analyze data and plan programs before coding.
The data-driven design with the development of examples is what students need to master for computer science, as well as for problem solving in general. With TeachScheme! students learn a systematic approach to problem solving and are successful even with the hardest problems. The design recipe guides the problem solving process by focusing on the step where creativity is required; the preceding steps help with the "heavy thinking" part that students find most difficult in problem solving. The TeachPacks, which are part of the programming environment, help keep students focused on important concepts. Students who start in Scheme have a solid grasp of the fundamental concepts, which they can then use as a basis for learning other languages.
DrScheme
The IDE, DrScheme, is a free compiler that is multi-platform and multi-OS. DrScheme has an easy-to-use interpreter and the IDE can be taught in 3 to 5 minutes. It has settings for beginner, intermediate, and advanced levels, which allow the environment to give feedback that is consistent with what the student knows at a particular stage in the curriculum. The syntax is simple, with only seven keywords used for introductory programming concepts. Input-output and memory-management are automatic, so teachers can start with writing functions to solve problems and quickly cover conditional programs. Students who continue on to AP CS are much more comfortable with structures, lists, trees, forests, and recursion because of their familiarity with DrScheme. They understand the underlying concepts because there is so little syntax to get to the solution.
Success Stories
My success stories using DrScheme start with girls like one I'll call Amber. Amber is a student more interested in the beauty of writing and the organization of a task than debugging code. She came into computer science not as a computer "techie," but because she loved the aesthetic development of Web sites. This aesthetic love of writing and organization carried over into the development of computer programs using design recipes. She went on to a successful year in AP computer science and is now a computer science major.
Another student, Derrick, had such poor algebra skills that I asked for him to be taken out of the CS class. But he really wanted to learn to program, so he stayed. By the end of the first semester he overcame his computational problems and for the first time in his life made a 100 on an algebra test.
Then there is Sahil, who is in AP CS this year and is looking for a design recipe to follow like in How to Design Programs. That is another thing that makes the TeachScheme! program the perfect introductory computer science course: the same design recipes that get students through writing Scheme programs can be easily adapted to writing Java programs, C++ programs, or solving word problems in algebra class.
I see this over and over again with my students. First, girls who might never have thought of pursuing computer science find a love of programming. Students who were never successful in math make that bridge from concrete to abstract thinking. They finally master functions, variables, and word problems. Students love the step-by-step guide to analyze data and plan an original solution. I strongly feel the reason I have the time to focus on algorithm development instead of language code and syntax development is because I am using DrScheme. HtDP provides the support to empower novice programmers; DrScheme gives the practice time. DrScheme also provides unequalled technical support for beginning programmers.
Beneficial for Students and Teachers
With the TeachScheme! program students learn to analyze data and plan programs before coding. Teachers are able to help their students design programs using a free IDE, a free online textbook, free training, and wonderful help from the user community (many of whom contributed their ideas in support of DrScheme as the superior language for a first-year computer science course). The combination of HtDP and DrScheme is by far the cheapest way to develop an introductory CS program. Information on the TeachScheme! philosophy and free training workshops can be found at the TeachScheme! Project Web site, and information on the curriculum can be found at the How to Design Programs Web site.
The TeachScheme! Project
How to Design Programs
Karen North is a computer science/technology teacher and campus educational technologist at Westside High School in the Houston Independent School District. She has worked with the Texas Education Agency in developing the computer science initiative Texas Essential Knowledge & Skills, and with the State Board of Educator Certification.
|
|
|
|
|
|