Please remember to submit your 1 page outline for your final project by tomorrow. A few thoughts and recommendations: Some people have asked if they may work in a group. You may do so as long as I receive an email from each person in the group listing the project they will be working on and the parts of the code for which each person will be responsible. I am including some code samples below for some simple graphics programs. It is not mandatory that your game includes graphics components as long as it is of sufficient complexity. Some examples of programs you could make without graphics coding would be dice games like Yahtzee, or Left, Right, Center. There are many other possibilities. These could be coded without graphics, with any "pictures" of dice being made by the use of print and println statements. I would expect in these programs to see the uses of arrays or arraylists as well as multiple classes making up the code for the game. You might have a separate class for Dice, Turn and Game with the associated methods in these classes for your overall program. (Similar to the coin class in the coin toss game we wrote near the beginning of the school year.) One reminder. I am WELL AWARE that there are code versions for many of these games already out there on the web. It is just as easy for me to do a google search for code as it is for you. If your code appears to be cut and pasted from an existing sample, (practically the same where maybe variable names were just changed around), you will receive no credit for your project. The goal for this last project is for you to have some fun with what you have learned and show off what you can do. It is okay to use existing samples as templates and references, but I would much rather see an honest attempt on your part that is less than perfect or even incomplete versus a copy of somebody else's work that runs perfectly. The file below gives some code examples on how to create windows for graphics objects, paint objects in the window or import image files into your window, and have your application able to read and handle mouse events.
I hope everybody did well on the test! Send some emails letting me know your overall thoughts on the exam.
For the next week, I hope that you would be concentrating on your other AP exams. What I would like you to do over the next week or so is to think about what kind of game you would like to make. I will be posting sample programs that demonstrate various concepts including graphics, handling events, (mouse and keyboard), and other related concepts. You are to do some research on the web, looking at simple programs that make use of these concepts and then come up with your own game idea. You do not have to have any coding done. I just want you to give some thought to a general outline for your game's design. By Friday, May 29th, I want you to email me your game concept and a brief summary of how you plan to implement the code for your game. Your outline should be approximately a 1 page word doc in length. I wish everybody well on their exam tomorrow, 4:00 p.m. Eastern Time. Remember, you should be logged on and checked in 30 minutes prior to the exam!
I have included a list reminders of things to remember for when you take the test. Nothing is new, but it might help to have it all in one simple checklist. I know this has not been the typical school year, but I know you will continue to rise to the challenge! Best of luck everybody!!!!! Make sure you did the demo on the device you will test on. Link is below: https://apcoronavirusupdates.collegeboard.org/students/taking-ap-exams/exam-day-experience?excmpid=SM51-PR-1-tw
Attached are several more practice free response questions with solutions. Keep in mind that you can also view free response questions and their answers from prior AP exams on the college board site as well. Remember that when answering the free response questions, you generally do not have to write a great deal of code. At most, you are generally writing a max of 12-15 lines of code to answer a section, and many times it is maybe half of that or even less. Also remember that the grading of the free response questions with multiple parts is similar to how Regent's exams are graded. If you are stuck on part A of a question in writing some method called "doStuff" and doStuff is needed in parts B, C, and D of the same question, don't give up on the whole question. Put something down for "doStuff" even if it only the method header. You are allowed to assume that your method "doStuff" works correctly when you use it in your answer for parts B, C and D to get full credit for the those parts of the question. Don't leave blanks. Get as much partial credit as you can on each question. Good luck on your exam on Friday! I will be checking my emails for any more questions on any of the material int the course, assignments, or the test itself over the next three days.
I will be posting more free response practice questions later this afternoon.
What I want this morning is feedback. Email me with any questions on any of the free response questions that have been assigned, any questions on your code, any questions on being ready for the exam this Friday, and any types of free response questions that you would like for this last review. The squeaky wheel gets the grease, so EMAIL ME with your specific questions and topic requests. I will put a last assignment up by 3:00 based on the requests received. Reminder - you should be getting through email your E-ticket for the exam 48 hours before the test - sometime on Wednesday. If you don't see it in your email, you can still get it by accessing the college board site. Make sure you get it one way or the other and have the number handy when taking the test. Hopefully you have all run through a demo AP exam to make sure that your system can access and download correctly. If not, make sure you do before the exam. Good luck on all your AP tests this week and next week!!! Attached below are notes, practice examples and questions for class level objects. It also reviews static methods and variables and the this keyword. Look through the notes and then answer the multiple choice questions at the end. There is a detailed explanation of the answers to the multiple choice questions at the end of the file. Finish these questions by Monday, May 11th, Also due by Monday, 5/11/20 are 4 free response questions that deal with Strings, Arrays, Arraylists and Class level objects. Although we have done them in class, 2 dimensional arrays will not be on the exam. You should still be able to answer them in the free response section. After you write your answer to the free response questions, review the answer key. The free response answers are at the end of the file below. (First half is the answers to MC questions). For those who have been working on the assignments, you have probably noticed by now that the answers to the free response questions generally do not require a lot of code. Oftentimes, only a handful of lines are needed to solve the problem. The bulk of the time required is to read the problem and think of a way to solve it. For those checking the rubrics, you have seen that you can get a good amount of partial credit even if part of the problem completely stumps you. If you can (mostly) answer these free response questions, you are in good shape for the exam. Email me with any questions you have on this assignment if you want further clarification. The test is a little more than 1 week away. Keep plugging away everyone and stay healthy!!!
Based on feedback from the survey, we will be working on the topics most requested. First, some review on information about Arrays and ArrayLists. Also, if you have not done so yet, MAKE SURE that you have checked the previous posts on how to do a practice demo for the AP exam and make yourself familiar with the procedures necessary to take the test next week!!! You will not have the time to waste figuring it out on the day of the exam itself!!!!!! Included below is a link to examples and practice questions with arrays and array lists. You may ignore the material on two dimensional arrays if you wish as that material will not be on next week's exam. I would like you to read the material and then try the practice multiple choice problems at the end. There is an answer key explaining the correct and incorrect answers at the end of the assignment. Please finish these by Thursday morning, 5/7/20 and email me any questions you may have by Thursday morning. On Thursday afternoon, I will be posting review material on writing methods, classes, and having class level objects interact with each other. There will be a multiple choice assignment on those topics as well as a free response question dealing with Arrays/Arraylists. After that, I will be giving you more free response questions that involve those topics for the remainder of the time we have until the test next Friday. Remember with ArrayLists, the ArrayList implements (reserved word) the List interface. The methods in the list interface are the same as the method in the ArrayList class, but the ArrayList class provides the details on how the methods will work. In practice, when using the ArrayList, you just need to know what ArrayList methods are and how they work. The fact that ArrayList is using the List interface is really more of a behind the scenes thing that will generally not change how you write your code. More details reviewing how an interface works are below. An interface is similar to a class, but it can not be instantiated. It may have fixed constants (field) variables defined in it. It also contains methods, but they are empty. Interfaces just have the method headers indicating the name and parameters needed in some given method(s). Any class that implements an interface must include the specific code that defines how each method will work in that specific class. So for example, say we have a Vehicle Interface that has a method called travel. The travel method header in the interface may have a parameter called route and return a double value called mileage. But there is no code in the method. Three different classes called Auto, Plane, and Boat can IMPLEMENT the travel interface where the specifics on how they travel and plan their route is defined in the individual classes. An auto chooses a land route, a plane chooses an air route and a boat chooses a sea route. But they all call the travel method based on the header defined in the interface. So an interface is basically like a general format or outline of a class where the specific details of how the code works is defined in each individual class that uses(implements) the outline as described by the interface.
Answers to assignment 6.
drive.google.com/file/d/1YC7WCIzpX4yvcbBfn2bHB_2Fck818rMM/view?usp=sharing Answers to assignment 7 drive.google.com/file/d/1Q-IGbhcGyyNBDp6kGewlKAzVrOPCDW4S/view?usp=sharing If you had issues doing the AP practice Demo, let me know as soon as possible. Remember, the exam is next Friday! Attached is the info into how to get into the AP Demo and practice taking a test so there is no surprise on test day. Other helpful information is included as well. Please make sure that you read through the whole document and PRACTICE getting on the demo exam today. That is your only assignment for today. Take some time and read through the entire document and take a sample test. Remember, if you can not access the demo exam, you won't be able to access the real one either. If you have problems make sure you let me know. I will post the grading rubric and answer key for the extended response answers for assignments 6 and 7 that you were given later on tonight.
|