constants binary

advertisement
Course Syllabus
AP Computer Science A Workshop
Summer of 2015
Instructor:
Susie Cunningham
scunningham@bsu.edu
susie.a.cunningham@gmail.com
Office Phone: 765-285-7459
Description:
The AP Computer Science A course/workshop is designed for participants with none or some
programming experience. Participants will learn to program using an object-oriented approach
using the JAVA programming language. Topics will include using basic variables, loops, if/else
statements, strings, arrays, arraylists, methods, inheritance, abstract classes, interfaces,
recursion, sorting and basic input/output files. Class discussions will include topics on how to
present AP Computer Science A topics in a classroom setting, what has worked well in a
classroom setting and receiving feedback from other class participants. The NEW 3 LAB
components will be presented.
Suggested Text:
JAVA Software Solutions for AP Computer Science, Lewis, Loftus, and Cocking, Addison
Wesley.
JAVA Concepts, Horstmann, Wiley.
Barron’s How to Prepare for the AP Computer Science Advanced Placement Examination
Java Version, Teukolsky, Barron’s Educational Series, Inc..
Course Methodology:
Course methodology will include hands-on activities, lectures, outside readings,
classroom discussion, and programming projects.
AP Computer Science A
2015 Summer Workshop
Tentative Syllabus
Agenda:
Topics for Monday/Magpie Day!
- Where did JAVA come from? A brief history of JAVA will be presented.
- Why learn JAVA?
- What is Object Oriented Programming (OOP)?
- Procedural Programming vs. OOP
- What compilers are available for JAVA?
- Discussion of AP topics for the AP Computer Science A program.
- Introduction to the AP Computer Science A web site.
Brief overview of the following topics:
- What is ASCII? Using binary 0’s and 1’s.
- Variables and Constants
- Passing variables
- Strings
- Methods
- User Input from a Keyboard
- If, for, case/switch, while, and do/while statements
Programming Projects:
Project #1 – Magpie Activity #1
Talk to Captain Kirk.
-
Program ASCII Art picture.
Project #2 – Magpie Activity #2
Look at Magpie2 and Magpierunner2 code. Make changes to code.
Discuss if/else statements, loops, .equals, methods
Sub Activities:
Create an RPG (Role Playing Game) program using methods, if/else statements, loops,
and arrays. [Participants will gain skills with creating, calling methods and classes,
working with object relationships, and passing variables and arrays.]
Project #3 – Magpie Activities #3&#4
Look at Magpie3, Magpierunner3, Magpie4, and Magpierunner4 code. Make changes to code.
Discuss substring, indexOf, length(), Math.random(), compareTo() and public vs private
Sub Activities:
Create a simple encryption/decryption program.
Project #4 – Magpie Activity #5
Look at Magpie5 and Magpierunner5 code. Add additional random responses.
Topics for Tuesday/Picture Lab Day!
- Using Graphics + using mouse
- Arrays
- ArrayLists
- Searching arrays and information in a file.
- Working with strings
- Reading and writing from a file
- Inheritance
- Using external classes
- Interface
- Abstract Class
- Wrapper Class
Project #5 – Picture Lab Activities #1-#5
Sub Activities:
Discuss binary. Complete binary worksheet.
Make a simple applet.
Project #6 – Picture Lab Activities #6 & #7
Project #7 – Picture Lab Activities #8 & #9
Sub Activity:
Create a dice/card game program using methods, if/else statements, loops, and arrays.
Suggested games could be Bunco, Yahtzee, Farkel, Black Jack, etc. [Participants will gain
skills with creating, calling methods and classes, working with object relationships, and
passing variables and arrays.]
Topics for Wednesday/Elevens Lab Day!
- Sorting
- Recursion
Programming Projects:
Project #8 – Play Elevens Game
Discuss components that make up a card game.
Sub Activities:
Participants will learn how to sort themselves.
Write a JAVA program(s) to:
Create a Virtual Pet using inheritance. This project will require creating various
types of external classes and using various ways to pass variables between
classes and using the super command. [Participants will gain skills with
creating, calling methods and classes, working with constructors, object
relationships, inheritance, and passing variables.
Write a JAVA program(s) to:
Demonstrate the use of interface and abstract classes. An idea would be to
create your own universal remote control. [Participants will gain skills with
creating and using interface and abstract classes.]
Project #9 – Elevens Lab Activities #1 - #6 and #11
Project #10 – Elevens Lab Activities #7 - #9
Project #11 – Elevens Lab Activities #10
Thursday:
- AP Computer Science A Test
What is on the test?
How is the test graded?
Participants will work in groups and solve free response AP questions from previous AP
tests.
- Discussion of classroom projects and teaching pedagogy of AP Computer Science topics.
- What’s new in Java 8.0?
- AP Audit and Resubmission of Syllabus
- General wrap-up.
Download