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 (35% total)
- Writing Assignments (10%)
Two announced writing assignments and/or homeworks - Quizes (20%)
Two announced quizes -
Biweekly Customer Status Report and Mid-term Presentation to Client (5%)
-- The current phase leader is responsible for the compilation and delivery of the status. Grade includes the individual presentations made during the mid-term. Feedback from the clients will be taken as an input for this grade.
- Team Grades (65% 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%)
- Final Product and Presentation (25%)
This grade will be based on the product's adherence to the software requirements (listed in the SRS and SDD) the quality of the product, and the degree of customer satisfaction. If individual contribution to the final implementation is not the same, team members can receive varied scores on this. 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.
Communication
Once
the semester is underway, we will be using Blackboard for team communications and announcements about the course.
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.