Jump to page content Jump to navigation

College Board

AP Central

AP Exam Reader
Siemens Awards for Advanced Placement

APAC 2010
Print Page
Home > AP Courses and Exams > Course Home Pages > The "Write" Tool for Introductory Computer Science Courses

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.


  ABOUT MY AP CENTRAL
    Course and Email Newsletter Preferences
  AP COURSES AND EXAMS
    Course Home Pages
    Course Descriptions
    The Course Audit
    Sample Syllabi
    Teachers' Resources
    Exam Calendar and Fees
    Exam Questions
    FAQs
  PRE-AP
    Teachers' Corner
    Workshops
  AP COMMUNITY
    About Electronic Discussion Groups
    Become an AP Exam Reader

Back to top