CSC 509
Software Engineering
Winter 2007


Instructor:         Clark Savage Turner
Office:               14-222
My email address:     csturner@falcon.csc.calpoly.edu
Web URL:          http://www.csc.calpoly.edu/~csturner/courses/509/509s05..html



PREREQUISITE:   CSC 205, CSC 206, CSC 508 and ideally some level of maturity reached through industrial experience.


Course Catalog Description:

CSC 509 Software Engineering II. (4)

In depth study of software modeling and design.  Formal design methodologies.  Design patterns.  Detailed case studies of existing projects.  Tools and methods for designing large software systems.  4 seminars. Prerequisite: CSC 508 and graduate standing, or consent of instructor.


Text:

Simon, The Sciences of the Artifical, MIT Press, 1996. It is not a computer text per se, but a wonderful way to think about them.

OPTIONAL, but great: Winograd, Bringing Design to Software . 

Readings and other materials may be found on the 509 Readings page.



Course Requirements:

1. CLASS ATTENDANCE is CRITICAL to your grade. Participation and attendance are absolutely mandatory and contribute to your overall grade. I cannot stress this enough. Grades will reflect it... the class depends on it.  Each week I evaluate your class participation (preparation, contributions, coming to office hours) and note it.

2. Formal Presentations - Students will make presentations on weekly class topics and their own research. In the seminar style, the students will "teach" the class about the given topics and lead discussion. Presentations should be in lecture style with slides and a question / discussion period. The main focus of the discussions should be "what is important to know about this paper or topic and why?" Strengths and weaknesses of any approach and the tradeoffs involved should be discussed. A bibliography should be given.  The student presenter should lead the discussion with the class. Do volunteer to review and present papers that interest you, this can help you research your paper topic.  This is part of class participation.

3. Research Paper - A publishable quality research paper will be produced for this class. It is expected that the topic will be a current topic of interest to software engineers and roughly 40 pages in length. * You must first produce a proposal to be to have your topic approved. A substantial bibliography is required. Note that several students in CSC 508 and 509 have had work accepted for publication by the International Association of Science and Technology for Development in their Software Engineering and Applications conference. A copy of preliminary versions of two sample papers are here - "Rethinking Software Process: The Key to Negligence Liability" and "The Modification Process: A Practical Means to Understand and Enhance the Software Requirements Engineering Process" are available for your review. These are condensed, worked over versions of longer research papers. Most of you, all of you, are capable of this sort of work and I encourage you to try (it's free...well, you do have to write the paper before you submit it!) I believe I need say nothing about cheating or plagiarism in your work in this course, it is a serious matter and you are mature adults. Of course, I support collaboration and use of others' ideas in your own work, but they must (must!) be properly credited and your contribution or analysis noted. Your paper will be evaluated as noted below in Grading.

* Use the following structure when preparing your Proposal.

3.5. Periodic presentations based on your research [progress] will be given to a) elicit feedback, and, b) give us the benefit of your progress. They should be short (about 5 minutes) and give an overview of a) your main interest (issue), b) the state of the art in that area, and, c) charts, graphs, realizations, comparisons, criticisms made in pursuit of progress towards your research paper.   These will be given periodically through the term.

5.  Examinations - There will be no formal written examinations for this class.

______

GRADING:

Participation is required in all of the acitivities listed above.  The student is expected to volunteer to present work in class and to enter the discussions regarding the topics at a high level.  This is part of the class participation grade for the class. 

Grades will be determined by roughly 1/3 class participation (research presentations) and 2/3 for the final paper graded according to the following guidelines.  



This syllabus is subject to change. It is a graduate course and the maturity of students is respected by not imposing restrictive structure. We'll explore what makes sense as we progress. Changes are announced in class and may not be noted here, class attendance is required for this course. Always get notes from class if you cannot attend a given day because important information is given there that cannot be reproduced on a webpage.  Always remember this is an participation driven class, let me know in advance when you have any important conflicts so that we can resolve them so as not to hurt your participation and grade.


Updated: Jan 2007