Syllabus
Course Description
This course
is an introduction to the basic concepts of software engineering including
software lifecycle, requirements analysis, design, coding, testing, and
documentation. Professional ethics in computer science and the social
impact of computing are discussed. Additional topics may include tools
for software development, software metrics, and software maintenance. The
objectives of the course are met using classroom presentations, guest
lecturers, and a semester-long project developed in a team setting.
The major
objective of this course is to give the student real-life software development
experience. This objective is accomplished through the student's participation
on a team that will develop a single software product over the course of one
semester. Product development will follow the full software development
life cycle from requirements analysis through product delivery. More specific
objectives are: By enrolling in this course,
each student assumes the responsibilities of an active participant in UMBC's
scholarly community in which everyone's academic work and behavior are held to
the highest standards of honesty. Cheating, fabrication, plagiarism, and
helping others to commit these acts are all forms of academic dishonesty, and
they are wrong. Academic misconduct could result in disciplinary action that
may include, but is not limited to, suspension or dismissal. To
read the full Student Academic Conduct Policy, consult the Academic Integrity
Resources for Students page, the Faculty Handbook
(Sections 14.2-14.3), or for graduate courses, the Graduate
School website. There is no required textbook
for this course. We will be reading articles from the software engineering
literature, which your instructor will provide either in hard copy or
electronic form. A link to a variety of software engineering resources will be available on the course web site
Objectives
Academic Integrity
Textbook and Other Resources
Grading
Your grade will contain elements of both individual and team accomplishments
broken down as follows:
- Individual Grades (30% total)
- Writing Assignments (10%)
Two announced writing assignments and/or homeworks - Weekly Verbal Reports and
Biweekly Online Customer Status Report (10%)
-- Teams will give a short verbal report on their status at the start of the first class of every week. The current phase leader is responsible for the compilation and delivery of this report.
-- Teams will be required hold an online status meeting with the customer on a biweekly basis. The current phase leader is responsible for the compilation and delivery of the status. - Final Product Delivery and
Demonstration
(10%)
The exact method used for determining this grade will be posted on Blackboard well in advance of the final product delivery and demonstration.
- Team Grades (70% total)
- Project Artifacts (40%)
Your team will be responsible for the timely delivery of the following artifacts: - System Requirements
Specification (8%)
- System Design Document (8%)
- UI Design Document (8%)
- Code Inspection Report (6%)
- Test Report (6%)
- Administrator Manual (4%)
- Midterm Status Review (5%)
Around midterm, each team will give a presentation of its status to the customer. - Final Product Delivery and
Demonstration
(5%)
The exact method used for determining this grade will be reviewed well in advance of the final product delivery and demonstration. - Final Product (20%)
This grade will be based on the product's adherence to the software requirements, the quality of the product, and the degree of customer satisfaction. Note that you must receive a grade of "C" or above on the final product in order to pass the class. - Peer Evaluations (possible deduction)
Every team member will evaluate every other member of the team, once at midterm and once at the end of the semester. A poor overall evaluation, especially one that does not improve from midterm, may result in a deduction from the 70% team grade for that particular team member. Evaluations are read only by the instructor and are kept absolutely confidential.
There
are a few other items that will not be formally graded, but may affect your
individual final grade if it is borderline.
- In-class Participation
Group discussion is an integral part of this class. Significant participation is expected. - Student Survey
I strive constantly to improve the quality and content of this course. I, therefore, ask that you turn in a survey at the end of the semester providing me with feedback about your experience in the course. As you have benefited from the information that I have received from previous students, I ask that you fill this survey in to the best of your ability.
Communication
Once
the semester is underway, we will be using a wiki provided by Next Century for
team communications. Next Century will also be providing a configuration
management tool for documentation and code that you will be required to use.
E-mail
There
may be times when I need to contact you or your team via e-mail. If so, I will
use your UMBC gl e-mail account. So, please check your account on a daily
basis. Also, e-mail is the best way to contact me. My address is
karuna.joshi@umbc.edu or kjoshi1@umbc.edu.