5925 Integrated Project Design Fall 2024
Draft Syllabus -Subject to change until class begins
Instructional Staff Information
Instructors
Instructor
Dr.
Erika Olimpiew
Dr. Melissa Cameron
Office
470 NVC
467 NVC
Office
hours
TBD
TBD
E-mail
GTAs
GTAs
Office
Office Hours
E-mail
Communication
Canvas
Make sure to check the homepage, announcements, files, the tentative
schedule and assignments often!
You may also receive emails from the instructional staff through Canvas
You may contact the instructional staff through Canvas
Email
You may contact the instructional staff individually at their respective
email addresses (see above) but you may get a faster response using the
class email address <TBD>
Emails sent to the instructional staff will generally be answered within 2
business days
Exceptions include but are not limited to:
Emails, sent to the instructional staff, regarding information
that is easily available through the Canvas site (for
example the date of the final) or previously distributed to
students through email (for example information about
optional preparation for the semester) may not receive an
answer.
Office Hours
If you have questions, you may go to the office hours of the instructional
staff using the means specified above for each instructional staff member.
In order to provide equitable access to the instructional staff, the length of
time and/or the number of times (within a specific time period) you may
attend office hours may at times be limited.
Where to find information
Being a professional requires being mindful of others' time, therefore before sending an email or
attending office hours, try to find the answer to the question yourself. You can use a number of
resources available to you:
If the question is related to class administration, check the syllabus, schedule and
announcements on Canvas (including announcements and Piazza).
If the question is related to recent information, check Canvas (including announcements
and Piazza) lecture slides as well as previous emails sent to you.
If the question is assignment related, check Canvas (including announcements and
Piazza) lecture slides and emails sent to you to see if it has already been answered.
If you have a general question that has not already been addressed on Canvas, in email
or from the lecture slides, post your question to the appropriate section of Piazza.
Grade-Related Questions: If you have a question specific to you or your grade, email it
to the instructional staff.
If you have a question that is beyond the scope of an email, consider coming to office
hours or scheduling an appointment.
Course Information
Course Description
Provides an introduction to project-driven, team-based, experiential learning fundamentals;
study of team management; the professional and ethical implications of proposals; design and
implementation of large projects. Software engineering first principles and tools will be applied
to the generation of design ideas to solve open-ended societal and/or individual needs. Projects
will be fully integrated across CS 5925 and CS 5926, and drive the practical study of team
management, professionalism, ethics, and software engineering principles. Discussions of
ethics case studies and application of ethical principles throughout project design and
implementation.
Prerequisites/Corequisites
Prerequisites: Graduate student in good standing and a graduate-level proficiency in English.
CS5040 Intermediate Data Structures and Algorithm Analysis or equivalent.
Course credit will not be awarded for both CS 5925 and CS 5704 Software Engineering.
Course credit will not be awarded for both CS 5925 and CS 5024 Ethics and Professionalism.
Knowledge Expectations: Proficiency in a high-level programming language (i.e. Python,
Java, C/C++, JavaScript, etc.) for use in your project. Any examples given in class will be in
Java.
Learning Outcomes
Having successfully completed this course, the student will be able to:
1. Locate and use sources of background technical information on current ethics topics
related to privacy, intellectual property, algorithmic decision making, and other topics.
2. Weigh and apply ethical framing employed by opposing views in current computing
technology-related topics such as privacy, intellectual property, algorithmic decision
making.
3. Define and defend a position on a computing technology issue.
4. Apply ethical requirements involving conflicts of interest, proper conduct of research,
appropriate use of human subjects in research, bias, and diversity.
5. Apply contemporary techniques and tools to the design and testing of large-scale
software systems projects and analyze needs relative to all stakeholders.
6. Apply contemporary models to predict project development costs, measure and
predict reliability, and measure software complexity.
7. Develop and apply leader/follower, conflict resolution, and management skills in the
role of a productive member on a multi-person project development team.
Course Structure/Format
The course will be focused around working in project teams on the creation of a product. It will
cover the information taught in Software Engineering and Ethics as well as teamwork and
professionalism skills. It will consist of traditional lecture presentations, practical workshop-style
learning experiences, and more in-depth theoretical discussions about software engineering,
ethics and professionalism topics.
Course Materials
Primary Texts (required)
Roger, S. P., & Bruce, R. M. (2015). Software engineering: a practitioner’s approach. You may
use either a hardcopy or the electronic version of the book via the McGraw-Hill website.
Burton, E., Goldsmith, J., Mattei, N., Siler, C. & Swiatek, S. (2023). Computing and Technology
Ethics: Engaging through Science Fiction. The MIT Press.
Rath, T. (2007). StrengthsFinder 2.0. Simon and Schuster.
Secondary Readings
Many of the lectures and discussions will require readings from supplemental textbooks and/or
research papers. These will be identified prior to the appropriate class. They will be available
through the VT Library or they will be provided to you directly through links.
Technology Requirements
Hardware
Virginia Tech provides technology requirements and recommendations for computer hardware.
Among other things, this includes a computer with a working camera and microphone.
Software
GitHub/GitLab
An Integrated Development Environment (IDE) or Text editor
AWS or other cloud environment such as Microsoft Azure, Google Cloud, VT Discovery
Cluster
Any languages, programs or software your team deems necessary.
Attendance/Participation
Attendance and active participation is not only expected by the university and the instructional
staff, it is a mark of professionalism. As such, a lack of attendance and/or participation may
negatively impact your grade (see Grading -> Overall). Additionally, there may be unannounced
graded in-class assignments in any class period.
However, if you are sick or test positive for COVID-19: DO NOT COME TO CLASS! Contact
the instructor for prolonged absences or as needed for specific personal issues.
Time and Effort Expectations
The amount of weekly outside work for a graduate CS course is heavy. Consider, it is common
for undergraduate STEM courses, including CS, to require 3-4 hours (weekly) outside of class
per credit hour. This number is often higher for graduate classes. Keep in mind this course is 6
credit hours, or the equivalent of 2 courses. So, assuming 3-4 hours outside of class per
credit hour, you should expect to spend 18-24 hours or more outside of class depending
on your experience, efficiency, etc.
6 credit hours times
3-4 hours per credit equals
18-24 hours expected
Some comparisons:
“STEM classes often require 3-4 hours, per credit hour, of studying to be successful.” - UIUC
“Three credit units require students to work on that course for about [3 hours outside class per
credit per week] ……Note also that the definition is for a minimum amount of student work per
credit (‘no less than’).” - Cal Poly
dedicate six hours a week for each credit hour you take — so for a standard three credit class,
you can expect to spend 18 hours per week” - ASU (OK, even the instructional staff think this
one is a bit high.)
Grading
This course uses a percent-based grading schema for the following categories of deliverables:
Category
Percent
Project
40%
Midterm/Final
15%
SE/Ethics Research
Presentation
15%
In-class Workshops
15%
Homeworks
10%
Graduate School
Assignments
5%
Overall
Professionalism. Unprofessional electronic communication, unprofessional assignment
submissions or unprofessional in-person behavior, including a lack of attendance or
participation, may result in a 0 or a negative grade adjustment on the appropriate assignment or
even a student's overall grade.
Assignments. Information about assignments may be provided early in the semester even
though they will not be assigned until later. This information is provided for planning purposes
only. No assignment is binding until it is actually assigned. There may be additional assignments
given for which information was not provided early in the semester.
Grading Questions or Re-grading requests. Any questions, concerns, disputes, or requests
to review any aspect of how an assignment was graded must be made within 1 calendar week
(168 hours) of the assignments return except for assignments returned during the last week of
classes or after classes end as these, of necessity, may have shorter deadlines.
Project
Students will be expected to begin work on a 3-semester project over the course of this
semester. Project teams of 5 students (as much as class enrollment will allow) will be expected
to use software engineering principles and ethics and professionalism skills on their project, with
various project milestones and deliverables due throughout the semester. The specific details
and rubrics for the project deliverables will be announced later during the class.
Although the expectation is that the project will be continued for 2 additional semesters, nothing
in this syllabus or class is binding on any other semester.
Exams
There may be one midterm exam and one final exam in this course for a combined total of 15%
of your semester grade. Whether to have both a midterm and a final or to just have one or the
other, as well as the decision about the format of the midterm and/or final will be determined by
the instructional staff closer to the time for the exams. The exams may cover all course
materials (lectures, workshops, homeworks, readings, discussion preparation assignments, etc)
except for the in-class student research paper discussions. Missed exams cannot be made up
without an official university excuse and/or instructional staff approval.
Exam Policy and Honor Pledge
Do not work on the exam with anyone else. Do not provide information about the exam to
others or receive information from others including from non-approved electronic
resources. Collaboration between students is forbidden on the exam. You must work
alone.
If you violate the University Code of Conduct during the exam, you will be reported to the Office
of Student Conduct and be subject to any penalties dispensed. By submitting the exam, you
affirm that you followed the rules of the exam and the honor pledge: “I have neither given nor
received unauthorized aid on this exam.”
In-depth Topic Presentation
Working in presentation groups of 4 (as much as class enrollment will allow), all students will
research and present more in-depth information about a software engineering or ethics topic.
The presentation groups may not be the same as the project teams. This will give students the
chance to dive deeper into a software engineering or ethics concept discussed in the course,
learn about conducting research, gain experience with technical presentations, and practice
constructively critiquing presentations. The specific details and rubrics for the project
deliverables will be announced later during the class.
Workshops
Workshops are in-class activities designed to help students gain practical hands-on experience
with topics discussed in class. Workshops not completed in class should be completed by the
Sunday following the class in which the workshop was conducted. Each workshop will provide
specific submission details.
Homeworks
The homework assignments for the course may provide a mix of technical problems,
workshops, readings, critical analysis, lecture review questions, discussion preps, discussion
notes, peer reviews and teamwork/professionalism tasks and reflections. They may also be
announced or unannounced assignments given in class. All homeworks (other than completely
in-class assignments) will be due on Sunday by 11:59 pm on the appropriate week unless
otherwise indicated.
Grading Scale
This course uses the following grading scale:
Letter
High
A
< 100.0
A-
< 93.0
B+
< 90.0
B
< 87.0
B-
< 83.0
C+
< 80.0
C
< 77.0
C-
< 73.0
D
< 70.0
F
< 65.0
Course Schedule
A tentative detailed schedule for the semester is available through a link on the Canvas
homepage. Please note that the course schedule is subject to change at any time.
Course Policies
Late Assignments
No late submissions will be allowed without a valid excuse. Unless otherwise specified, all
exercises should be completed on your own.
Student Concerns
You must inform your instructor as soon as possible of anything that may prevent you from
completing coursework and exams as well as any other concerns that you may have.
Student Conduct
Students are expected to be respectful of classmates and teaching staff. (See the Netiquette
and University Policies section below).
Netiquette
Adapted from material from Dr. Chris Brown as well as NC State Netiquette
(https://ethics.csc.ncsu.edu/speech/netiquette/)
Netiquette is the term used to describe the special set of rules for online communication. Higher
education provides you with a training ground prior to entry into the work environment for your
chosen career. You will use many of the following rules of “netiquette” when you are
communicating with colleagues, your supervisor, or clients in the working world. Please observe
etiquette when communicating with the teaching staff and your peers throughout the duration of
this course.
Professionalism
Students are expected to conduct themselves in a respectful and professional manner at all
times. Students are expected to act professionally both in person and electronically with all
members of the teaching staff and their classmates. Communication, both written and verbal,
should be respectful and should never include derogatory comments about yourself or others.
All criticism (of yourself, the course, instructor, TAs, fellow students, resources, etc.) should be
constructive and provide feedback for improvement. Guidelines for electronic communication
are listed in the section below.
Report any unprofessional behavior by a class member to the instructional staff.
Unprofessional electronic communication on course forums may result in suspension from the
course forum and possible grade penalties. Unprofessional in-person behavior, including a lack
of participation, may result in a conference with the instructional staff and possible grade
adjustments for all involved parties. Any unprofessional behavior may also be reported to any
appropriate Virginia Tech Departments.
You should have the same tone of professionalism in all of your submitted work (e.g., code
documentation, variable names, git commits).
Electronic Communication
We look forward to receiving emails and message board posts about any questions you have
about the class, materials, exams, and exercises. Professionalism includes being able to work
independently, researching and finding answers to questions, and being mindful of your others’
time, therefore before sending an email, try to find the answer to the question by using various
references already available to you.
The tone of email or piazza messages should be professional. Re-read your message before
you press “Send”. If you have several questions or items, please number them for ease of
reading. The response will also be easier to understand.
Please spell check and correct spelling/grammatical errors.
University Policies
If any information about University policies provided here is in conflict with the university policies
on the Virginia Tech websites, the Virginia Tech websites supersede this information.
Academic Integrity and Honesty
Students are required to comply with the university policy on academic integrity. For additional
information about the Honor Code, please visit: https://www.honorsystem.vt.edu/ .
The Undergraduate Honor Code pledge that each member of the university community agrees
to abide by states:
As a Hokie, I will conduct myself with honor and integrity at all times. I will not lie, cheat,
or steal, nor will I accept the actions of those who do.
Students enrolled in this course are responsible for abiding by the Honor Code. A student who
has doubts about how the Honor Code applies to any assignment is responsible for obtaining
specific guidance from the course instructional staff before submitting the assignment for
evaluation. Students are strongly discouraged from misusing sites such as Chegg and
CourseHero, as well as misusing ChatGPT and other Generative Artificial Intelligence. Review
the Additional OpenAI guidelines provided for this course. Students are strongly encouraged to
consult their faculty members regarding the use of such outside materials as the misuse of
these sources may constitute a violation of the Honor Code. Ignorance of the rules does not
exclude any member of the University community from the requirements and expectations of the
Honor Code.
All members of the University community, students, faculty and other employees, have
the responsibility to report academic misconduct to the appropriate authority.
All work that you turn in for grading must be your own! This means that all work must be an
independent and individual creation by you or in the case of paired/team assignments; all work
must be an independent and individual creation by you and your assigned partner or assigned
teammates. Any attempt to gain an unfair advantage in grading, whether for yourself or
another, is a violation of academic integrity. You may only work on an assignment with another
student(s) in the class if explicitly stated in the assignment.
All assignments submitted shall be considered “graded work” and all aspects of your
coursework are covered by the Honor Code unless specified otherwise. All assignments are to
be completed individually unless otherwise specified.
Commission of any of the following acts shall constitute academic misconduct. This
listing is not, however, exclusive of other acts that may reasonably be said to constitute
academic misconduct. Clarification is provided for each definition with some examples of
prohibited behaviors in the Undergraduate Honor Code Manual located at
https://www.honorsystem.vt.edu/
o CHEATING: Cheating includes the intentional use of unauthorized materials, information,
notes, study aids or other devices or materials in any academic exercise, or attempts thereof.
o PLAGIARISM: Plagiarism includes the copying of the language, structure, programming,
computer code, ideas, and/or thoughts of another and passing off the same as one's own
original work, or attempts thereof.
o FALSIFICATION: Falsification includes the statement of any untruth, either verbally or in
writing, with respect to any element of one's academic work, or attempts thereof.
o FABRICATION: Fabrication includes making up data and results, and recording or reporting
them, or submitting fabricated documents, or attempts thereof.
o MULTIPLE SUBMISSION: Multiple submission involves the submission for credit – without
authorization from the instructor receiving the work – of substantial portions of any work
(including oral reports) previously submitted for credit at any academic institution or attempts
thereof.
o COMPLICITY: Complicity includes intentionally helping another to engage in an act of
academic misconduct, or attempts thereof.
o VIOLATION OF UNIVERSITY, COLLEGE, DEPARTMENTAL, PROGRAM, COURSE, OR
FACULTY RULES: The violation of any University, College, Departmental, Program, Course, or
Faculty Rules relating to academic matters that may lead to an unfair academic advantage by
the student violating the rule(s).
Why is Academic Integrity Important?
(Adapted by Dr. Chris Brown from Matt Stallmann, Sarah Heckman, and Mitchell Wand)
Would you want to fly in a plane whose controller software was designed and implemented by a
group of people who had never demonstrated the persistence, attention to detail, and ability to
deal with negative feedback from compilers, linkers, etc., that it takes to design, implement, and
debug a program on their own?
Academic misconduct affects you, your peers, the CS department, the university, all students
who have ever graduated from VT with a CS degree, and all users of software products to which
you contribute. When you receive a degree from Virginia Tech:
The degree represents the university’s certification that you have demonstrated certain
skills and knowledge in your degree program.
Your grade in a course represents the instructor’s certification that you have
demonstrated certain skills and knowledge in the specific course.
When an employer sees your degree from Virginia Tech, they expect you to be able to
demonstrate certain skills and knowledge. If a student graduates with a CS degree and
performs poorly, the value and reputation of a CS degree from VT is negatively affected.
In industry, intellectual property (IP) rights are crucial in software and product development.
Rules regarding IP are similar to rules outlining academic integrity. Employees who “cheat” or
violate copyrights or other IP rights can cost the employer large sums of money. In addition,
even though you will likely work on a team in industry, completion of the CS degree program
includes demonstrating skills to work effectively on teams. For example, students should
demonstrate well-developed individual skills, integrity to take responsibility for one’s own work,
and the ability to recognize clear boundaries between one’s own contributions and those of
others.
What are the Consequences of Academic Misconduct?
“If you have questions or are unclear about what constitutes academic misconduct on an
assignment, please speak with the instructional staff. We take the honor code very
seriously in the course. The normal sanction we will recommend for a violation of the
Honor Code is an F* sanction as your final course grade. The F represents failure in the
course. The “*” is intended to identify a student who has failed to uphold the values of
academic integrity at Virginia Tech. A student who receives a sanction of F* as their final
course grade shall have it documented on their transcript with the notation “FAILURE
DUE TO ACADEMIC HONOR CODE VIOLATION.” You would be required to complete an
education program administered by the Honor System in order to have the “*” and
notation “FAILURE DUE TO ACADEMIC HONOR CODE VIOLATION” removed from your
transcript. The “F” however would be permanently on your transcript.”
All cases of academic misconduct may be reported to the Office of Student Conduct.
Honor Pledge
The Virginia Tech honor code pledge for assignments is as follows:
I have neither given nor received unauthorized assistance on this assignment.
The pledge is to be written out on all graded assignments at the university and signed by the
student. The honor pledge represents both an expression of the student’s support of the honor
code and a commitment to uphold the academic standards at Virginia Tech.
Non-Discrimination Policy
Virginia Tech provides equality of opportunity in education and employment for all students and
employees. Accordingly, Virginia Tech affirms its commitment to maintain a work environment
for all employees and an academic environment for all students that is free from all forms of
discrimination. Discrimination based on race, color, religion, creed, sex, national origin, age,
disability, veteran status, or sexual orientation is a violation of state and federal law and/or
Virginia Tech policy and will not be tolerated. Harassment of any person (either in the form of
quid pro quo or creation of a hostile environment) based on race, color, religion, creed, sex,
national origin, age, disability, veteran status, or sexual orientation also is a violation of state and
federal law and/or Virginia Tech policy and will not be tolerated. Retaliation against any person
who complains about discrimination is also prohibited. Virginia Tech’s policies and regulations
covering discrimination, harassment, and retaliation may be accessed at
https://policies.vt.edu/assets/1025.pdf. Any person who feels that they have been the subject of
prohibited discrimination, harassment, or retaliation should contact the Office for Equity and
Accessibility at 540-231-2010.
Supporting Fellow Students in Distress
As members of the Virginia Tech community, we each share a personal responsibility to express
concern for one another and to ensure that this classroom and the campus as a whole remains
a safe environment for learning. Occasionally, you may come across a fellow classmate whose
personal behavior concerns or worries you. When this is the case, you are encouraged to report
this behavior to the Virginia Tech Dean of Students Complaints and Concerns website. Although
you can report anonymously, it is preferred that you share your contact information so they can
follow-up with you personally.
Trans-Inclusive Statement
In an effort to affirm and respect the identities of transgender students in the classroom and
beyond, please contact the instructional staff if you wish to be referred to using a name and/or
pronouns other than what is listed in the student directory.
Course Evaluations
There may be several opportunities to provide course feedback during the semester including
the SPOT survey at the end of course. The information provided will be anonymous. Extra credit
may be offered for participation.
Syllabus Modification Statement
This syllabus represents a flexible agreement between the student and instructional staff. It
outlines the policies and procedures of the course. Modifications to the syllabus (except for the
schedule) will be limited as much as possible and will only occur when; 1) necessitated by
unexpected emergencies (including but not limited to school closures, requirements for distance
learning etc), negative student behaviors, student’s content mastery at a rate different than
expected and other unforeseen issues; 2) mutually agreed upon by instructor and students
based on things including, but not limited to, course evaluations or student topic interests.
Syllabus changes will be communicated to all students through Canvas or email and will not
take effect until after communicated.
Schedule Modification Statement
The schedule is a tentative outline of the course. It generally outlines the topics we plan to
cover. The exact topics as well as the order of the topics is subject to change. Whether
assignments are assigned as well as the dates for assignments, class activities, due dates, etc
on the schedule are tentative and subject to change until actually assigned. After an assignment
is given the due date can only be changed to a later date. This may occur based on student
mastery and interests, unexpected school closures etc. If there is a conflict between the due
date on an assignment and the tentative schedule, the due date on the assignment is the
correct date.