Welcome to AP Computer Science A. If you are a student in the class, the first thing you need to do (and which we should have done in class) is set up your GitHub account.
Once you have a GitHub account, click “Log in to GitHub” below to proceed.
If you don’t have a GitHub account yet, please create one and then log in here for further instructions.
Congratulations! You have successfully connected this app to GitHub. However you are not yet a member of the GitHub organization for this class, something Mr. Seibel needs to set up for you.
This is your GitHub profile URL:
Click the clipboard icon to copy it and then submit it at this form so he can add you.
Congratulations! You have successfully connected this app to GitHub. And it looks like you have an invitation to join the GitHub organization for this class. You need to accept that invitation before you can proceed. The invite should be sent to whatever email you used when you created your GitHub account.
I see you are logged into GitHub and a member of the berkeley-high-cs GitHub organization. However there seems to have been some problem finishing the setup for your account. Please let Mr. Seibel know.
This is a tool for the AP Computer Science A class at Berkeley High School. It is intended to provide a simple environment for experimenting with Javascript without all the complexities of a full development environment such as ReplIt or Glitch which we may use later in the year.
It is also designed to take advantage of the browser’s ability to run Javascript natively. It does not need access to a server to run code making in extremely responsive even if the Wifi is flaking out.
Finally, under the covers it is saving work to a GitHub repository in a very simplified workflow that does not depend on immediately learning any git commands. Code written in this environment for each assignment is saved to a directory and branch specific to that assignment each time it is saved. Thus when the assignment is done, it is easy to go to GitHub and create a PR containing just the work on that assignment which can then be commented on and worked on further before it is turned in and merged to main.
You're all set! You don't need to worry about this yet but we have successfully created a GitHub repository for your work:
You can get to it any time by clicking on your GitHub username at the top-right of the screen.
Write a public class named Present
. This class is going
to represent a present you’re planning to give to somebody. It will
hold the recipient’s name, a description of the present, a cost (in
cents), and two booleans for whether you’ve bought it yet, and
whether you’ve given it. But for now just write the basic class
defintition.
Add five instance variables, a String
named
recipient
which will hold the name of the recipient, a
String
named description
to hold a
description of the present, an int
named
cost
that holds the cost of the present, and two
boolean
s, bought
and given
.
Write a constructor that takes three arguments, a
String
recipient name, a
String
description, and and int
cost in
cents. The constructor should initialize the corresponding instance
variables. The two boolean
s should be intialized to
false
.
Write getters for all the instance variables. The getters for the
String
s and the int
should follow the
normal getRecipient
pattern while the two getters for
the boolean
instance variables should use the alternate
naming pattern for booleans, isBought
and
isGiven
.
Write setters for the two boolean
instance variables.
For setters use the normal naming pattern setBought
and
setGiven
. Note, you should not write setters for
the other instance variables.
Write a method isMoreExpensiveThan
that takes another
Present
as its argument and returns a
boolean
indicating whether the current object is more
expensive than the argument present, i.e. its cost
is
greater than the other Present
’s cost
.
Write a method forNewRecipient
that takes a
String
naming a new recipient and returns a new
Present
for the given recipient with the description
and cost taken from the current Present
. The
bought
and given
values should not be
copied from the current Present
.
Usual drill. Write as many methods as you can. Note that some of these are designed to be hard enough to justify raising 3s to 4s. But if you’re aiming to increase to a 3 don’t worry if you can’t get them all. On the other hand, some of these are really quite easy—don’t psych yourself out by thinking it needs to be harder; they might really be that easy. (Back to Fall Final page.)
All topics: