Note that you can access the Java 8 APIs at
Demonstrate ability to specify and analyze stand-alone procedures
and OO classes.
Demonstrate ability to specify and analyze OO inheritance decisions.
Demonstrate ability to convert mutable data types to
immutable data types and vice versa.
Demonstrate ability to correctly create and destroy OO objects.
Demonstrate understanding and competence in generic programing.
Students are expected to read the relevant material
(text, various sources on the web, etc.)
The lectures will not cover everything in the readings,
class time will be spent on exercises that rely on the readings.
- Homework assignments: 15%
- Weekly quizzes: 40%
- Class attendance and participation (including discussion board): 15%
- Final exam: 30%
There are weekly homework assighments due on Wednesdays.
Homeworks are due before class.
I post homework assignments on the class web site.
Generally, you should submit assignments via
but if there is no "code" aspect to the homework, you are
welcome to hand in a paper submission in class.
Handing in an assignment after the start of class or changing an assignment
after the due date will result in the assignment being considered "late".
Collaboration on homework exercises
You may work homework problems individually if you wish.
However, since collaboration is a valuable learning technique,
you are encouraged to collaborate using
one of the following two models:
Collaborate with other students in CS/SWE 332 to analyze the problem
and develop a solution approach, but each student submits his or her own
In this model you may collaborate with as many CS/SWE 332 students as you wish.
Assignments are graded individually,
and there is no grade credit for collaboration in this model.
Collaborate from start to finish with at most
two other students in CS/SWE 332.
Your group must submit one solution and each person will get the same grade.
Each person must contribute substantially, and
the submission must outline
what each person contributed.
Absent this statement, no credit will be awarded to any student.
Note: Since my experience is that students typically produce better solutions with
this type of collaborative solution,
I encourage students to follow this model.
The incentive is a small (10%) bonus credit per assignment.
Note: You are NOT ALLOWED to include “guest names.”
Every person listed as a collaborator must contribute.
If someone is listed as a collaborator but did not contribute,
all will be reported to the university
Late Submission Penalty
Because of the way in which this class is taught, it is important
for everyone to stay on pace.
50% penalties apply to late submissions.
If you will be forced to miss class on the day something is due,
submit your solution prior to class electronically.
Under no circumstances will any assignment be accepted once
final exams begin.
Instead of midterm exams, we will have weekly quizzes.
Quizzes will be given during the first 10 to 15 minutes of class on Mondays.
All quizzes count towards the final grade. There are no "dropped" quizzes.
Students who miss a quiz or perform badly on a quiz have one (1) chance
at a make-up quiz.
The maximum score on a make-up quiz is 80%.
If you decide to take the make-up quiz, that score counts, no matter what the score
was on your first attempt.
Scheduling: I plan to offer make-up quizzes before class the
week after the original quiz.
If, for some reason, that doesn't work, I'll come up with a different plan.
Students who wish to take a make-up quiz
must inform me with either an email or a private post on Piazza.
The make-up quiz will be a different quiz than the one given in class,
but will focus on the same topics.
I place great emphasis on in-class learning.
I expect students to be in class.
Up to two absences are excused without grade penalty.
Each absence including and after the third absence
results in a reduction of
20% from the "Class attendance and participation" grade.
This means that 7 absences completely zero out the "Class attendance
and participation" grade.
This policy covers routine issues: having a cold, being stuck in
traffic, travelling for work, etc.
For absences caused by events beyond this, contact me for a discussion.
CS/SWE 332 will use the
software for a discussion board and for posting updates.
Information for accessing our class will be provided on the first day of class.
Participation on the discussion board counts towards your grade.
Post questions to an appropriate thread and
they will be answered by your instructor or classmate.
Basic questions are encouraged,
but only interesting questions
and correct answers will earn credit.
Participation must occur during the semester, not after final exams start.
I find anonymous discussions unhelpful; learning in this class
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 plan an in-class exercise for every class.
Students are encouraged to work in small groups.
Think about who you want to work with.
Some of these exercises need a Java development environment.
Very often, the in-class exercises will be closely related
to an upcoming homework assignment.
These exercises will be used to monitor attendance.
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.
These interactions count towards class participation.
- I am open to redoing existing topics if there is something
you think could be done better.
The final exam is closed book/closed notes/closed web.
The only exception is a single sheet of 8 1/2 x 11 paper (double sided)
with hand-written notes written by the person taking the exam.
The final is in-class and comprehensive.
Appropriate documentation (as determined by instructor) and
requisite permissions are required for makeup exam requests.
Note: A failing grade on the final exam (<60%) will result in a failing grade (F)
for the entire course, regardless of performance on other assignments.
If you know in advance that you are unable to make an exam
for a valid and unavoidable reason (such as a scheduled surgery, etc),
you must notify me at least one week before the scheduled exam date
to make arrangements for a makeup, and bring documentation with you
when you take the makeup.
If you miss an exam due to a university-accepted excused absence
(such as an illness or car accident the day and time of the exam),
you must notify me promptly of your absence
to make arrangements for a makeup, and bring approved documentation
with you when you take the makeup exam.
Failure to follow either of these policies will result in a zero grade on the exam.
In-class computers and communication
Phone calls, text messages, instant messages, email, and general web surfing are
highly disruptive to other students and hence not allowed during class time.
Technology devices may only be used for the class purposes (eg following slides or
working on in-class assignments.)
Violators will be asked to leave the room.
Repeat offenders will lose credit on the "Class attendance and participation" grade.
Please note that general assignments or class questions should NOT be sent
to the instructor — in such events, your email will be returned
and you will be asked to post your question to the discussion board.
In general, the turnaround time for responses to questions will be much quicker
on the discussion board.
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.
As with all GMU courses,
CS/SWE 332 is governed by the GMU Honor Code.
In this course, all quizzes and exams
carry with them an implicit statement that it is the sole work of the author.
See the collaboration discussion above for rules on homework assignments.
Any deviation from this is considered an Honor Code violation,
with ultimate sanction determined by the Honor Code committee.
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.