The first quarter exam will be in Room 405 on Monday October 9, 2023 (90 min). The average of the two quarter exams is worth 20% of your grade. The exam will be similar to the chapter tests that we have had. You have 90 minutes to answer 3 Free Response questions, and around 40 other questions which are a combination of true/false, short answer, and multiple choice. The first Free Response Question question will ask you to write a method (much like a [[https://codingbat.com/java/Warmup-1|codingbat.com]] warmup exercise), and the second question will ask you to write a complete class from scratch. I will give you a choice of methods and classes, and you just need select one of each to write. The third question is a Subclass question where your are provided a super class, and you need to write a subclass with a constructor and a method. The first quarter exam is a cumulative exam that covers - The [[https://mathorama.com/wiki/doku.php?id=summer_assignment|summer assignment]] - [[https://mathorama.com/wiki/doku.php?id=karl_j_robot|Karel the Robot]] (Subclasses of Robot, void methods, while loops, for loops) - [[https://mathorama.com/showHWbyQtr2020apcs.php?block=A&qtr=1|Classroom labs]] (including mathorama wiki, Litvin, and [[https://runestone.academy/runestone/default/user/login|Runestone]] exercises) - [[https://myap.collegeboard.org|AP Classroom]] (Unit 1 Sampler, Unit 1 PPC A, B, Unit 2 PPC A, Qtr 1 MC Practice, Daily Videos 1.2, 2.1, 2.2, 2.6, 2.7, 2.9, 5.8, 9.1, 9.2 )) - Chapters 3 through 5 of the Litvin textbook (Homework, Labs, Chapter Tests). Links to Practice Problems * [[https://apclassroom.collegeboard.org/| Qtr 1 MC Practice]] assignment at AP Classroom * [[https://codingbat.com/java/Warmup-1|codingbat.com]] Warm-up 1 * [[https://codingbat.com/java/Logic-1|codingbat.com]] Logic 1 * [[Writing classes Practice]] * [[https://mathorama.com/apcs2/practice_frq_qtr_1.pdf |Old Practice FRQs' for Qtr 1]] ====Things to watch out for:==== - Constructors should initialize the class's fields (fields are ''private'', to encapsulate) - When initialzing fields in a constructor, **Do not** mention its type- this accidentally makes a local variable instead of initializing the classes field that has the same name. - Remember to make fields ''private'' and methods ''public'', - Remember local variables are **never** public nor private - Remember method names should use () for the parameter list, even if there are no parameters - Watch for dangling else statements (p 148) - without brackets, the last ''else'' belongs to the previous ''if'' - **Do not** add a ''System.out.print'' when no printing is requested (This can be a 1 or 2 point **Extraneous code that causes side effect** [[https://mathorama.com/wiki/lib/exe/detail.php?id=qtr_1_study_guide&media=apcs_penalty_points.png|penalty on the AP Exam]]) - **Do not** use local variables before first declaring them ( also a [[https://mathorama.com/wiki/lib/exe/detail.php?id=qtr_1_study_guide&media=apcs_penalty_points.png|AP scoring penalty]]). - Variables are declared ONLY ONCE, not every time. - **Do not** assign a value to a parameter inside a method unless you are asked to (also a [[https://mathorama.com/wiki/lib/exe/detail.php?id=qtr_1_study_guide&media=apcs_penalty_points.png|AP scoring penalty]] called **Destruction of data**) - **Never** use ''return'' in a constructor - Remember to ''return'' something of the same type as a method's header. - **Do not** ''return'' something when writing a ''void'' method ( a method that isn't supposed to return something (This too has a [[https://mathorama.com/wiki/lib/exe/detail.php?id=qtr_1_study_guide&media=apcs_penalty_points.png|AP scoring penalty]]) Finally, please remember to get a good night's rest and a healthy breakfast! Good Luck!