Note that you can access the Java APIs at
the
Oracle site.
Note on the course materials: We'll start with Liskov. Don't worry about the publication date;
Liskov is basically a math book, and hence ages remarkably well.
We're interested in contracts, mutability, data abstraction, and type abstraction.
Bloch is concerned about the same things,
but explores them in more detail and in more up-to-date Java.
Bloch also corrects some important points
that weren't well understood when Liskov's text came out.
Weekly schedule
This class is a group-based, in-person offering.
That means you need to be present in class at class time.
You will also need to meet with your group outside of class.
Although your group is free to meet in person,
most groups will probably find it more convenient to meet online.
Note: If the in-person, group-based thing isn't for you,
there is an asynchronous online section of this class available.
See Patriot Web for details.
Each week will cover a small number of related technical
issues (see course schedule).
Let's call this small number of technical issues a "topic".
Each topic will follow roughly the same sequence of preparation,
in-class learning activities, homework completion and (possibly) presentation,
and knowledge assessment.
Many of these activities
will be group based. (See a later section in the syllabus on
my view of the importance of interactive learning.)
The sequence is:
- Complete assigned readings and watch relevant videos, if any. There is no formal submission for this activity.
- Complete and submit a reading reflection. This is a formal opportunity for each group to
reflect on the reading.
- In-person Class Meeting:
- The instructor summarizes the reading reflections.
-
Combined session on the day's topic, followed by in-class
group-based exercises.
-
Break
-
Combined session on the day's topic, followed by in-class
group-based exercises.
-
Wrap up
- Homework - due the following week.
- Group-based.
- Solutions may be briefly discussed prior to the quiz.
Sometimes a group volunteers to present; other times, I'll present.
- Assessment via quiz - takes place at the beginning of class the same day as the homework is due.
Grading
- Group Functioning (group-based): 5%
- Weekly Reading Reflections (group-based): 10%
- Weekly Homework Assignments (group-based): 15%
- Weekly Quizzes (individual): 40%
- Final exam (individual): 30%
"Group-based" activities are collaborative and intended
to leverage peer-learning. They are not (primarily) assessment instruments.
This means that you are
required to collaborate with your group
and that you are also free to collaborate with
others outside of your group.
"Individual" activities (i.e. weekly quizzes, final) are assessment instruments.
This means that
collaboration on these activities is an honor code violation.
Each of these grade components is discussed below.
Group Functioning
Every student needs to be part of a group.
I would prefer that groups stay stable throughout the semester,
but if there is a good rationale to reconfigure a group or two,
we'll do that.
Group size: 3 or 4 students. We may end up with some groups of size 2.
Group creation mechanism: As a default, we'll drop students into groups
at random. If you are happy with your random group, great!
If you prefer a different group, during the first week you will have the option
to re-group.
If your group dwindles to just yourself, you'll need to join another group.
At the end of the semester, each student will provide an assessment of the
rest of their group. This assessment will determine the "Group Functioning"
part of the grade.
Groups can communicate internally through any mechanism they choose: zoom, discord,
google docs, whatever.
Reading Reflections
Each week, each group must complete a "reading reflection"
the day before class.
(That means midnight Tuesday, in the case of this class, since
class meetings are Wednesday afternoon.)
I will review these assessments before class, compile the overall
responses, and use them to tune the in-class activities.
Reading reflections are linked from the course schedule
and must be turned in on
Blackboard.
These reflections are part of the learning process
rather than the assessment process.
That is, they don't assess whether you have achieved mastery
of the new material,
rather they check whether you have done the necessary preparation.
Important: There are no make-ups for reading reflections.
Important: Only one submission per group. Please! Everyone in the group
gets the same credit.
Important: Every reading reflection submission must include a statement of who contributed
to the reflection. Submissions that do not include such a statement will not be graded.
Homework Assignments
There are weekly group homework assighments.
I post homework assignments on the class web site.
Generally, your group should submit assignments via
Blackboard.
Because of the way in which this class is taught, it is important to stay on pace.
Homeworks are due before class. Late submissions are not
accepted except in truly exceptional circumstances.
Important:
Each group should be prepared to present
their homework solution in class.
Important: Only one submission per group. Please! Everyone in the group
gets the same credit.
Important: Every homework submission must include a statement of who did what.
Homeworks that do not include such a statement will not be graded.
Weekly Quizzes
- Each quiz happens during the first 10 to 15 minutes of class. If you're late,
you miss the quiz.
- I will be forthcoming and concrete about the content for each quiz.
I'll do this in the form of "Quiz Guides" posted to
the course schedule.
That is, you shouldn't be surprised by any of the questions.
Often, they will be closely related to the prior week's homework.
Quiz Make-up Policy:
-
All quizzes count towards the final grade. Each quiz is scored
on a 10 point scale. Missed quizzes score 0/10.
Students who miss a quiz or perform badly on a quiz may choose to take the "make-up".
-
The maximum possible score on the make-up is 8/10.
(Example: your quiz grade is 5/10. You take the make-up and correctly answer
9 of 10 equally weighted questions. Your final score improves from 5/10 to 8/10.)
-
If you attempt the make-up, that score counts, no matter what your score
was on the quiz. "Attempt" is defined as you accepting the piece of paper on which the make-up
is printed.
(Example: your quiz grade is 7/10. You take the make-up and correctly answer
5 of 10 equally weighted questions. Your final score declines from 7/10 to 5/10.)
-
Scheduling: You can take make-up quizzes during GTA office hours.
Note that GTA office hours are immediately before class.
The make-up is different than the quiz given in class,
but focuses on the same topics.
- The make-up must be taken promptly. "Prompt" means within a window of two class meetings
from the quiz.
Example: Quiz 1 takes place on Wednesday,
August 30. The make-up must be taken on or before Wednesday, September 13.
- Each quiz has one only make-up, and you can attempt that make-up only once.
However, you are free to use the make-up mechanism on as many different quizzes as you wish.
- Quizzes are generally returned one week after the quiz is taken. Make-ups
are returned after the window has closed.
Final Exam
There will be an in-person final exam at the time specified by the university's
final exam schedule.
I may also offer an oral option for interested students.
Class Attendance
I place great emphasis on peer learning and interactive engagement.
Here's why.
I have structured the class to leverage group interactions to the largest
extent possible for the purpose of maximizing
learning gain through out the semester.
Bottome line: It's important to be in class, and it's important to work with your group.
In-Class Exercises
I plan in-class exercises for every class.
These are group activities.
If possible, you should complete these exercises with your designated group.
Some of these exercises need a Java development environment.
Very often, the in-class exercises will be closely related
to an upcoming homework assignment.
In-class exercises are not collected or graded.
If you have questions about the in-class exercises, post your questions to Piazza.
ShowMe Videos/Other videos
The course schedule page links to a number of short videos created
with the ShowMe service.
Some students find these helpful for grasping key points
from various lectures.
Several items of note:
- Each ShowMe captures an interaction a student has with me.
Such interactions can help students master the material
more effectively than having me drone on solo.
- I am interested in creating more ShowMe videos for other
topics in the course.
Contact me if you would like to help me do this.
- I am open to redoing existing topics if there is something
you think could be done better.
- Other videos are just me.
Record Keeping
We'll use Blackboard to maintain RAW scores and attendance data.
Grades are computed according to this syllabus.
There is a column in BB labeled "TOTAL": Ignore it; it's meaningless for this class.
(BB, in typical BB arrogance, does not give me the option of disabling or hiding this column.)
It's the student's responsibility to ensure that Blackboard records are correct.
(I'm happy to correct errors.)
Every semester, I get email from students wondering why there grade doesn't correspond to
the TOTAL column in BB. Please don't be the student who sends me this message.
Email
Please note that questions of general interest should not be emailed
to me. Post on Piazza instead.
Virginia Privacy Laws
Virginia state law requires the University (including me) not to
disclose student email addresses, phone numbers, and addresses.
This will impact communications in this class as follows:
- Communicating via email with groups of students is problematic. (Bcc is a partial
but not very good, solution.) As far as I have been able to determine,
Piazza does not make student emails visible to
other students, even though instructors can see email addresses.
Hence, this is another reason to favor the Piazza forum.
- You can choose to disclose your email whenever and wherever you wish.
That's up to you.
Piazza
We'll use
Piazza
for discussions.
I will add students who are enrolled on Patriot Web to the Piazza page for this class.
(Self sign-up is disabled; we've had problems with that in the past.)
I find anonymous discussions unhelpful in this class;
here learning is predicated on interactions.
Plus, part of your education
is to learn to stand behind your questions and ideas. That's how employees
function in the working world. Piazza allows
partial, but not complete, control of anonymous posts.
Should someone post anonymously, I will ask the poster to change the visibility
and ask the class not to respond to the anonymous version.
I mostly expect students to provide responses to questions from other students.
I've asked the GTA to not jump in with prompt answers; I won't either.
We will, however, endorse (or correct) such answers.
Honor Code
As with all GMU courses,
SWE 619 is governed by the GMU Honor Code.
In this course, every quiz
carries with it an implicit statement that it is the sole work of the author.
The final exam carries with it an explicit statement that it is the sole work of the author.
Further, all group submissions require a statement
of participation from each member of the group.
"Guest" listing on a reading reflection or a homework submission is
an honor violation for the entire group.
If a student doesn't contribute to a submission from his or her group,
the statement of contribution must say that.
The student takes the zero and hopefully gets back on board on the next submission.
Learning Disabilities
Students with learning disabilities (or other conditions documented with GMU Office of Disability Services)
who need academic accommodations should see me and contact the
Disability Resource Center (DRC) at (703)993-2474.
I am more than happy to assist you, but
all academic accommodations must be arranged through the DRC.
Contact note:
You should avoid using BB to contact me; I stay off BB as much as possible.
Prefer Piazza or (if necessary) email.
If you want to schedule an appointment, contact me by Piazza or email.
I do not use the Microsoft calendar, and I do not respond to "Teams" requests.
Pandemic
Details of Mason's pandemic policies are available on Mason's
Safe Return to Campus page.
These may change from time to time.
I expect everyone in the classroom to follow these guidelines, whatever they may be.
If you wish to be more conservative than the guidelines, for whatever reason (please DON'T share;
it's not my business), you are welcome to do so.
Whatever the guidelines say, if you are sick, please STAY HOME!
If the pandemic protocols force you to miss class for an extended period, contact me.
In particular, we will work out a schedule for you to take oral assessments as an alternative
to the weekly quizzes. Note that other class deliverables can be completed remotely.
If you have pandemic-related accommodations or concerns that I need to know about,
please share those with me promptly.
|