INSTRUCTOR
Dr. Gene Tagliarini
E-mail: tagliarinig@uncw.edu
Phone: (910) 962-7572
OFFICE and OFFICE HOURS
Bear Hall, Room 122
MW&F, 10:00-11:00 AM and M&W 3:00-4:00 PM .
Other office hours may be arranged by appointment.
TEXTBOOK
Project-Based Software Engineering: An Object-Oriented Approach, Evelyn Stiller and Cathie LeBlanc, 2002, Addison-Wesley, ISBN 0-201-74225-X.
COURSE DESCRIPTION
Prerequisite: CSC 332 and senior standing. 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. A substantial software development project is required.
COURSE REQUIREMENTS AND GRADING
CRITERIA
This is a software engineering course; accordingly, there will be a major focus in grading placed upon a group project that must produce a software product as well as detailed software documents including specifications, assessment procedures, and test data sets and scripts. The balance of your grade will be determined by your performance on one mid-term test and the final examination. Your final grade will be based 50% upon the success of your group project and your performance as a member of the group, and 50% based upon your test performance (25% each for the mid-term and the final examination). An additional 5% may be awarded, at the sole discretion of the instructor, to students who are consistently found to be cooperating with the objectives of the course by vigorously participating in class and the project activities.
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.
Following the organization suggested by Figure 2.11 (p. 59) of the text, there will be both oral and written deliverables that detail the design, development, implementation, delivery, and assessment of the software product your group must create. The oral deliverables will include structured walk-throughs and a project demonstration. Twice during the semester your group will be expected to present a 30-minute, in-class, structured walk-through, each of which will be worth 5% of your final grade (for a total of 10%). Final project demonstrations will be held during the last days of class meetings and will be worth 21% of your final grade. The 19 written deliverables are identified as:
· Analysis 1-5,
· Product Design 1-4,
· Class Design 1-5,
· Implementation 1-2, and
· Testing 1-3
in Figure 2.11 (p. 59 of
the text), are assigned now, and are due via e-mail submission by
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. For a final grade of “A”, the requirements for the final product include:
1. All scheduled deliverables are provided.
2. It can fully install and configure itself for operation.
3. It can fully uninstall itself.
4. It provides all of the features described in the product specification, the features are fully functional, and they generate no run time errors when tested by the instructor.
5. Implementation involved some new technical content that the team acquired during the semester in which the product is developed.
6. Product testing documentation must include the written comments and review of at least three potential, professional users who are NOT also associated with a computer science/engineering program. The testing documentation must indicate how the issues raised by the reviewers were addressed by the product developers.
Also, expect the software project and your
class presentations to be subject to peer review and constructive criticism
from your CSC 450 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.
SAMPLE 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.
Develop an image processing toolkit.The image processing toolkit should include the capacity to access, display, filter, process, and store data in large (>50 MB) image files.
Develop a statistics toolkit.The statistics toolkit should at least include procedures for data file management, calculating and displaying statistics of a single distribution and statistics of paired distributions, graphing histograms and scattergrams, and measuring (linear) correlation. The toolkit must be capable of managing large input data files (> 100,000 measurements).
Develop a signal processing toolkit.In addition to data management procedures, the signal processing toolkit should enable the user to display and transform the signal using techniques such as one-dimensional Fourier or wavelet transforms.The toolkit should provide CUT, COPY, and PASTE operations.It should also enable the user to amplify or attenuate the signal and to inject noise into the signal.
Develop a neural network toolkit.The neural network tool kit should incorporate the capacity to simulate training and testing with at least two neural network models, display training error history, and define network architectures that are arbitrary but consistent with the model.
Develop a genetic algorithm (GA) toolkit.The GA toolkit should enable the user to specify basic population characteristics including the genetic structure of an individual, crossover and recombination methods, a fitness function, and termination criteria.The toolkit must also enable the user to execute the GA, monitor its progress, save intermediate results (including a collection of current “best” solutions), and gracefully interrupt evolution.
Develop software that will accept user input regarding a product specification and generate a control program for a robot that will fabricate the product.The user interface should be window-based and the output will be an ASCII text file containing the robot control program.
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.