COSC 665: Software Engineering II
Spring Semester 2016 Course Information
Instructor: Dr. Sharad
Sharma
Department of Computer Science
Bowie State University
E-MAIL: ssharma@bowiestate.edu
CLASS
HOURS:Thursday:
4:55 PM to 7:30PM, CSB 312
OFFICE HOURS: Thursday: 1:30PM to 4:55 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, Allen H. Dutoit (2009), Object-Oriented Software Engineering: Using UML, Patterns and Java, 3rd Edition, Publisher: Prentice Hall, Upper Saddle River, NJ. ISBN-10: 0136061257, ISBN-13: 978-0136061250
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
* Project
Weekly Time Schedule
28-Jan |
|
|
4-Feb |
Introduction to Software Engineering | |
11-Feb |
Modeling with UML |
|
18-Feb |
Project Organization and Communication |
Project Proposal due |
25-Feb |
Requirements Elicitation |
Research Paper Assigned |
3-Mar |
Analysis |
|
10-Mar |
Mid
Term Exam
|
|
17-Mar |
System Design: Decomposing the System |
|
24-Mar |
Spring Break |
|
31-Mar |
System Design: Addressing Design Goals |
Research Paper due |
7-Apr |
Object Design: Reusing Pattern Solutions |
|
14-Apr |
Object Design: Code |
|
21-Apr |
Object Design: Specifying Interfaces |
|
28-Apr |
Configuration Management |
|
5-May |
Group
Project Presentations/ Demo |
|
12-May | Final
Exam
|
|
|
|
|
Paper Presentation Schedule
Date | Paper Presentation Schedule | |
2/11/2016 |
|
|
2/18/2016 | El-Attar, M.; Luqman, H.; Karpati, P.; Sindre, G.; Opdahl, A.L., "Extending the UML Statecharts Notation to Model Security Aspects," in Software Engineering, IEEE Transactions on , vol.41, no.7, pp.661-690, July 1 2015 Martin Shepperd, David Bowes, and Tracy Hall, "Researcher Bias: The Use of Machine Learning in Software Defect Prediction,IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. 40, NO. 6, JUNE 2014 (Francis) |
|
2/25/2016 | Henrik Leopold, Jan Mendling and Artem Polyvyanyy, "Supporting Process Model Validation through Natural Language Generation, IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. 40, NO. 8, AUGUST 2014 (Chudi) |
|
3/3/2016 | Thimbleby, H., "Safer User Interfaces: A Case Study in Improving Number Entry," in Software Engineering, IEEE Transactions on , vol.41, no.7, pp.711-729, July 1 2015 Soweon Yoon, Jianjiang Feng, and Anil K. Jain, " Altered Fingerprints: Analysis and Detection", IEEE TRANSACTIONS ON PATTERN ANALYSIS (Francis 2) |
|
3/31/2016 |
Yepang Liu, Chang Xu, S.C. Cheung, and Jian L€u, "GreenDroid: Automated Diagnosis of Energy Inefficiency for Smartphone Applications,IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. 40, NO. 9, SEPTEMBER 2014 (Chudi2) |
|
4/7/2016 | Zhenzhou Tian; Qinghua Zheng; Ting Liu; Ming Fan; Eryue Zhuang; Zijiang Yang, "Software Plagiarism Detection with Birthmarks Based on Dynamic Key Instruction Sequences," in Software Engineering, IEEE Transactions on , vol.41, no.12, pp.1217-1235, Dec. 1 2015 doi: 10.1109/TSE.2015.2454508 (Paul3) |
|
4/14/2016 | iCloudAccess: Cost-Effective Streaming of Video Games from the Cloud With Low Latency,IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, VOL. 24, NO. 8, AUGUST 2014 (Franics 2) | |
4/21/2016 | A Learning-Based Framework for Engineering Feature-Oriented Self-Adaptive Software Systems,IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. 39, NO. 11, NOVEMBER 2013 (Chudi3) | |
4/28/2016 |
|
Research paper: Each student is expected to do a research paper on a topic as below
TOPICS will be assigned after the first week of the class.
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:
Research/ Application paper: Each student is expected to do a research paper on a topic. Topics can be drawn from the following areas:
Research paper will be graded through following rubric
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.
References:
Bernd Bruegge and Allen H. Dutoit (2004) Object-Oriented Software Engineering: Using UML, Patterns and Java, Second Edition, Prentice Hall, Upper Saddle River, NJ.
USEFUL LINKS
Graphics
Virtual Functions
Virtual Functions
Polymorphism
Introduction to Polymorphism in C++
Introduction to Eclipse Video