0% found this document useful (0 votes)
67 views

(AP CS A) Semester 1 Project (For Students)

This document provides information and requirements for an upcoming Java project assignment. Students will create a Java program that utilizes various concepts learned in class, such as methods, conditionals, arrays, and iteration. They will also develop test cases and documentation for their program. The project aims to assess students' abilities in areas like using appropriate data types, designing algorithms, testing for accuracy, and evaluating programs. Templates and example topics are provided to help guide students. The project is due on the exam date after students take a summative on primitive arrays.

Uploaded by

Ebeb Weg
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
67 views

(AP CS A) Semester 1 Project (For Students)

This document provides information and requirements for an upcoming Java project assignment. Students will create a Java program that utilizes various concepts learned in class, such as methods, conditionals, arrays, and iteration. They will also develop test cases and documentation for their program. The project aims to assess students' abilities in areas like using appropriate data types, designing algorithms, testing for accuracy, and evaluating programs. Templates and example topics are provided to help guide students. The project is due on the exam date after students take a summative on primitive arrays.

Uploaded by

Ebeb Weg
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Dear students,

I hope this finds you well and enjoying your break! You do NOT need to work on this project over break, but
it may be helpful to you to hear what it’s about and do some early thinking on what you might want to make.

On the pages below, find the following bits of information. This is a living document, so I’ll be updating this a
few times before it’s due.

Update Log
Overview

Detailed Requirements

Assessment Standards

Templates and Resources

Topic Ideas

Best,
~Mr. Ayyappan

Update Log
Date/Time Update:

30 Nov Test Table​ Added to Templates and Resources Section

30 Nov Developer Log​ added to Templates and Resources Section (make a copy!)
1. Overview

Question Answer

What are you making? You are making and submitting two things:
1. A java project that does some things and uses concepts we’ve learned
in class so far.
2. A presentation or report that explains your thinking, details your
process, and reflects technically on your code.

Who can I work with? Your grade has to represent what ​you ​can do, so you should be the only one
writing your code and making your presentation.

However, peers can be useful in brainstorming ideas or troubleshooting, so


you can ask questions and give/receive support “offline” (outside of your code
editor). Note these interactions in your dev log.

When can I make this Most or all class time the week of 30 Nov - 04 December will be devoted to
and when is it due? this project. On the exam day (after taking a 45-minute summative on Primitive
Arrays), you will share your project with some classmates, so it must be done
before you arrive that day.

2. Detailed Requirements

Program Requirements:
● Write a program with a main method
● Create and use at least one new method which is called from main that takes at least
one parameter
● Create and use at least one new method that returns data
● Call at least two distinct methods in the String and/or Math classes
● Utilize conditional statements or compound Boolean expressions
● Create an array to store information
● Utilize iteration to perform some analysis on that array
● The class(s) are well commented - Block header comment and effective inline comments

Project Requirements:
● Justify three (3) of the decisions about data types used
● Develop sufficient test cases to judge the extent to which the program works as intended (use the
test table template provided to track and communicate these)
● Clearly represent or describe a central process in your code with a flow chart or in text
(pseudocode).
● Keep and update a developer log with entries after each class period and outside time spent
working on your project
○ After each version of the program, reflect on strengths / weaknesses, what improvements
did you make since the last version, and what improvements do you want to make for the
next one.
● A video demonstrating how your program works(program flow), providing meaningful data
including error messages

3. Assessment Standards
The following four standards will be assessed on a scale from ​Below​ through ​Exceeds Expectations:​

Using Relevant Data Types and Structures​ - Distinguish among and select when to use various data
types and structures that are most relevant to a given problem.

Designing Algorithms ​- Efficiently design algorithms necessary to solve contextualized problems,


including recursive solutions.

Testing & Proving Accuracy​- Develop and use test cases to analyze program code for correctness,
equivalence, and errors.

Evaluating Programs​ - Evaluate key behavior, conditions, costs, and opportunities for improvement
for a program through a process such as a code review.

4. Templates and Resources


● Test Table
● Developer Log
● Code Snippets
○ Reading from a .txt or .csv file (for now, just try to get your code working with a short array
you type yourself)
○ Writing to a file
○ Creating a user interface
○ Shifting every letter in a string by one

5. Topic Ideas
Choosing a topic:
● Pick something you care about and know a little bit about
● Think about who would use your program. Making something ​for s​ omeone can help plan it and
measure success.
● It should be easy enough that you can do it, and hard enough that you can show off a lot of what
you’ve learned.

Possible projects:
● Analyze data to answer 3+ questions about a data set.
● Create a cipher algorithm that can consistently encrypt and decrypt a message.
● Make a quiz game that keeps track of multiple questions, answers, clues, etc.
● Play a game with the computer that records a history of answers (to enable either multiple “undos”
or to analyze a pattern and have a basic AI that’s a little smarter than random)

You might also like