Go Bulldogs!      

    Welcome to:          AP Computer Science A

    Revised AP Course for 2020-2021 at Folsom HS
    To be successful in this course, students should meet the prerequisites OR get instructor (Mrs. Goldman) approval.

    Prerequisites:  Grade of “C” or better in two courses in either the CTE pathway including the following courses:



    ·         Exploring Computer Science

    ·         Computer Science & Programming 


    This course has been revised for the 2020-2021 school year as approved by the FCUSD CAC. Additionally, the AP College Board has revised the course for this year so some additional changes to units of instruction may be made to ensure students are prepared for the exam.

    We have also been approved by California University Sacramento State (CSUS) for 5 units credit in class "CSC15 Programming Concepts & Methodology" via the ACE program. More details will be given later in the year. 



          AP® Computer Science A is both a course for potential computer science majors and a foundation course for students planning to study in other technical fields such as engineering, physics, chemistry, and geology. The course emphasizes programming methodology, procedural abstraction, and in-depth study of algorithms, data structures, and data abstractions, as well as a structured lab component comprised of a minimum of 20 hours of hands-on lab experiences integrated throughout the course.  Instruction includes preparation for the AP Computer Science A Exam.

    Curricular Requirements as defined by AP College Board:

    Curricular Requirement





    The course teaches students to design and implement computer-based solutions to





    The course teaches students to use and implement commonly used algorithms


    10, 14


    The course teaches students to use commonly used data structures


    7, 8


    The course teaches students to select appropriate algorithms and data structures to

    solve problems.


    8, 10, 11, 14


    The course teaches students to code fluently in an object-oriented paradigm using the programming language Java.


    11, 12, 13


    The course teaches students to use elements of the standard Java library from the AP Java subset in Appendix A of the AP Computer Science A Course Description


    5, 6, 7


    The course includes a structured lab component comprised of a minimum of 20 hours of hands-on lab experiences




    The course teaches students to recognize the ethical and social implications of computer use.




    Summer Assignment Details



    Unit 1 - Karel J. Robot (Introduces objects and inheritance)


    • Objects
    • Classes
    • Looping
    • Conditionals

    Unit 2 - Java Basics


    • Computer basics
    • Java basics
    • Using the compiler
    • Input and output

    Unit 3 - Defining Variables, Arithmetic Expressions


    • Using and understanding variables
    • Comments
    • Arithmetic expressions in Java programs
    • Representing numbers in different bases

    Unit 4 - Introduction to Classes and OOP


    • Creating and using classes

    Unit 5 - Conditionals and Looping


    • if, if-else, while, for

    Unit 6 - The String Class

    Topic: [CR5]

    • String class


    Unit 7 - Array List

    Topic: [CR2b][CR5]

    • Using ArrayList class

    Unit 8 - Arrays

    Topics: [CR2b]

    • Declaring and initializing arrays
    • Manipulating arrays with loops
    • Creating parallel arrays

    Unit 9 - Two-dimensional Arrays


    • Using 2-D arrays
    • Introduction to inheritance and interfaces
    • Class diagrams


    Unit 10 - Searching and Sorting Arrays

    Topic: [CR2a]

    • Selection, Insertion sorts
    • Sequential and Binary searches 

    Unit 11 - Elevens Lab


    • Game design and development
    • Experimenting with a large program
    • Using classes
    • Modifying classes
    • Inheritance

    Unit 12 - More on Classes, Inheritance, Interfaces


    • Classes
    • Inheritance

    Unit 13 - Inheritance


    • Inheritance

    Unit 14 - Recursion (and Merge Sort)


    • Recursion
    • Merge Sort [CR2a]


    If you have any difficulty getting the recommended materials for this class, please have your student see me. I want to make sure all the students have the materials they need to be successful.



    Horstmann, Cay. Big Java. Hoboken, N.J.: Wiley, 2012.


    Lambert, Ken, and Martin Osborne. Fundamentals of Java: AP Computer Science Essentials. Boston: Course Technology, 2010.


    Barnes, David J and Kolling, Michael, 6th Edition, Objects First with Java 6e A Practical Introduction Using BlueJ, Pearson, 2016




    •  BlueJ Java development environment ( Free)
    •  Magpie Lab software (Free)


    • AP College Board. 

    Reference Books

    • Barron's AP Computer Science A - 8th edition
    • Head First Java - 2nd edition



    To see course calendar and assignment information during the school year, please sign up for the Google Classroom corresponding to your class period. You may also need to sign into your PLTW account (mypltw.org) to access all assignment information and protect copyrights. 

    Sign in for the first time

    1. Go to classroom.google.com and click Sign In.

      Click Sign In

    2. Enter your Google Apps for Education username and click Next.

      Remember: Your Google Apps for Education username looks like name@myschool.edu.

      Click Next

    3. Enter the password your administrator gave you and click Sign in.

      Click Sign in

    4. Read the welcome message and click Accept.

      Click Accept

    5. In the bottom-right corner, click Student.

      Click Student

    6. (Optional) Click See How Classroom Works for a guided tour of Classroom.

    Ready to start using Classroom? See Join a class.

    Email me to get the code for your class (pgoldman@fcusd.org)
    Sign up for Remind too:
    P1: @82d4k9
    P3: @49gk44