Syllabus

CMSC 345

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.

Objectives

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:

  • To understand the software development life cycle, software process models, and processes
  • To learn the definition, goals, and principles of software engineering and how to apply them
  • To experience working in a software development team
  • To experience taking a leadership role in a software development team
  • To enhance verbal and written technical communication skills

Academic Integrity

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.

Textbook and Other Resources

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

Additionally, we will be referencing material from the following Textbooks that will be linked in the course schedule.

Grading

    Your grade will contain elements of both individual and team accomplishments broken down as follows:

  • Individual Grades (35% total)
    1. Writing Assignments (10%)
         Two announced writing assignments and/or homeworks
    2. Quizes (20%)
         Two announced quizes
    3. 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)
    1. 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%)
    2. 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.
    3. 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.