Note that you can (and should!) 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.
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 (Tuesday):
- The instructor summarizes the reading reflections.
-
Combined session on the week's topic, followed by in-class
group-based exercises.
-
Wrap up
- In-person Class Meeting (Thursday):
- Review of group-based homework as needed;
sometimes a randomly-selected student group will present.
-
Combined session on the week's topic, followed by in-class
group-based exercises.
-
Wrap up
- Assessment via quiz - takes place at the beginning of Tuesday class the following week.
Grading
- Group Functioning (group-based): 5%
- Weekly Reading Reflections (group-based): 10%
- Weekly Homework Assignments (group-based): 10%
- Weekly Quizzes (individual): 35%
- Final exam (individual): 30%
- Attendance: 10%
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: 2 or 3 students.
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 individual 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 NOON Monday, in the case of this class, since
the first class meeting of the week is 9:00 AM Tuesday morning.)
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: I plan to offer the make-up during GTA office hours.
If, for some reason, that doesn't work, I'll come up with a different plan.
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 four class meetings (usually two weeks)
from the quiz.
Example: Quiz 1 takes place on Tuesday,
February 2. The make-up must be taken on or before Tuesday, February 16.
- Each quiz only has one make-up, and you can only attempt that make-up 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.
- New this semester: I'll offer an oral option for quizzes and make-up quizzes.
This is offered on a trial basis; I may end the trial before the end of the semester.
Timeslot: office hours; possibly rescheduled through mutual agreement.
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.
To that end, attendance is tracked at every class session.
Here's the algorithm:
We have 28 scheduled meetings.
The first 21 meetings you attend don't earn any credit.
After that, each class attended earns 20% of the attendance grade.
If you work this
out, you'll discover that you can miss two classes and still earn full credit.
The attendance policy covers routine issues: having a cold, being stuck in
traffic, travelling for work, etc. In other words, it doesn't matter why
you missed class; I don't judge the validity of absences.
For the vast majority of students, this policy works fine. In exceptional
circumstances, it doesn't. If necessary, contact me for a discussion.
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.
These exercises will be used to monitor attendance.
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 their 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
The state of Virginia now has laws that require 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
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.
Honor Code
As with all GMU courses,
SWE 419 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.
Contact note:
You should avoid using BB to contact me; I stay off BB as much as possible.
Prefer Piazza or 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.
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.
Pandemic
Details of Mason's pandemic policies are available on Mason's
Safe Return to Campus page.
Because everyone has a right to a safe classroom,
deviance from Mason's policies will not be tolerated in this classroom.
If you are not cleared to come to campus, 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 that I need to know about, please share those with me promptly.
Probably, this can be addressed with help from Mason's DRC.
|