[Syllabus] | [Lecture Notes] | [Homework] | [Project] | [Notes, all]

CMSC 345 Software Design and Development

when Tuesday and Thursday 11:30-12:45

First class Thursday August 29, 2013

in ITE 239

WWW access http://www.csee.umbc.edu/~squire


I am Dr. Jon Squire. My work experience includes 25 years as a
software engineering manager at the Westinghouse Defense and
Electronic Systems center. I have personally written about one
million lines of software in the 53 years I have been programming.

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 include tools for
software development, software metrics, and software maintenance. The
objectives of the course are met using classroom presentations, and
a semester-long project developed in a team setting.

The major objective of this course is to give the student a sample
real-life software development experience. Every company will have
differences, this course is a representative sample. Each student will
participate on a team that will develop a single software product over
the course of one semester. Product development will follow a typical
software development life cycle from requirements analysis through
product delivery. Each team will have a local "customer" who could
be interested in buying the software product.

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 organizing a software development team with each team
member contributing with their expertise.
To enhance verbal and written technical communication skills by
producing documents and presenting your product.

You will be assigned teams of 4 to 5 people. Each team should
conduct themselves as a business. Pick a name for your company.
Pick a name for your product, the term project, that will be
presented to your customer. The team company is the contractor.

Freshmen entering UMBC as of fall 2007 are required to take one writing
intensive (WI) course as part of their general education requirements.
CMSC 345 fulfills this requirement, as a WI course.

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.

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

Individual Grades (35% total)
    Attendance (5%)                                        |midterm    10%
    Quizzes and Homeworks (20%)                            |homework    4%
    Weekly Verbal and Biweekly Written Status Reports (5%) |final exam 16%
    Final Product Delivery and Demonstration (5%)

Team Grades (65% total)
    Project Artifacts (40% subtotal)
      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 Delivery and Demonstration with "customer" present (5%)
    Final Product including customer evaluation (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.

Additional Information:

  Midterm Design Review: Around midterm, each team will give an
  in-class presentation of its status.
  Peer Evaluations:
  Every team member will evaluate every other member of
  the team, once at midterm and once at the end of the semester.
  Evaluations are read only by the instructor and are kept absolutely confidential.

  In-class Participation and group discussion is an integral part of this class.
  Significant participation is expected. 
  Customers will be asked periodically throughout the
  semester to fill out reports indicating their current satisfaction with
  their teams. Note that if your team receives a poor report from your
  customer.

  The main means of communication between the class and me outside of the
  classroom will be via the course web site. Blackboard will have
  incremental points as the semester progresses.


Computer usage

You will be working as part of a team.
A smooth working team can produce more
than an individual.
Your team will be submitting a number
of documents electronically

Planning is useful, good plans are most useful.
Expect plans to change and evolve.

Class motto: If it works, use it.
If not, find another way.

Make it work

Jon Squire, Instructor, office hours:

   Tuesday and Thursday after class
   and by appointment ITE 226
   EMail: squire@umbc.edu    24/7
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 
Academic Integrity Resources for Students page, and 
Faculty Handbook (Sections 14.2-14.3)  
Last updated 12/3/2013