ADDITIONAL RESOURCES/WEBSITES:

Official AP Computer Science Site

NC State BJC Curriculum Page

Berkeley BJC Curriculum Page

CS10K Community Page

CODE.ORG

CS UNPLUGGED

Process Oriented Guided Inquiry Learning

http://www.techsmith.com/jing.html Screencast type of stuff
http://www.techsmith.com/screencastcom.html Screencast
https://www.educanon.com/ put a quiz into a video or screencast
https://www.edmodo.com/ Facebook for your classroom (has a gradebook)
http://programmingbydoing.com/ Labs for Java
https://www.lucidchart.com/ Flow chart creator
http://bots.game2learn.com/ Bot Game
https://www.thinglink.com Presentation Tool

Tools


Instructional Technology:
- Tips on Selecting technology:

Saving projects in Snap:
  1. Click on the button that looks like a piece of paper and clicking on the option titled "Export".
  2. This will bring up an ugly-looking webpage full of code.
  3. In the browser, go to "File -> Save As..." and save this file to the DESKTOP as [your-project-name].xml.
  4. Then this file can be emailed or uploaded to moodle for sharing/grading.
Opening saved projects in Snap:
  1. To open an exported Snap xml file like, click on the paper button and select "Import".
  2. Select the XML file and then it should load, sprites and all.
  3. RECOMMENDED: give the students a naming convention, like lastname-firstname-lab1.xml, so that when you download them all you will not overwrite any of them and you will know whose is whose.
The BJC-NC MOODLE:
  • Go to Leslie Keller's course: https://moodle-projects.wolfware.ncsu.edu/course/view.php?id=982
  • Click on Log In in the top right corner.
  • Under New Guest Users - Click the Create new account button.
  • Create you account and confirm it (an email will be sent to you.)
  • Please send me the name and email address you used. I can then add you formally to the Moodle course.
  • To access the course, click on the Guest log in.

Background & Resources
  1. UC Berkeley video lectures http://www.youtube.com/playlist?list=PLECBD29A17AAF6EF9
  2. Presentation on the need for this class! (attached below as Cuny CE21 Meeting CS10K Talk v3.pptx)
  3. CS Principles website: http://www.csprinciples.org/
  4. Beauty and Joy of Computing home: http://bjc.berkeley.edu/
  5. BYOB / Snap! home:http://snap.berkeley.edu/
  6. UC Berkeley Spring 2014 CS10 class that teaches BJC: http://inst.eecs.berkeley.edu/~cs10/sp14/
  7. Ensemble of resources for BJC http://www.computingportal.org/taxonomy/term/5686
  8. Pair Programming: http://www.realsearchgroup.org/pairlearning/

BJC-NC Book PDFs (will soon be updated)
  1. Unit 1: http://bjc-nc.github.io/bjc-course/pdf/unit1.pdf
  2. Unit 2: http://bjc-nc.github.io/bjc-course/pdf/unit2.pdf
  3. Unit 3: http://bjc-nc.github.io/bjc-course/pdf/unit3.pdf
  4. Unit 4: http://bjc-nc.github.io/bjc-course/pdf/unit4.pdf
  5. Unit 5: http://bjc-nc.github.io/bjc-course/pdf/unit5.pdf
  6. Unit 6: http://bjc-nc.github.io/bjc-course/pdf/unit6.pdf
  7. Unit 7: http://bjc-nc.github.io/bjc-course/pdf/unit7.pdf
  8. Unit 8: http://bjc-nc.github.io/bjc-course/pdf/unit8.pdf
  9. Unit 9: http://bjc-nc.github.io/bjc-course/pdf/unit9.pdf
  10. Unit 10: http://bjc-nc.github.io/bjc-course/pdf/unit10.pdf
  11. Unit 11: http://bjc-nc.github.io/bjc-course/pdf/unit11.pdf
  12. Unit 12: http://bjc-nc.github.io/bjc-course/pdf/unit12.pdf
  13. Unit 13: http://bjc-nc.github.io/bjc-course/pdf/unit13.pdf
  14. Whole book: http://bjc-nc.github.io/bjc-course/pdf/book.pdf
  15. Website http://bjc-nc.github.io/bjc-course/curriculum

Activity resources
  1. This activity has different groups try to infer knowledge from pictures, word lists, and wordles Picture_activity.docx
  2. Blind men and elephant story: http://en.wikipedia.org/wiki/Blind_men_and_an_elephant
  3. State guessing game: How many guesses does it take to guess which state I am thinking of? (binary and ternary search)
  4. The Great Weights Puzzle: http://nrich.maths.org/5796


Abstraction
  1. Lecture Powerpoint + PDF: http://inst.eecs.berkeley.edu/~cs10/sp12/lec/01/

BYOB/Snap! things you might not know
  1. You can change the direction and position of the sprite through the motion tab functions
  2. If you're using the change by or set byblocks, you have to click the drop-down menu to find the variable name, you can't drag the variable into the slot.
  3. If your code looks fine but isn't running, check to see if you have global and local variables with the same name. If you do, delete one of them, and replace ALL instances of that name you can find with the one you have left.

Updated NC Curriculum Course Blueprint
Here is the blueprint for the NC AP Computer Science Principles course that has been submitted to the Department of Public Instruction (updated 9-3-13).
Computer_Science_Principles_BP_Draft_9313.docx