Schedule:
(subject to change; check regularly)
Nondiscrimination policy:
Software engineering is at its nature a collaborative activity and it
benefits greatly from diversity. This class includes and welcomes all
students regardless of age, background, citizenship, disability, sex,
education, ethnicity, family status, gender, gender identity, geographical
origin, language, military experience, political views, race, religion,
sexual orientation, socioeconomic status, and work experience. Our
discussions and learning will benefit from these and other diverse points of
view. Any kind of language or action displaying bias against or
discriminating against members of any group, or making members of any group
uncomfortable are against the mission of this course and will not be
tolerated. The instructor welcomes discussion of this policy, and encourages
anyone experiencing concerns to speak with him.
Academic integrity:
Students are allowed to work together on all aspects of this class except
the midterm. However, for the homework assignments, each student must submit
his or her own write up, clearly stating the collaborators. Your submission
must be your own. When in doubt, contact the instructors about whether a
potential action would be considered plagiarism. If you discuss material with
anyone besides the class staff, acknowledge your collaborators in your
write-up. If you obtain a key insight with help (e.g., through library work or
a friend), acknowledge your source and write up the summary on your own.
It is the student's responsibility to remove any possibility of
someone else's work from being misconstrued as the student's. Never
misrepresent someone else's work as your own. It must be absolutely clear what
material is your original work. Plagiarism and other anti-intellectual
behavior will be dealt with severely. Note that facilitation of plagiarism
(giving your work to someone else) is also considered to be plagiarism, and
will carry the same repercussions.
The UMass Academic
Honesty Policy prohibits the use of ChatGPT and similar AI
text generators. Representing material generated by such tools as your own will
be considered plagiarism.
Students are encouraged to use the Internet, literature, and other
publicly-available resources, except the homework solutions and test
(including quizzes, midterms, finals, and other exams) solutions, from past
terms' versions of this course and other academic courses, whether at UMass
and at other institutions. To reiterate, the students are not allowed
to view and use past homework and test solutions, unless explicitly
distributed by the COMPSCI 621 staff as study material.
Whenever students use Internet, literature, and other publicly-available
resources, they must clearly reference the materials in their write ups,
attributing proper credit. This cannot be emphasized enough: attribute
proper credit to your sources. Failure to do so will result in a zero
grade for the assignment and possibly a failing grade for the class, at the
instructor's discretion. Copying directly from resources is not permitted,
unless the copying is clearly identified as a quote from a source. Most use of
references should be written in the words of the student, placing the related
work in proper context and describing the relevant comparison.
The students should familiarize themselves with the UMass Academic
Honesty Policy and
Guidelines for Classroom Civility and Respect. These policies and
guidelines apply to this class.
Students who violate University standards of academic integrity are subject
to disciplinary sanctions, including failure in the course and suspension from
the university. Since dishonesty in any form harms the individual, other
students, and the university, policies on academic integrity have been and
will be strictly enforced.
Reading:
There is no required textbook for the course. Reading assignments will
come from publicly available research papers. Students who wish to read
established textbooks beyond the assigned reading should consider:
- The Mythical Man-Month: Essays on Software Engineering by Frederick P.
Brooks Jr.; Addison Wesley
- Software Architecture: Foundations, Theory, and Practice by Richard N.
Taylor, Nenad Medvidovic, and Eric Dashofy; John Wiley and Sons
- Fundamentals of Software Engineering by Carlo Ghezzi, Mehdi Jazayeri,
Dino Mandrioli; Prentice Hall
- Software Testing and Analysis: Process, Principles, and Techniques, by
Mauro Pezzè and Michal Young, John Wiley and Sons
Prerequisites:
Students should have taken an introductory course in software
engineering or have the equivalent background. Students are expected to be
familiar with an object oriented programming language, such as Java or C++.
Some programming and the ability to download and use off-the-shelf tools are
expected.
Acknowledgements:
Various materials used in this course have greatly benefited from
materials developed by Alex Aiken, Lori Clarke, Carlo Curino, Sebastian
Elbaum, Michael Ernst, David Notkin, Nenad Medvidovic, Alex Orso, Lee
Osterweil, Willem Visser. Thank you.