Summer Coding
The best way to stay safe from the sun's deadly rays of light
HELLO!
Welcome to AP Java
I'm Mr. Malafarina and I am looking forward to teaching you next year. This class is much more rigorous - but more rewarding - than AP CS Principles. In order to make sure we have a strong start, all students are asked to complete the following summer assignments. These will be assessed on the second day of class. If you have any questions about the work, please contact me at mmalafarina@bcps.org. I won't respond immediately, but will check messages periodically throughout the summer.
HARDWARE | MATERIALS
You are required to have a working flash drive that you can bring to class every day
We will provide you with one free flash drive, but you're welcome to use your own
It is highly recommended you have access to a computer at home or a personal laptop.
None of our software will work on the school issued Chromebook
I strongly encourage you to use a PC rather than a Mac for coding at home
If you do not have access to a computer at home, you'll need to do all your programming in class and manage your time extremely carefully.
HANDBOOK | READING
Explanation
The Coder's Handbook is a set of programming guides written by Mr. M to help you learn Java. At the start of the year, you'll have to complete a multiple choice quiz to assess how well you understand the concepts covered in the first few guides. (Note: Quizzes in my class do not have redos, so please study carefully.)
A lot of these concepts are review, but for many of you the syntax will be new.
Each handbook entry includes links to video tutorials. These are not required, but can provide a lot of reinforcement and extension on concepts, especially if you find them unfamiliar or challenging. Use your own judgement about how you learn the material.
Required Reading
CODINGBAT | EXERCISES
Explanation
Codingbat is a great resource for practicing your Java syntax and problem solving skills. We'll be doing a few assignments using this website. Over the summer, you'll need to complete a few practice problems and link your account.
Setup
Crate an account using a personal email address (not your BCPS account).
Always make sure you are logged in before completing problems. The website allows you to do problems anonymously, but then you won't get any credit for them.
Tips
Solutions are available for the problems in the Warm-up-1 problem set . Try not to use them too much, but they're there to get you started. Some problems in other sets provide hints.
You are permitted to do problems in any order, but I recommended you go from left to right, then top to bottom within a page (or simply click next after a problem). In general the problems are organized to help you progress smoothly, and get harder as you move through them.
Assignment
You'll need to complete a total of 50 codingbat problems and have them tied to your account by the first day of class. You're required to do problems from each of the following categories, but it is your choice which ones you complete.
Codingbat Warm-up-1 (x10)
Codingbat Logic-1 (x20)
Codingbat String-1 (x20)
Throughout the course, additional problems will be assigned. Typically, this includes problems from the Array-1, Array-2, Recursion-1, and AP-1 categories. At the end of the year, extra credit is awarded for additional codingbats completed beyond the assigned work, so feel free to go wild on these.
CODING | PROJECT
Explanation
You'll make one project before the year starts to show that you understand how to put these ideas together in a program.
It is highly recommended that you start this during AP Principles while you have teacher support.
Setup
You're welcome to use any development environment of your choice. At the start of next year, I'll do a spot check on your first project. Recommendations:
Replit - This is an online editor you can use for the summer project.
IntelliJ IDEA - This is the environment we use during the year, but requires install on a computer. If you download this, be sure to get the Community Edition which is free.
Project #1 - Friend
Follow the instructions on the Friend Project page.
RECOMMENDED: CODE FOR FUN
The Real Way To Learn...
While this summer work will get you a jump start on the school year, the most important thing you can do is work on a project for fun - in any language!
Pick a language you're fairly comfortable with and try to build something. Make sure it's something you think is COOL and INTERESTING. It can be a little bit hard, but try not to be too ambitious. Give yourself room to grow, but make it easy enough that you can also play around.