Enter Store - AP Online Classes - Who We Are - Volleyball - PHAA diploma Program

Blog

AP Computer Science-- What this about a 'Case Study'???
Cynthia Lang, 2/22/2010

Cynthia Lang is a homeschool mother of several PHAA graduates, and computer science instructor at various colleges. She is completing her first year of returning to lead AP Computer Science with PA Homeschoolers AP Online, after taking a number of years off while her own children were in high school at home. She is an exceptional teacher, and shares here about a unique aspect of the AP Computer Science course and exam-- the 'case study'. For more info, see the link at the very bottom of the article. Cynthia will also soon be writing an article on how to know if your son or daughter is ready for the challenge of AP Computer Science.   

The Role of the Case Study in AP Computer Science

As you would expect considering the subject matter, the AP Computer Science curriculum changes periodically with trends in the industry. For example, there have been 3 programming languages used in AP Computer Science since 1998: Pascal, C++ and most recently, Java. The last two languages have been object-oriented, rather than procedural, languages. As computers, particularly personal computers, evolved to have graphical user interfaces, the computer programs that produce such user friendly interfaces have become increasingly large and complex. For example, Microsoft Word had 27,000 lines of code in the first version. That’s a lot, but it's now about 2 million! Object-oriented programming languages such as Java use polymorphism, inheritance, and encapsulation to make large programs easier to produce and maintain. This is why object-oriented programming languages have largely superseded procedural languages.  Students who eventually go on to careers in computer science will most likely work in teams on large programs coded in these object-oriented languages. Consequently, the College Board wanted high school students to have the experience of working with a large program, rather than being limited to the small programs that are normally assigned in computer science courses.  To achieve this goal, the College Board develops a case study every few years that is coded by master programmers.  The objectives for the case study are as follows (source: College Board)

  • Read source code written by someone else.
  • Work with a program of significant length.
  • Become familiar with good coding, design, and documentation practice.
  • Learn about testing in a non-trivial context.
  • Think through design and implementation tradeoffs.
  • Experience an approximation of the master/apprentice relationship.

This year, the case study is called GridWorld.  As the name suggests, GridWorld is a graphical world consisting of a grid where various actors move and interact. Although the interface the user sees (below) is deceptively simple, GridWorld consists of twenty classes (Java programs) working together.  Students are given 21 pages of documentation and code excerpts from the case study to use during the AP Computer Science exam.  This is the same documentation available to the students throughout the school year, so they have plenty of time to familiarize themselves with the content. Roughly five of the 50 multiple-choice questions in Sections I of the AP Computer Science Exam are devoted to the GridWorld Case Study, and it is the topic of one of the four free-response questions in Section II.

GridWorld is an excellent tool for teaching inheritance in object-oriented programming. The actors that inhabit GridWorld have some traits in common and some traits that differ. They inherit their common traits from a “parent” class.  This enables students to see how a parent-child relationship is established in object-oriented programming.

Another side benefit to the case study is that the documentation given to students entering the exam can be used as a legal crib sheet. If a student forgets the Java syntax for coding a particular statement, the case study code supplied in the exam may very well contain an example, which the student can use for a model. This minimizes that amount of memorization that is required to score well on the AP Computer Science exam.

Although I have taught AP Computer Science previously, this is my first year teaching this particular case study. To help me prepare, I have already completed two workshops for teachers on the case study, and I am registered for a third next month. These workshops supply teachers with ideas for weaving GridWorld into many aspects of the AP Computer Science curriculum, not just those dealing with inheritance. Examples of good design decisions and concise coding abound in GridWorld. It is a very appealing and interesting teaching tool. And I know that students will appreciate having a familiar set of programs handed to them when they go in to sit for the AP Exam!

For more information, see the College Board link:

 http://www.collegeboard.com/student/testing/ap/compsci_a/case.html 


Links

  • AP Online Classes
  • Blog RSS
  • Enter Store
  • Evaluators
  • High School Conference
  • Homeschool Law Guide (pdf)
  • Online Classes
  • Magazine Archive
  • PA Dept of Education
  • PA Support Groups
  • PHAA Diploma Guide (pdf)
  • PHAA Diploma Program
  • Volleyball
  • Who We Are

    Categories:
    AP Online Classes

    College Preparation
    Community Service
    Contests and Scholarships
    Co-op Learning
    Curriculum Reviews
    Evaluations & Portfolios
    Getting Organized
    High School Conference
    Math by Kids
    Museums and PA Resources
    PA Cyber Charter Schools
    PHAA Diploma Program
    PreK - 6th grade
    Special Needs
    Sports and Fitness
    Test Taking
    Writing Club Ideas
    Other