23.11.2014 Views

Syllabus - Bowie State University Department of Computer Science

Syllabus - Bowie State University Department of Computer Science

Syllabus - Bowie State University Department of Computer Science

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!