INSTRUCTOR
Dr. Gene Tagliarini
E-mail: tagliarinig@uncw.edu
Phone: (910) 962-7572
OFFICE and OFFICE HOURS
Bear Hall, Room 122
M&W,
Other office hours may be arranged by appointment.
TEXTBOOK
Software Engineering: A Practitioner’s Approach, 6th edition, Roger S. Pressman, 2002, McGraw Hill, ISBN 0-07-285318-2. In addition, a variety of handouts and copies of recent professional articles will be used.
COURSE DESCRIPTION
Prerequisite: CSC 450 or permission of instructor. This course includes a study of the design and production of large and small software systems. Topics may include systems engineering, the software life-cycle and characterization, as well as use of software project management tools. An assessment and quantification of a substantial software development project is required.
COURSE REQUIREMENTS AND GRADING
CRITERIA
This is a graduate-level software engineering course; accordingly, there will be a significant focus placed upon research as well as a software development project. In addition to producing a properly functioning product, the project will serve as a basis for scientific assessment of the software development process. Specifically, the project will provide the context for developing models to predict parameters of product development. The software development project and prediction modeling will account for 50% of your final grade, 20% for the product itself and 30% for your prediction models. The balance of your grade will be determined by your participation in seminar discussions and your performance on the mid-term test and the final examination. For seminar participation each student will be asked to read and present the contents of at least three professional papers. Thus, your final grade will be based 50% upon the success of your project research, 30% based upon your test performance (15% each for the mid-term and the final examination), and 20% upon your involvement in seminar discussions. An additional 5% may be awarded, at the sole discretion of the instructor, to students who are outstandingly and consistently found to be cooperating with the objectives of the course by vigorously participating in class and the project activities.
The requirements for the project will be specified fully elsewhere and include:
· The product must perform a useful function (requires the concurrence of the class and the instructor).
· The product must incorporate the following types of code:
o Graphical input and output
o File management
o Scientific computation
o Web utilization
o Some substantial utilization of software products not developed by the project team
· In addition to the normal project documentation (requirements specification, use cases, scenarios, test scripts, etc.) each student will be expected to keep records of development times and other measures of the software development process that are suitably quantified for use in developing a predictive model.
· The predictive models developed during the semester are to be assessed during the final phase of the semester.
· Interim reports show progress on model development will be scheduled periodically during the semester. During interim progress reports, students will be expected to present their current findings to the class and to document the experimental process employed.
Students may collaborate to fulfill the research project activities. Groups are not required but may be used.
Note (regarding group participation): While individual assignments for group members may vary, each group member is expected to participate conscientiously in the project and to fulfill the negotiated expectations of the group. If a group member does not meet the group expectations, each member of the group will be required to form a quantitative assessment of the contribution of the others in the group. The grade for each group member will be proportional to the average of the quantitative assessments that (s)he receives. In order to receive credit for your participation in the group project, your group must certify that you satisfactorily participated and met expectations.
All written deliverables must be submitted in order to qualify for a final grade of “A”. You should plan to compile a notebook containing copies of all written deliverables as well as documented source code and a user manual for your project. The notebook and an electronic copy of your project, typically submitted on CD, will be due no later than the last day of classes for the semester (before the Reading Day and the Exam Week begin).
Final software projects will be assessed for
quality as well as functionality and utility, so if you desire a final grade of
“A”, expect to perform at an unqualifiedly excellent level. Also, expect the
software project and your class presentations to be subject to peer review and
constructive criticism from your student colleagues.
The mid-term test and the final examination will be given on the dates shown in the course schedule. All tests and exams are closed book.
Final grades are normally assigned according to the following:
|
90 – 100 average, all written deliverables acceptably submitted, and an excellent, fully functioning project => A |
|
80 - 89.99 => B |
|
70 - 79.99 => C |
|
60 - 69.99 => D |
|
Below
60 => F |
The instructor reserves the right to apply a grading curve and, at his sole discretion, lower the cut-off scores. If your course score falls just below a cutoff, the higher grade may be assigned solely at the discretion of the instructor.
In choosing UNCW, you have
become part of our community of scholars. We recognize that the UNCW learning
experience is challenging and requires hard work. It also requires a commitment
to make time available to do that hard work. The university expects you to make
academics your highest priority by dedicating your time and energy to training
your mind and acquiring knowledge. Academic success in critical thinking and
problem solving prepares you for the changes and challenges you will encounter
in the future. Our faculty and academic support resources are readily available
as partners in this effort, but the primary responsibility for learning is
yours.
You are expected to take an active role in your learning in this course. This includes regular attendance, contributing in class, reading the textbook, and completing all course requirements.
It is the responsibility of every student to uphold and maintain the UNCW Academic Honor Code. For specific information, refer to the Student Handbook and Code of Student Life.
If you have a disability and need reasonable accommodation in this course, you should inform the instructor of this fact in writing within the first week of class or as soon as possible. If you have not already done so, you must register with the Office of Disability Services in Westside Hall (extension 3746) and obtain a copy of your Accommodation Letter. You should then meet with your instructor during the first two weeks of the semester to make mutually agreeable arrangements based on the recommendations of the Accommodation Letter.
GROUP PROJECTS
Among the options for course projects are the design, development, implementation, and testing of toolkits for performing various operations. In addition, there is a project option that can be used to carry out a professional application that meets with the instructor’s approval. The anticipated complexity of each of these alternatives exceeds the capacity of any single student to complete in a semester; hence, you will be expected to participate vigorously in a group effort. In each case, you will be required to handle file input and output operations, process data, and implement algorithms that may be foreign to you.
You should view the product that you are engineering as a professional program development project. Depending upon the project that you pursue, the ultimate goal is to develop a saleable program or a full-featured industrial or educational application that meets with management or customer approval (funding). The project statements given here are intended to provide a springboard for discussion that will result in the basis for a precise specification for each project.
PROFESSIONAL ALTERNATIVE APPLICATION
If at present you are professionally engaged in a software engineering activity, it may be possible to use the activity to fulfill the project expectations of this course. The determination of whether the activity will meet the objectives will lie solely with the instructor. In order for the activity to qualify, it must at least meet the following expectations:
· The project must be initiated recently or during the current semester;
· The project must be completed during the semester;
· Deliverables must be presented strictly no later than required for other class members;
· The activity must involve group participation—members of the class may be invited to contribute to the development; and
· Your employer must consent to your use of the project as a means of fulfilling this part of the course requirements.