Course Number and Title: CS 5273 and ECEN 5273 Advanced Software Engineering
Time: 2:00-4:30 Tuesdays (4:30-7:10 Th) Place: MSCS 237 (MSCS 310)

Instructor: M. Samadzadeh Office: MSCS 215 Phone: 744-5674
Office Hours: 11:30-12:15 Monday, Tuesday, Wednesday, Thursday, or by appointment if necessary

Prerequisite: CS 4273 / ECEN 4273 Software Engineering and consent of the instructor

Textbooks, etc.:

· Alan Shalloway and James R. Trott, Design Patterns Explained: A New Perspective on Object-Oriented Design, 2nd edition, Addison-Wesley, Boston, Massachusetts, 2005.

· Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides, Design Patterns, Addison-Wesley Publishing Company, Menlo Park, California, 1995.

· Norman E. Fenton and Shari Lawrence Pfleeger, Software Metric: A Rigorous and Practical Approach, 2nd edition, PWS Publishing Company, Boston, Massachusetts, 1997.

· Stephen T. Albin, The Art of Software Architecture: Design Methods and Techniques, Wiley Publishing, Inc., Indianapolis, Indiana, 2003.

· David Budgen, Software Design, 2nd edition, Addison-Wesley, Pearson Education Limited, Essex, England, 2003.

· Mary Shaw and David Garlan, Software Architecture: Perspectives on an Emerging Discipline, Prentice Hall, Upper Saddle River, New Jersey, 1996.

· Albert Endres and Dieter Rombach, A Handbook of Software and Systems Engineering: Empirical Observations, Laws, and Theories, Pearson Education Limited, Essex, England, 2003.

· Paul Clements, Rick Kazman, and Mark Klein, Evaluating Software Architecture: Methods and Case Studies, Addison-Wesley, Boston, Massachusetts, 2002.

· Eric J. Braude, Software Design: From Programming to Architecture, John Wiley & Sons, Inc., New York, New York, 2004.

· Stephen R. Schach, Object-Oriented Classical Software Engineering, 7th edition, McGraw-Hill, New York, New York, 2007.

· SWEBOK (software engineering body of knowledge).

· Various Journal and Technical Magazine Articles and Conference Papers.

Course Description: Continuation of CS 4273 / ECEN 4273. Advanced theory and practice of software design methodology. Large-scale design and implementation problems. Experimental design for software engineering.

Grading: Homeworks and Programs 30%
Tests (2) 20% each
Final Examination 30%

Letter Grades: [90-100] A, [80-90) B, [70-80) C, [60-70) D, [0-60) F

Notes:

(1) Assignments are due at the beginning of class on the date they are due (unless announced in class otherwise). Homework assignments are to be submitted in hard copies, i.e., on paper. Assignment legibility is a requirement. The "word processing and formatting" of the assignments is a recommended option but not a requirement. Late assignments will not be accepted. Only when verifiable extenuating circumstances can be demonstrated will make-up exams or extended assignment due dates be considered. Verifiable extenuating circumstances must be reasons beyond control of the students, such as illness or accidental injury. Poor performance in class is not an extenuating circumstance. Advise your instructor of the verifiable extenuating circumstances in advance or as soon as possible. In such situations, the date and nature of the make-up exams and the extended due dates for the assignments will be decided by the instructor.

(2) A general point about assignments and tests: It is understood and it is always the case that you must justify your answers, show all your work, and state your assumptions on all problems and exercises in the assignments and examinations. A correct answer with no justification and no work shown may be worth less than a wrong answer with full justification and having shown all the work.

(3) Cell phones should be turned off during class and in examination sessions. Computer use (i.e., the use of a laptop, etc.) is not allowed in class unless a clear and convincing case is made for the use of one.

Attendance Policy:

(1) Attendance is strongly encouraged, but not required or monitored. Students are responsible for all material covered in class. Some of the material covered in class will not be in the text book. Announcements about assignments, project due dates, etc. will be made in class and/or by email. Students are to check their CSA email regularly using their class account, i.e., userid@cs.okstate.edu. [Passwords for new accounts on CSA are the PR&SM passwords (PR&SM = Password Reset and System Management) that students can get via their O-Key accounts. If you have a new CSA account, you should use your PR&SM password.] Students are responsible for all announcements made in class and/or by email. Students are to either check their class account email on CSA regularly or to put an appropriate forwarding mechanism in place to make sure to read their class-related email.

(2) Taking a course as a remote student is not the same as taking a correspondence course or taking an on-line course. Although the lectures are generally made available after the fact and may be viewed at the students' leisure, that does not free the students from keeping up with the class. This course has a pace and progress rate that must be followed by all students. The deadlines and due dates apply to all students.

(3) Attending this class requires registration or formal audit, no informal "sitting in" is allowed.

Collaboration Policy for CS 5273 / ECEN 5273

Homework: Discussion of any kind is allowed. After discussion, each student must write up his/her own solution. Copying another student's work is not allowed. Giving another student your work is considered cheating as well.

Programs: Discussion of techniques in a natural language (such as English) is allowed, but a discussion in a computer or algorithmic language is not allowed. Computer language discussions and questions are to be limited to the language and should not concern the assignment. Stealing, giving or receiving any code, drawings, diagrams, texts or designs is not allowed. Every line of work that you turn in must be your own.

Term Papers: Discussion of any kind is allowed. After discussion, each team must write up its own report. Copying another team's work is not allowed. Giving another team your work is considered cheating as well. Plagiarism will be severely penalized. Conventional rules of quoting, referencing, and crediting sources of ideas and wordings apply.

Examinations: No discussion of any kind (except with the instructors) is allowed. No access to any type of written material is allowed.

Students who do not comply with the described collaboration policy will receive a grade of F in the course. Furthermore, the case will be reported to the University Officials.

Attachments:

· Computer Science Department General Computer Use and Misuse Policy, Disabilities Act, Academic Integrity Policy

· Spring Semester 2008 Calendar

· Spring 2008 Final Examination Schedule

· Oklahoma State University, Syllabus Attachment , Spring 2008