CSC 508
Software Engineering
Fall 2011


Instructor:         Clark Savage Turner
Office:               14-222
My email address:     csturner@falcon.csc.calpoly.edu 


PREREQUISITE:   Some Software Engineering coursework (such as CPE 307, 308, 309), permission of instructor and ideally some level of maturity reached through industrial experience.


Course Catalog Description:

CSC 508 Software Engineering I. (4)

In depth study of requirements engineering, software project management, formal specifications and object-oriented analysis. 4 Seminars. Prerequisite: CSC 308 and graduate standing, or consent of instructor.

Required 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.

Jackson,  Software Requirements and Specifications, ACM Press, 1999.

OPTIONAL, but great, if really outdated at this point: Winograd, Bringing Design to Software .   (If anyone can suggest an updated version of a book like this, please tell me about it!)

Readings and other materials may be found on the old 508 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: Sept 2011