The College Board Advanced Placement™ Computer Science-Principles Summer Institute: Mr. John Meinzen

Home | Day 1 | Day 2 | Day 3 | Day 4 | Day 5 | Handouts | LOs-EKs

 

APCS-Principles pre-Workshop Participant Survey

 

[Optional] Your name, school, & email/contact:

 

 

I. Circle the description that best fits the answer to "Why are you in this workshop/APSI?"

I like the free lunches.

I am/will be teaching an AP course for the first time

I want to focus on a specific topic/issue.

Your answer...

 

II. Circle the answer that best describes your experience with programming:

How many years have you known or taught Computer Science? What language?

0

1

2-3

4-5

>5

How many years have you taught an AP course?

0

1

2-3

4-5

>5

Is your course authorized?

Yes
No
Pending
What?
 

 

III. Circle the number that reflects your priority regarding the following:

(0=lowest priority)

Goal 1a: Become familiar with the Advanced Placement Program & AP Computer Science (APCS-Principles) including Equity & Access Issues

0

1

2

3

4

Goal 2: Become familiar with the official Course Description / Framework

0

1

2

3

4

Goal 3: Become familiar with AP Central and Course Website

0

1

2

3

4

Goal 4: Become familiar with the APCS-Principles Assessments (2 tasks, 1 exam)

0

1

2

3

4

Goal 5: Structure your Syllabus and meet the Course Audit requirements

0

1

2

3

4

Goal 6: Become familiar with Engaging & Recruiting Students

0

1

2

3

4

Rank the following in order of importance when setting up your AP Program in your School
(1=most important, 6=least important)

Curriculum/ Syllabus

Advocacy

Administration permission/rules

Content

Assessments

Other (list below)

_______ _______ _______ _______ _______ _______

 

IV. What, if any, APCS-Principles topic or goal would you like to have addressed today?

 

 

 

V. What, if any, APCS-Principles topic or goal would you like to have addressed this week?

 

 

 

VI. What, if any, expertise or information would you be willing to share with the other workshop participants (or workshop leader)?

 

 

Feedback from Participants after the Workshop:

 

[Optional] Your name, school, & email/contact:

 

May John have permission to share your name & contact info with textbook publishers who are willing to provide a free evaluation copy?

YES

NO ["no" is the default answer]

 

I. How well do you feel YOUR...

(0=not met, 1=poorly, 2=satisfactory, 3=well, 4=extremely well)

 

...goals were met in the workshop? [add any comments/clarifications in III below]

0

1

2

3

4

...classroom/community needs were met? [add any comments/clarifications in III below]

0

1

2

3

4

 

II. Circle the number that reflects your ability to:

(0=no ability, 1=basic ability but still need individualized help, 2=capable but may need some support, 3=fully capable, 4=mastery)

 

align your instruction with the goals of APCS-Principles Course

0

1

2

3

4

identify the skills & knowledge tested in the APCS-Principles Assessments

0

1

2

3

4

identify the Learning Objectives & abilities for which your students may need greater preparation

0

1

2

3

4

draft a syllabus that meets the curricular and audit requirements for the course

0

1

2

3

4

make equitable access a guiding principle in designing instruction

0

1

2

3

4

 

III. What comments or clarifications can you make regarding the APSI to enhance your abilities listed above?

 

 

 

 

IV. How well do you feel that you can accomplish the goals listed below?

(0=not at all, 1=poorly, 2=satisfactorily, 3=well, 4=extremely well)

 

Goal 1a: Become familiar with the Advanced Placement Program & AP Computer Science (APCS-Principles) including Equity & Access Issues

0

1

2

3

4

Goal 2: Become familiar with the official Course Description / Framework

0

1

2

3

4

Goal 3: Become familiar with AP Central and Course Website

0

1

2

3

4

Goal 4: Become familiar with the APCS-Principles Assessments (2 tasks, 1 exam)

0

1

2

3

4

Goal 5: Structure your Syllabus and meet the Course Audit requirements

0

1

2

3

4

Goal 6: Become familiar with Engaging & Recruiting Students

0

1

2

3

4

 

V. What comments or clarifications can you make regarding the question above "How well can you accomplish the goals listed"?

 

 

APCS-Principles Curriculum Framework: Seven Big Ideas


Student Exercise - Getting to know the Big Ideas and Computational Thinking Practices

