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

Project Proposal


 

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)

   
   

 

 


Topics:

 

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.

  1. Assignments                       20%
  2. Presentations                      20%
  3. Mid-Term Exam                 20%
  4. Final Exam                          20%
  5. Final Project                        20%

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

  1. Visual Studio 2008 Express Editions Tutorial

    Running Visual C++ 2008 Express Edition for the First Time

    Compiling a Sample Application "Hello World"

    C++ Namespaces

    Namespaces

  2. Graphics

  3. cccfiles.zip (Graphics Libraries)

    Virtual Functions

    Virtual Functions

    Polymorphism

    Introduction to Polymorphism in C++

    Introduction to Eclipse Video

  1. Core Java Video TutorialsVideo

  2. Project: MetaAgent, a Steering Behavior Template Library

  3. Projects: Fuzzy Logic - Obstacle Avoidance - WPF

  4. Project: AI Life

  5. Junit tutorial

  6. JUNIT tutorial 2

  7. Junit with NetBeans IDE 6.0 tutorial

  8. Junit test case

  9. Class Assert API

  10. Introduction to testing Java programs with JUnit

  11. JUnit assertTrue