• A.P. Computer Science


    This course no longer exists, however some of the projects may be used by advanced students so I'm leaving it up as a reference. 

    Advanced Computer Science - Year Three!

    QUICK LINKS: Java API 7.0 - (more links)


    The third year of Computer Science at Columbus North High School explores advanced topics the list of which changes from year to year. This course will be entirely project-based, and students must be motivated and self-directed to succeed. There will be opportunity for student input into some of the projects we choose to do.

    Schedule, Assignments and Resources

    If you choose to work ahead, please note that these assignments might change!!! In fact, after the first few projects, the order will most likely change from what is listed.

    Project # 1 - Android-based Arcade Engine (3 weeks)calculator

    Add and test features of the newly created Android Arcade Engine.

    • Each student must add at least one new feature to the AAE.
    • Each student must create at least one demo that uses their new feature.
    • Each student must create a demo that uses most of the AAE features.

    Project # 2 - Elevens lab (3 weeks)

    Write code to play the solitare card game Elevens. (This will be done in conjunction with the second year students.)

      • Read the student guide for the Elevens lab. It is okay to read it by sections for each activity.
      • Get the code for the Elevens lab from the shared folder.
      • Complete each activity in sequence. We will have small group discussions to discuss what you have encountered.
      • Use these pages (you will be given a copy) to fill in your answers. These are the pages you will turn in at the end of the lab.
        • Activity 1: Design and Create a Card Class
        • Activity 2: Initial Design of a Deck Class
        • Activity 3: Shuffling the Cards in a Deck
        • Activity 4: Adding a Shuffle Method to the Deck Class
        • Activity 5: Testing with Assertions (Optional)
        • Activity 6: Playing Elevens
        • Activity 7: Elevens Board Class Design
        • Activity 8: Using an Abstract Board Class
        • Activity 9: Implementing the Elevens Board
        • Activity 10: ThirteensBoard (Optional)
        • Activity 11: Simulation of Elevens (Optional - but recommended.)

      • Sample A.P. style problems (handout)

    3rd year students will choose from the following projects to work on:

    Project #3a - Design your own project.

    Typically, third-year students have some of their own ideas from which wee make projects. Discuss your ideas with Mr. Spock so that wee can make official projects out of them.


    Project #3b - RatBots 15

    Everyone can play RatBots!! (This will likely occur at the start of 3rd quarter.)

    Project # 3c - Advanced Nand2Tetriscpu

    Implement all of the compiler levels needed to complete the computer!

    • Project Description - pick up where you left off last year and actually write some compiler levels past the assembler.
    • Resource
    • The final day to turn in problems from this unit is

    Project # 3d - Database Management

    Write a program that manages a database.

    • Project Description
    • Resource
    • The final day to turn in problems from this unit is

    Project # 3e - Networking

    Communicate between two computers using TCP networking. The second year students will do this during the third quarter, and third year students will join in on this project.

    • Project Description
    • Resource
    • The final day to turn in problems from this unit is

    Project # 3f - Evil Hangman

    Awesome variant of Hangman, where the computer cheats by dodging all the user's guesses.

    • Project courtesy of Keith Schwarz (Stanford's Nifty Assignments - 2011)
    • Project Description
    • Resource
    • The final day to turn in problems from this unit is

    Project # 3g - More Recursion calculator

    Trees and Dragons and Mandelbrot sets

    • Project Description
    • Resource
    • The final day to turn in this project is TBD

    Project # 3h - Android-based Arcade calculator

    Create apps for Android devices!




    Project # 4 - Choose your own final project (5 weeks)

    Towards the end of the year every student will choose their own final project to work on.

    • Project Description
    • Resource
    • The final day to turn in problems from this unit is Monday, September 10th




    Class Rules and Procedures

    • Students are expected to be on time. If a student is absent they should check the website and check in with the teacher to see what was missed, and make up that work in a timely fashion. Students are not permitted to do anything that affects their own or another student's ability to work and learn. Students are expected to be able to work both collaboratively and individually as needed.
    • Students should not play games on the computers in the lab (unless you programmed them! - and even then you should get to work instead of playing games!)
    • No touching another students mouse or keyboard. You are encouraged to collaborate and discuss programs; this is especially useful for troubleshooting. However, your final product should be your own work.
    • All programs MUST be properly commented and indented. Your name should appear in a comment at the start of each program you write.
    • You are expected to work outside of class on the required programs. (HOMEWORK!) Very few students will be able to finish the assigned programs using only the in class time.
    • It is useful to have a jump drive, but not required.
    • Students should back up their files often! Not working because 'your files are on a jump drive at home' is not acceptable.


    Grades for this class will be determined by elements from four categories.

    Programs - Assigned programs which can be completed in class or as homework are the largest part of your grade.

    Homework - We will have a few homework assignments and often check them for completion before our discussion.

    Quizzes - We will occasionally have written quizzes, lab quizzes and reading quizzes

    Projects - We will have a few large scale projects with many graded elements.

    If you get creative and make your own programs, show them for possible extra credit!



    • BlueJ IDE (Integrated Development Environment) - (software we will use in this class) download for FREE to use at home!!!
    • Eclipse
    • NetBeans
    • JDK7 - Java Development Kit (also needed for programming) download for FREE to use at home!!

    Classroom Netiquette

    Java Au Naturel

    Java Concepts (website for our secondary text.)

    CN Programming Style Guide

    Cool Stuff:

    Raspberry Pi


    Previous week's schedules




    Mr. Michael Spock - spockm@bcsc.k12.in.us


Last Modified on August 2, 2016