COSC 665: Software Engineering II
Spring Semester 2010 Course Information
Instructor: Dr. Sharad
Sharma
Department of Computer Science
Bowie State University
E-MAIL: ssharma@bowiestate.edu
CLASS
HOURS:Wednesday:
4:55 PM to 7:25PM, CSB 312
OFFICE HOURS: Wed: 1:55PM to 4:55 PM or by appointment
OFFICE LOCATION: Computer
Science Building Room 317
LATEST NEWS
Mastering Software EngineeringIEEE Computer Society volunteer Natalia Juristo is developing a master’s program in software engineering.
Read more
Salaries for CS and Engineering Grads to Rise
Graduates with computer-related or engineering degrees can expect to see slightly higher starting salary offers.
Required Text
Bernd Bruegge and Allen H. Dutoit (2004) Object-Oriented Software Engineering: Using UML, Patterns and Java, Second Edition, Prentice Hall, Upper Saddle River, NJ.
COURSE DESCRIPTION
The course will cover software life-cycle models and different phases of the software development process. Object-oriented techniques are applicable. Students will have a group project on developing complex software systems.
Prerequisite: COSC 475 or COSC 565
Course Related Links
* Syllabus
* Assignments
Paper Presentation Schedule
Date | Paper Presentation Schedule |
01/27/2010 | Combining Perceptions and Prescriptions in Requirements Engineering Process Assessment: An Industrial Case Study (IEEE Transactions on Software Engineering, vol. 35, issue 5, pp. 593-606, Sept.-Oct. 2009 (Stephane) Software Architecture Reconstruction: A Process-Oriented Taxonomy (IEEE Transactions on Software Engineering, vol. 35, issue 4, pp. 573-591, July-Aug. 2009) (Ketan) |
02/17/2010 | A Model-Driven Development Approach Focusing Human Interaction, Advances in Computer-Human Interactions, 2009. ACHI '09. Second International Conferences on In Advances in Computer-Human Interactions, ACHI '09. Second International Conferences on, Vol. 0 (7 February 2009), pp. 90-96, 2009 (Emily) Model Driven Engineering for Designing Adaptive Multi-Agent Systems, Engineering Societies in the Agents World VIII,Volume 4995, ISBN: 978-3-540-87653-3, 2008 (Dane) |
3/3/2010 | Linking Model-Driven Development and Software Architecture: A Case Stud., IEEE Transactions on Software Engineering, vol. 35, issue 1, pp. 83-93, Jan.-Feb. 2009. (Stephane) FAML: A Generic Metamodel for MAS Development, IEEE Transactions on Software Engineering, vol. 35, issue 6, pp. 841-863, Nov.-Dec. 2009. (Ketan) |
3/24/2010 | Variability and Reproducability in Software Engineering: A Study of Four Companies Developed the Same System, IEEE Transactions on Software Engineering, vol. 35, issue 3, pp. 407-429, May-June 2009. (Dane) Engineering Privacy, IEEE Transactions on Software Engineering, vol. 35, issue 1, pp. 67-82, Jan.-Feb. 2009. (Emily) |
3/31/2010 | The Impact of Lessons-Learned Sessions on Effort Estimation and Uncertainty Assessments, IEEE Transactions on Software Engineering, vol. 35, issue 3, pp. 368-383, May-June 2009. (Stephane) How we refactor, and how we know it, Proceedings of International Conference on Software Engineering, 287-297, 2009.(Ketan) |
4/7/2010 | Multi-agent modeling and simulation of human behavior in aircraft evacuations, IEEE Transactions on Aerospace and Electronic Systems, Vol.44, No.4, October 2008.(Emily) Using RFID to evaluate evacuation behavior models, IEEE, North American Fuzzy Information Processing Society Conference, Ann Arbor, MI, June 22-25, 2005.(Dane) |
4/14/2010 | Common Trends in Software Fault and Failure Data, IEEE Transactions on Software Engineering, vol. 35, issue 4, pp. 484-496, July-Aug. 2009. (Stephane) Maturing Software Engineering Knowledge through Classifications: A Case Study on Unit Testing Techniques, IEEE Transactions on Software Engineering, vol. 35, issue 4, pp. 551-565, July-Aug. 2009. (Ketan) |
4/21/2010 | Do code clones matter? Proceedings of International Conference on Software Engineering, 485-495, 2009. (Dane) What Types of Defects Are Really Discovered in Code Reviews?, IEEE Transactions on Software Engineering, vol. 35, issue 3, pp. 430-448, May-June 2009. ( Emily) |
4/28/2010 | Scalable behaviors for crowd simulation, M Sung, M Gleicher, S Chenney - Computer Graphics Forum, 2004 ( Dane) Interaction-based Behavior Modeling of Embedded Software using UML 2.0, Proceedings of the Ninth IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing, 2006. ( Emily) |
STUDENT EXPECTED OUTCOMES:
Upon completion of this course, the student will be able to:
EVALUATION: Following is the Evaluation system for the Final Grade. Each assignment will be graded. Students are responsible for completing them as scheduled.
Final Project, Mid-term and Final exams are mandatory.
Assignments:
The assignments include research paper critiques
Paper review assignments:
For each paper, students should write a review answering each of the following questions:
1. What problems (with prior work or the lack thereof) were addressed or surveyed by the authors?
2. What solutions were proposed or surveyed by the authors?
3. What are the technical strengths and main contributions of the paper's proposed solutions?
4. What are the technical weaknesses of the paper's proposed solutions?
5. What suggestions do you have to improve upon the paper's ideas?
Paper Presentation:
On the day of your paper review, you should bring your review presentation, i.e., power point file (flash drive), to the class. In total 15 ~20 minutes each, including:
- Brief description of (1) introduction/idea; (2) method (experimental design, participants, apparatus, experiment procedure, data collection); (3) results; (4) discussion and/or conclusion; and (5) etc.
- What knowledge did you learn from the paper/work, e.g., anything you’ve never known before; which part of the work interests you most…
Research papers will be assigned to students to read, analyze and present to the class. Presentations will be structured as follows:
Final Project:The purpose of the course project is to provide the students with the knowledge of software engineering methodology and the skills to apply it. The particular project is not the goal in itself; rather, it serves as a vehicle to apply your knowledge and to develop the skills. Projects also introduce students to team work, which is a must for large-scale software development. It also emerges as a key methodology for any- and every-scale software development, something called extreme programming. Team work is required since team work is an integral part of large-scale software development.
GRADING: Academic dishonesty will result in grade F. The following grade scale will be used:
90 % - 100% = A
80 % - 89% = B
70 % - 79% = C
60 % - 69% = D
0 - 59% = F
Final grades will be computed based upon credits earned for all the five components mentioned above.
USEFUL LINKS
Graphics
Virtual Functions
Virtual Functions
Polymorphism
Introduction to Polymorphism in C++
Introduction to Eclipse Video