2014 Summer Workshop

advertisement
Course Syllabus
AP Computer Science A Workshop
Summer of 2014
Instructor:
Susie Cunningham
scunningham@bsu.edu
susie.a.cunningham@gmail.com
Office Phone: 765-285-7459
Cell Phone:
317-335-9298
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
2014 Summer Workshop
Tentative Syllabus
Agenda:
Topics for Monday:
- 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
- Using Graphics + using mouse
Programming Projects:
Project #1 (5 pts.)
Create an ASCII Art picture.
Project #2 (5 pts.)
Complete ASCII Worksheet.
Project #3 (10 pts.)
Option A:
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.]
Option B:
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 Tuesday
- 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
Programming Projects:
Project #4 (10 pts.)
Option A:
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.
Option B:
Write a JAVA program(s) to:
Demonstrate the use of working with strings 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. Suggested ideas could include a Pig Latin Translator,
Encryption/De-encryption program(s), etc.
Project #5 (10 pts.)
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. Also, participants will examine the process of managing a computer
project.]
Topics for Wednesday:
- Sorting
- Recursion
- The 3 NEW Lab Components
Magpie Chatbox
Picture Lab
Elevens Lab
Programming Projects:
Project #6 (10 pts.)
Complete one of the student programming homework assignments from one of the 3 new lab
components. [Participants will gain skills working with the 3 new labs.]
Project #7 (50 pts.)
Option A:
Write a major programming project using the JAVA programming language that would demonstrate a
specific JAVA AP Computer Science A topic that could be used in a classroom setting. (A class participant
may want to distribute/share this final project with the other class participants.)
Option B:
Create class materials or handouts that could be used in a classroom setting on a specific JAVA AP
Computer Science A topic . (A class participant may want to distribute/share this final project with the
other class participants.)
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.
- Have participants share their major projects with the class.
- General wrap-up.
Download