Instructions: Without looking up the details provided in the Curriculum Framework, select one (or more) to accomplish.

  1. Either individually or as a group, give an answer, example, or application that illustrate the meaning of each of the following Big Ideas (nouns) and Essential Questions (Enduring Understandings). [check to see if student's understanding matches Curriculum Framework...a Top-Down approach and using the Pedagogical Patterns "Invisible Teacher", "Test Tube", or "War Games" ...see http://www.pedagogicalpatterns.org]

  2. Big Idea

    Essential Questions

     

    [Enduring Understandings written as questions]

    Student Answer, Explanation, or Example

    1: Creativity
    • 1.1 How can a creative development process affect the creation of computational artifacts?

    • 1.2 How can computing and the use of computational tools foster creative expressions?

    • 1.3 How can computing extend traditional forms of human expression and experience?

     
    2: Abstraction
    • 2.1 How are vastly different kinds of data, physical phenomena, and mathematical concepts represented on a computer [binary/digital]?

    • 2.2 How does abstraction help us in writing programs, creating computational artifacts, and solving problems?

    • 2.3 How can computational models and simulations help generate new understanding and knowledge?

     
    3: Data and Information
    • 3.1 How can computation be employed to help people process data and information to gain insight and knowledge?

    • 3.2 How can computation be employed to facilitate exploration and discovery when working with data?

    • 3.3 What considerations and trade-offs arise in the computational manipulation of data?

     
    4: Algorithms
    • 4.1 How are algorithms implemented and executed on computers and computational devices?

    • 4.2 Why are some languages better than others when used to implement algorithms?

    • 4.2 What kinds of problems are easy, what kinds are difficult, and what kinds are impossible to solve algorithmically?

    • 4.2 How are algorithms evaluated?

     
    5: Programming
    • 5.1 How are programs developed to help people, organizations, or society solve problems?

    • 5.1 How are programs used for creative expression, to satisfy personal curiosity, or to create new knowledge ?

    • 5.2 How do computer programs implement algorithms?

    • 5.3 How does abstraction make the development of computer programs possible ?

    • 5.4 How are programs developed, maintained, and used by people for different purposes?

    • 5.5 Which mathematical and logical concepts are fundamental to computer programming?

     
    6: The Internet
    • 6.1 What is the Internet? How is it built? How does it function?

    • 6.2 What aspects of the Internet’s design and development have helped it scale and flourish?

    • 6.3 How is cybersecurity impacting the ever-increasing number of Internet users?

     
    7: Global Impact
    • 7.1 How does computing enhance human communication, interaction, and cognition?

    • 7.2 How does computing enable innovation?

    • 7.3 What are some potential beneficial and harmful effects of computing ?

    • 7.4 How do economic, social, and cultural contexts influence innovation and the use of computing?

    • 7.5 How is an investigative process aided (or hindered) by an efffective organization, a selection of appropriate technologies and tools, and accessing of data from credible sources.

     

APCS-Principles Curriculum Framework: Six Computational Thinking Practices


Student Exercise - Getting to know the Big Ideas and Computational Thinking Practices

Instructions: Without looking up the details provided in the Curriculum Framework, select one (or more) to accomplish.

  1. Either individually or as a group, give an answer, example, or application that illustrate the meaning of each of the following Big Ideas (nouns) and CTP (verbs) [check to see if student's understanding matches Curriculum Framework...a Top-Down approach and using the Pedagogical Patterns "Invisible Teacher", "Test Tube", or "War Games" ...see http://hillside.net]

  2. Computational Thinking Practice

     

    Student Answer, Explanation, or Example

    P1: Connecting Computing
    • Identify impacts of computing

    • Describe connections: people-computers

    • Explain connections: computing concepts

     
    P2: Creating Computational Artifacts
    • Create artifact: practical, personal or society

    • Select techiques to develop artifact

    • Use algorithm and info management

     
    P3: Abstracting
    • Explain how data, info, knowledge is represented in computers

    • Explain how abstractions are used in computing or modeling.

    • Identify abstractions

    • Describe modeling in computations

     
    P4: Analyzing Problems and Artifacts
    • Evaluate a proposed solution

    • Locate and Correct errors

    • Explain how an artifact functions

    • Justify appropriate and correctness of a solution, model, or artifact

     
    P5: Communicating
    • Explain meaning of a result in context

    • Describe computation with accurate and precise language, notation or visualization

    • Summarize purpose of artifact

     
    P6: Collaborating
    • Collaborate to solve computational problem: student-student

    • Collaborate to produce artifact: student-studentJ

    • Share workload: individual student-student groupJ

    • Foster constructive, collaborative climate by resolving conflicts and facilitating the contributions of a partner or team member

    • Exchange knowledge and feedback with a partner or team member

    • Review and Revise student work to create a high-quality artifact.

     

APCS-Principles Curriculum Framework: connecting Student Assignments with Big Ideas


Student Exercise - Getting to know the Big Ideas and Computational Thinking Practices

 

  1. Provide one (or more) creative examples of an assignment you might give in an "ideal" classroom to students that matches one (or more) of above CTP or Big Ideas...do NOT restrict yourself to a typical classroom/lab, set of students, or timeframe/constraint. [brainstorming with students early in the course and discussing ideas helps students understand the overall picture as well as get to know each other for later collaboration...a Bottom-Up approach]

     


  2. Analyze your (or another's) assignment (i.e. example, project, or Performance Task) and put a check-mark in any box that may apply to your assignment.

    As time allows, identify specific Learning Objectives (LO) and/or Essential Knowledge (EK) for each Big Idea checked

    For ideas see Mr. Meinzen's APCS-Principles course: http://www.ecusd7.org/ehs/ehsstaff/jmeinzen/APCS-Principles/

    [as students become familiar with the Big Ideas and CTP's, the greater understanding of the Curriculum Framework and specific LO's and EK's become apparent...connecting the Top to the Bottom]

  3. Assignment Description:

     

    CTP

    Big Ideas

    P1: Connecting Computing
    P2: Creating Computational Artifacts
    P3: Abstracting
    P4: Analyzing Problems and Artifacts
    P5: Communicating
    P6: Collaborating
    1: Creativity
               
    2: Abstraction
               
    3: Data and Information
               
    4: Algorithms
               
    5: Programming
               
    6: The Internet
               
    7: Global Impact
               

 

APCS-Principles Exam


Multiple Choice

Free Response

Equity and Access Policy Statement


The College Board strongly encourages educators to make equitable access a guiding principle for their AP programs by giving all willing and academically prepared students the opportunity to participate in AP. We encourage educators to:

  • Eliminate barriers that restrict access to AP for students from ethnic, racial, and socioeconomic groups that have been traditionally underserved.

    Make every effort to ensure their AP classes reflect the diversity of their student population.

    Provide all students with access to academically challenging coursework before they enroll in AP classes

Only through a commitment to equitable preparation and access can true equity and excellence be achieved.


  • In small groups (4 or less):

    1. assign one person to read aloud the Equity & Access Policy Statement.
    2. assign one person to be the spokesperson to share one of the group's responses to the following discussion.
  • Discuss for a few minutes (5 or less) fairness and sensitivity issues such as:

    1. barriers to effective application of the statement at their schools.
    2. suggestions to overcome such challenges.

Lists of Supporting Software & Instructions


NotePad++ Installation HOW-TO

Note: The original HOW-TO instructions provided by https://www.willnwish.com/complie-java-code-directly-notepad/ under the Creative Common License. This HOW-TO tab is also under the same Creative Common License.

 

A NOTE ABOUT JAVA:

  • Please click on the "Java SDK Install" tab for details on installing the necessary software to run and, more importantly, COMPILE java programs. Many computer have "java" pre-installed but not the necessary Java SDK (or JDK) files necessary for programming.

  • If you don't have java SDK (or JDK) installed on your computer please install the Java SDK first before completing the rest of the NotePad++ installation.

 

Download and Install NotePad++

  1. Obtain the latest version of NotePad++ from http://notepad-plus-plus.org/ which is available for free.

 

Configuring NotePad++to compile and run Java Programs

  1. Verify the NppExec Plugin is installed.

    1. First check the Plugins menu and see if NppExec is already installed...if you don't see NppExec listed on the menue then it must be installed. Continue to steps 2 - 7.

    2. Open NotePad++ and open the Plugin menu (Alt+P)

    3. Plugins->Plugin Manager->Show Plugin Manager.

    4. notepad++-plugin-manger

    5. When you click open Plugin manager you will get a new window with the list of available plugins and installed plugins on your Notepad++

    6. Now search for the plugin named NppExec in the list of available of plugins and install it.

    7. After completion of installing the plugin NotePad++ needs to be restarted to take the changes.

    8. After restating Open Plugin menu (Alt+P) you can find the installed plugin NppExec in the plugin menu.

  2. Settings for the NppExec to be done one-by-one:

    1. Disable  Console command history.

    2. Enable Show Console Dialog.

    3. Enable save all files on execute.

    4. Enable Follow $(CURRENT_DIRECTORY).

  3. To compile your java source code, open the execute window [F6 or by menu: Plugins->NppExec->Execute...]  and enter these command codes.

    • cd $(CURRENT_DIRECTORY)
      javac $(FILE_NAME)

       

    • Alternatively, If the two lines above do not work, you can enter longer command codes. Make sure there is a space between "...bin\javac" and $(FILE_NAME) **:

      cd $(CURRENT_DIRECTORY)
      C:\Program Files\Java\jdk1.8.0_45\bin\javac $(FILE_NAME)

       

    • **This assumes Java SDK 1.8.0_45 is installed in the default location at: C:\Program Files\Java\jdk1.8.0_45\bin\ as mentioned in the NOTE ABOUT JAVA

    • Explanation of the above command codes:

      The 1st code line in the above command will change the directory to current directory where your java sourcecode will be saved. After saving your sourcecode, the next command code line will invoke the Java compiler. And the rest is done by Java compiler to translate your java sourcecode into java bytecode (in binary)...you are now ready to have your java bytecode be run/executed by the java virtual machine (jvm)

  4. Using saved command codes to compile and/or run your java programs...this will save you from having to type in each code line every time:

    1. After completing the command codes in step 4 above and successfully compiling your program, save the two code lines as compileJava so that next time you need not to enter the two command code lines every time you want to compile your programs.

    2. To run your compiled java code enter these command code lines again in temporary code and save as runJava**.

       

      cd $(CURRENT_DIRECTORY)
      java $(NAME_PART)

       

      The first line in the above command code is same as the first line of the command to compile your java sourcecode (i.e. use the same directory or folder) and the second line the above command code invokes the java virtual machine (jvm) to run/execute your java bytecode that was compiled in step 2 above.

    3. The following command codes combine the steps 1 and 2 so that you can both compile and run commands in a single step. Save these code lines as compileAndRunJava**.

       

      cd $(CURRENT_DIRECTORY)
      javac $(FILE_NAME)
      java $(NAME_PART)

       

      Alternatively, If any of the lines above do not work, you can enter longer command codes. Make sure there is a space between "...bin\javac" and $(FILE_NAME)**:

       

      cd $(CURRENT_DIRECTORY)
      C:\Program Files\Java\jdk1.8.0_45\bin\javac $(FILE_NAME)

      C:\Program Files\Java\jdk1.8.0_45\bin\java $(NAME_PART)

       

      **This assumes Java SDK 1.8.0_45 is installed in the default location at: C:\Program Files\Java\jdk1.8.0_45\bin\ as mentioned in the NOTE ABOUT JAVA at the top of this page.

  5. If you choose, you can create menu shortcuts for compiling and running the command codes (i.e. save yourself even more typing):

    1. Open the Plugin menu

    2. click on menu:  Plugin->NppExec->Advanced Options

    3. check the option: Place to macro submenu

    4. as shown below, do the followng three steps for each of the saved command codes (compileJava, runJava, and compileAndRunJava) from step 4 above:

      1. in the Associated script dropdown list...select any one command code script...for example: compileJava

      2. in the Item name: textbox, type the name of one of the saved command code scripts...for example: compileJava

      3. click on Add/Modify button

    5. So that a new menus are created under macros menu, click OK...you might have to re-start NotePad++ for the new menus and macros to appear.

  6. If you choose, you can create shortcut keys, for each of the above menu shortcuts for compiling and running the command codes (i.e. save yourself even more typing):

    1. open the Settings menu

    2. click on Settings -> Shortcut Mapper -> Plugin Commands

    3. scroll down to find your menu shortcuts (compileJava, runJava, and compileAndRunJava) from step 5 above and assign your own shortcut keys.
      (I prefer Ctrl+C for compileJava, Ctrl+R for runJava, Ctrl+Alt+R for compileAndRunJava).

 

 

Additional lists, instructions, and references for software: