Syllabus - Bowie State University Department of Computer Science
Syllabus - Bowie State University Department of Computer Science
Syllabus - Bowie State University Department of Computer Science
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
BOWIE STATE UNIVERSITY<br />
<strong>Syllabus</strong><br />
<strong>Department</strong> <strong>of</strong> <strong>Computer</strong> <strong>Science</strong><br />
COSC 665 (3 Cr)<br />
S<strong>of</strong>tware Engineering II<br />
Instructor:<br />
Sharad Sharma<br />
Office Location: <strong>Computer</strong> <strong>Science</strong> Building Room 317<br />
Phone: 301-860-4502<br />
Email:<br />
ssharma@bowiestate.edu<br />
Class Hours:<br />
Thursday: 4:55 PM- 7:25PM<br />
Office Hours:<br />
Thu: 3:25PM to 4:55, Tu: 4:30 to 7:30 or by appointment<br />
COURSE DESCRIPTION<br />
The course will cover s<strong>of</strong>tware life-cycle models and different phases <strong>of</strong> the s<strong>of</strong>tware<br />
development process. Object-oriented techniques are applicable. Students will have a<br />
group project on developing complex s<strong>of</strong>tware systems.<br />
COURSE PREREQUISITE COSC 475 or COSC 565<br />
REQUIRED TEXTS<br />
Bernd Bruegge and Allen H. Dutoit (2004) Object-Oriented S<strong>of</strong>tware Engineering: Using<br />
UML, Patterns and Java, Second Edition, Prentice Hall, Upper Saddle River, NJ.<br />
STUDENT EXPECTED OUTCOMES<br />
Upon completion <strong>of</strong> this course, the student will be able to:<br />
<br />
Develop and produce s<strong>of</strong>tware process artifacts, most importantly the code and<br />
user documentation.<br />
<br />
<br />
<br />
<br />
Demonstrate skills that help you work effectively as a member <strong>of</strong> a s<strong>of</strong>tware<br />
development team.<br />
Analyze the fundamental principles <strong>of</strong> s<strong>of</strong>tware engineering. Be able to identify<br />
and describe the s<strong>of</strong>tware life cycle, roles, artifacts, and activities.<br />
Demonstrate the concepts <strong>of</strong> s<strong>of</strong>tware "best practices" and when they apply.<br />
Synthesize the concepts <strong>of</strong> s<strong>of</strong>tware "best practices".<br />
1
STUDENT LEARNING OBJECTIVES<br />
The essential objectives for this course are to:<br />
1. Describe and define a feasibility plan, requirements, and design documentation.<br />
2. Develop pr<strong>of</strong>iciency in developing and producing s<strong>of</strong>tware process artifacts, most<br />
importantly the code and user documentation.<br />
3. Acquire skills that help you work effectively as a member <strong>of</strong> a s<strong>of</strong>tware<br />
development team.<br />
4. Analyze and learn how to identify and describe the s<strong>of</strong>tware life cycle, roles,<br />
artifacts, and activities.<br />
5. Synthesis the concepts <strong>of</strong> s<strong>of</strong>tware "best practices" and when they apply.<br />
6. Show that you are able to adapt a process to your needs and select an appropriate<br />
set <strong>of</strong> best practices that will guide you in completing a s<strong>of</strong>tware development<br />
project.<br />
TEACHING MODES<br />
All course material will be provided on a course web site including lecture notes, useful<br />
links on the web, recommended references, time schedule, and contact information for<br />
faculty, guidelines for projects, coding standards, and more. The primary teaching mode<br />
will be lecture and discussion.<br />
COURSE REQUIREMENTS AND EXPECTATIONS<br />
Policy on Attendance: Regular attendance in the class is mandatory. Students will be<br />
responsible for any loss <strong>of</strong> information, assignments, and projects due to absence from<br />
class.<br />
<strong>Department</strong>al Policy on Submission <strong>of</strong> Late Work: There will be no make-up for any<br />
missed classes, projects, assignments, and exams. 1/2 letter grade <strong>of</strong>f for assignment each<br />
day late without documented excuse; papers more than one week late will not be<br />
accepted.<br />
Academic Integrity: Academic dishonesty includes plagiarism, cheating, and other illegal<br />
or unethical behaviors in doing the work <strong>of</strong> the course. Plagiarism is the act <strong>of</strong> representing<br />
another's ideas, words or information as one's own. If you receive assistance on an<br />
assignment from someone else, you must avoid plagiarism by giving proper credit for this<br />
assistance. Include in your assignment a comment naming the person who assisted you and<br />
stating what the assistance was. Students who are guilty <strong>of</strong> academic dishonesty are subject<br />
to severe penalties ranging from a reduction in points (and possible failure) for the<br />
assignment/project, to failing the course, or in extreme cases, dismissal from the <strong>University</strong>.<br />
Do not copy other student's projects, codes, and design. A group <strong>of</strong> students working<br />
together on a project must change their forms and codes to differentiate from others.<br />
2
EVALUATION: Following is the Evaluation system for the Final Grade. Each<br />
assignment will be graded. Students are responsible for completing them as scheduled.<br />
1. Assignments 20%<br />
2. Presentations 20%<br />
3. Mid-Term Exam 20%<br />
4. Final Exam 20%<br />
5. Final Project 20%<br />
Final Project, Mid-term and Final exams are mandatory.<br />
Assignments:<br />
The assignments include research paper critiques<br />
Paper review assignments and guidelines:<br />
For each paper, students should write a review answering each <strong>of</strong> the following<br />
questions:<br />
1. What problems (with prior work or the lack there<strong>of</strong>) were addressed or surveyed by the<br />
authors?<br />
2. What solutions were proposed or surveyed by the authors?<br />
3. What are the technical strengths and main contributions <strong>of</strong> the paper's proposed<br />
solutions?<br />
4. What are the technical weaknesses <strong>of</strong> the paper's proposed solutions?<br />
5. What suggestions do you have to improve upon the paper's ideas?<br />
Research papers will be assigned to students to read, analyze and present to the class.<br />
Presentations will be structured as follows:<br />
<br />
<br />
Presentation<br />
Questions to presenter<br />
<br />
Open discussion<br />
On the day <strong>of</strong> your paper review, you should bring your review presentation, i.e., power<br />
point file (flash drive), to the class. In total 15 ~20 minutes each, including:<br />
- Brief description <strong>of</strong> (1) introduction/idea; (2) method (experimental design, participants,<br />
apparatus, experiment procedure, data collection); (3) results; (4) discussion and/or<br />
conclusion; and (5) etc.<br />
- What knowledge did you learn from the paper/work, e.g., anything you’ve never known<br />
before; which part <strong>of</strong> the work interests you most…<br />
In-Class Paper Presentation Grading:<br />
Items above, quality <strong>of</strong> oral/written presentation and visuals, timeliness, etc. The grading<br />
rubric are<br />
Content (35% Weighting)<br />
3
Preparedness (35% Weighting)<br />
Visual Aids/Handouts (15% Weighting)<br />
Discussion or Questions raised(15% Weighting)<br />
Final Project: The purpose <strong>of</strong> the course project is to provide the students with the<br />
knowledge <strong>of</strong> s<strong>of</strong>tware engineering methodology and the skills to apply it. The particular<br />
project is not the goal in itself; rather, it serves as a vehicle to apply your knowledge and<br />
to develop the skills. Projects also introduce students to team work, which is a must for<br />
large-scale s<strong>of</strong>tware development. It also emerges as a key methodology for any- and<br />
every-scale s<strong>of</strong>tware development, something called extreme programming. Team work<br />
is required since team work is an integral part <strong>of</strong> large-scale s<strong>of</strong>tware development.<br />
Research Paper: Each student is expected to do a research paper on a topic. Topics can<br />
be drawn from the following areas:<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Modeling adaptive s<strong>of</strong>tware systems<br />
Using models at runtime to support automated and human-driven adaptation<br />
Rigorous model analysis (including testing and formal static analysis)<br />
Specifying and verifying model transformations<br />
Composing/weaving/fusing models<br />
Aspect-oriented s<strong>of</strong>tware development<br />
Modeling and analyzing dependability features<br />
<br />
Multi-agent systems or agent based modeling<br />
Research paper will be graded through following rubric<br />
Quality <strong>of</strong> Information (25% Weighting)<br />
Organization (25% Weighting)<br />
Mechanics & grammatical or spelling (20% Weighting)<br />
Paper properly formatted in IEEE format (15% Weighting)<br />
Research Paper Construction (15% Weighting)<br />
GRADING: Academic dishonesty will result in grade F. The following grade scale will<br />
be used:<br />
90 % - 100% = A<br />
80 % - 89% = B<br />
70 % - 79% = C<br />
60 % - 69% = D<br />
0 - 59% = F<br />
4
Final grades will be computed based upon credits earned for all the five components<br />
mentioned above.<br />
COURSE/TOPICAL OUTLINE<br />
WEEK 1 & 2: S<strong>of</strong>tware Lifecycle and Team Projects<br />
WEEK 3: Requirements Elicitation and Use Cases<br />
WEEK 4 & 5: Object-Oriented Analysis<br />
WEEK 6 & 7: Object-Oriented Design<br />
WEEK 8: Implementation and Testing<br />
WEEK 9 & 10: S<strong>of</strong>tware Architecture<br />
WEEK 11: System Specification<br />
WEEK 12 & 13: Design Patterns<br />
WEEK 14: S<strong>of</strong>tware Components<br />
WEEK 15: Presentations<br />
Reminder: English Pr<strong>of</strong>iciency Examination<br />
After successfully completing ENGL 101 and 102, Composition and Literature I and II,<br />
students must take and successfully pass the <strong>Bowie</strong> <strong>State</strong> <strong>University</strong> English Pr<strong>of</strong>iciency<br />
Examination. Transfer students who completed their English composition requirements<br />
at another university should take the English Pr<strong>of</strong>iciency Examination during their first<br />
semester <strong>of</strong> enrollment at <strong>Bowie</strong> <strong>State</strong> <strong>University</strong>.<br />
ADA <strong>State</strong>ment:<br />
Students with disabilities who wish to receive ADA accommodations should report to the<br />
Office <strong>of</strong> Special Populations, Center for Learning and Technology (CLT) building, Suite<br />
302 (301-860-3292).<br />
SELECTED BIBLIOGRAPHICAL REFERENCES<br />
1. Barnes D. J., and Kölling, M. (2003) Objects First With Java, Prentice Hall,.<br />
2. Bruegge, B., and Dutoit, A. (2000). Object-Oriented S<strong>of</strong>tware Engineering<br />
Conquering Complex and Changing Systems, Prentice-Hall.<br />
3. Bruegge, B., and Dutoit, A. H. (2004). Object-Oriented S<strong>of</strong>tware Engineering: Using<br />
UML, Patterns and Java, Second Edition, Prentice Hall.<br />
4. David, K. (1998). The Art <strong>of</strong> <strong>Computer</strong> Programming, V. 1-3, 2 nd ed. Boxed Set,<br />
Addison-Wesley.<br />
5. Eckel, Bruce. (2006). Thinking in Java, Fourth Edition, Prentice Hall PTR, Upper<br />
Saddle River, NJ.<br />
6. Ghezzi, J., and Mandrioli, P. (1991). Fundamentals <strong>of</strong> S<strong>of</strong>tware Engineering by Hall.<br />
5