CSC 508
Software Engineering I
Fall 2004







Instructor:          Clark Savage Turner, J.D., Ph.D.

Office:                14-211

My email address:     csturner@falcon.csc.calpoly.edu

Web URL:          http://www.csc.calpoly.edu/~csturner/courses/508/508f04.html

This page will evolve with the course.  Please check it periodically for updates, though note that this page is considered supplemental to the course.  The course happens in the classroom, not here on the webpage.


PREREQUISITE:   CSC 205 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 205 and graduate standing, or consent of instructor.


Textbooks:

    Required: Petroski, To Engineer is Human, Vintage Books, NY, 1992. I expect that you will read this book in its entirety during the first week of     classes, ready to discuss it by the second week.

    Required: Jackson, Software Requriements and Specifications, Addison-Wesley, 1995.

    Required: Simon, The Sciences of the Artificial, MIT Press, 1996.

    Another interesting text, Jackson, Problem Frames, Analyzing and structuring software development problems, Addison-Wesley, 2001.

    For a good introduction to Software Engineering (especially if you do not have much experience), get Hamlet, Maybee, The Engineering of             Software, Addison -Wesley, 2001.

Bibliographies for software engineering research can be found here (NASA) and here (Germany) among other places. Have a look around!


Lecture one slides for this class are available in powerpoint here. 

Further note: Review the new Software Engineering Code of Ethics approved and published by both the IEEE and ACM.  This code is written for     those claiming to be, or involved in "software engineering." Have a copy and read it regularly.  Think about it.  Make friends with it, or at least         understand its general principles if you do not agree with it (which is just fine!)


Assignments and references to papers we'll read   Note that the course content is dynamic and will change on the fly.
Course Requirements
____________________________________________________________________________________________________________________
Course Schedule
_____________________________________________________________________________________________

GRADES will be loosely based on the final paper, participation and midterm grade.  They are roughly 33% each, but as a graduate course, the overall class grade is based on a wholistic assessment of your work, not just individual grades.



Rough Schedule of Important Dates:

Paper proposal due by the end of the 3rd week.
Midterm exam during 5th week.
Full paper due by the end of the 9th week. (Exceptions only by preapproval of instructor. No incompletes will be given without serious medical excuse.)

(*volunteer to review and present papers in your chosen topic! Otherwise, I'll end up assigning you papers that may not help you as much on your way.)
 


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 eventually noted here. Always get notes from class if you cannot attend a given day because important information is given there that cannot be reproduced here.  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 grade.


Updated: Sept. 2004