﻿<?xml version="1.0" encoding="utf-8" ?> 
<?xml-stylesheet type="text/xsl" href="courses.xsl" ?>
<courses name="CSE681">
 
  <btitle>CSE681</btitle>
  <theme src="CoursesTheme.css" />
  
  <visible>  
  <title>CSE681 - Software Modeling and Analysis</title>
  <revised>05 February 2009</revised>
  
  <hnav/>
<!-- 
  <hilight>
    <ifile title="Home">FawcettHome.xml</ifile>&#32;
    <ifile title="Courses">Courses.xml</ifile>&#32;
    <ifile title="Code">Code.xml</ifile>&#32;
    <ilink title="Handouts">www.ecs.syr.edu/faculty/fawcett/handouts</ilink>&#32;
    <ifile title="Books">Books.xml</ifile>&#32;
    <ifile title="Math">Mathematics.xml</ifile>&#32;
    <ifile title="Research">research.xml</ifile>&#32;
    <ifile title="Masters Projects">MastersProjects.xml</ifile>&#32;
    <ifile title="SWDev">swdev.xml</ifile>&#32;
    <ifile title="WebDev">webdev.xml</ifile>&#32;
    <ifile title="News">news.xml</ifile>&#32;
    <ifile title="OtherLinks">OtherLinks.xml</ifile>&#32;
    <ifile title="SiteDesign">SiteDesign.xml</ifile>&#32;
    <ifile title="Graduates">graduates.xml</ifile>&#32;
    <ifile title="AllPages">AllPages.xml</ifile>&#32;
    <ifile title="Office Hours">OfficeHours.xml</ifile>&#32;
    <notice title="Notices">notices.xml</notice>&#32;
    <html><a href="#contents">Contents</a></html>&#32;
  </hilight>
-->
  <cnav/>
<!--
  <hilight>
    <ifile title="CSE681-SWMAA">CSE681.xml</ifile>&#32;
    <ifile title="CSE686-IP">CSE686.xml</ifile>&#32;
    <ifile title="CSE687-OOD">CSE687.xml</ifile>&#32;
    <ifile title="CSE775-DO">CSE775.xml</ifile>&#32;
    <ifile title="CSE776-DP">CSE776.xml</ifile>&#32;
    <ifile title="CSE778-AWP">CSE778.xml</ifile>&#32;
    <ifile title="CSE784-SWS">CSE784.xml</ifile>
  </hilight>
-->

  <html><img src="students/cse681strip1.jpg" width="100%"/></html>
  <!--
  <images>
    <imageItem src="students/cse681strip1.jpg" size="200"/>
  </images>
  -->
  <!-- <caption>Class Text</caption> -->
   
  <html><a name="contents"/></html>
  <isection title="Resources:">
    &#32;<ifile title="Lectures">../CSE681/Lectures/cse681codeL1.xml</ifile>&#32;
    <ifile title="Code">code.xml#CSE681</ifile>&#32;
    <html><a href="#Syllabus">Syllabus</a></html>&#32;
    <ifile title="projects">../cse681/projects</ifile>&#32;
    <ifile title="File Download ScreenShot">fileDownloads.doc</ifile>&#32;
    <ifile title="Project Upload Instructions">../uploads.doc</ifile><br/>
  </isection>
  <section title="Best Final Projects">
    <ifile title="Elie ElAaraj, Nisith Dash, John Goddard, and Karthik Parthiban">../cse681/BestFinalProjects</ifile>
  </section>
  
  <section title="Course Scope:">
  This course is concerned with modeling software - especially large distributed systems 
  - including architecture, design, and implementation.  To do this we introduce:
  <ulist>
    <litem>
      UML diagrams: activity, dataflow, class, event-trace, structure charts, and state.
    </litem>
    <litem>
      Analysis based on load models and some queuing theory.
    </litem>
    <litem>
      Prototype code, using C# and the .Net Framework Class Libraries.
    </litem>
  </ulist>
  One major focus is the representation of software and software systems with means other 
  than code, although we do develop code in this course.
  <p/>
  Five projects are required that are progressively more challenging.  
  The first and second projects are concerned with describing the architecture needed to 
  realize a set of requirements and its implementation, respectively.
  The third and fourth projects repeat this for a more complex, distributed, system.
  The final project requires the creation of an architecture for a large, complex, 
  distributed system.
  <p/>
  The use of C# and the .Net Framework Class Libraries are required.  This is covered by
  the class text and in help sessions conducted by the instructor and teaching 
  assistants.
  A lot of work outside of class is expected.  Students that complete this
  course with good grades will understand how to lay the foundations for the successful
  development of large, distributed systems.
  </section>
 
  <section title="Required Texts, Notes, and Projects:"/>
  <olist>
    <litem>
      Pro C# 2008 and the .Net 3.5 Platform, Fourth Edition, Troelsen, Apress, 2007,
      ISBN 1-59059-884-9
    </litem>
    <litem>
      Class Notes, available on 
      <ilink title="www.ecs.syr.edu/faculty/fawcett/handouts/cse681">www.ecs.syr.edu/faculty/fawcett/handouts/cse681</ilink>
    </litem>
    <litem>
      Five <ifile title="projects">../CSE681/projects</ifile> are required: three require creation of an Operational Concept Document (OCD)
      to record a software architecture.  Three require code to implement the systems of the first two OCDs and provide prototype code for the final project.
    </litem>
  </olist>
  <section title="Supplementary Text and links"/>
  <olist>
    <litem>
      Programming Microsoft .Net, Jeff Prosise, Microsoft Press, 2002,
      ISBN 0-7356-1376-1<br/>
      We will use parts I and III only.
    </litem>
    <!-- <imageItem src="CSE681.jpg" size="200" /> -->
    <litem>
      <ilink title="UML - web notes">bdn.borland.com/article/0,1410,31863,00.html</ilink>&#32;
      <ilink title="UML - Object Mentor pdf">www.objectmentor.com/resources/articles/umlClassDiagrams.pdf</ilink>&#32;
      <ilink title=".Net Quickstarts">www.dotnetjunkies.com/quickstart/</ilink>&#32;
      <ifile title="Core Technologies">coretechnologies.xml</ifile>&#32;
      <ilink title=".Net Code Samples by Mike Woodring">www.bearcanyon.com/dotnet/</ilink>&#32;
    </litem>
  </olist>
 
  <section title="Prerequisites:"/>
  <block>
    Students are expected to have a good working knowledge of the C Programming Language.
    No prior knowledge of C# is required.
  </block>
  
  <section title="Syllabus - Fall 2008:"/>
  <html><a name="Syllabus"/></html>
  <syllabus>
    <syllHeading>
      <sd>Lecture</sd>
      <hd>Topics</hd>
      <hd>Read before class</hd>
      <hd>Project</hd>
    </syllHeading>
    <lecture>
      <ld>
        <ifile title="Lecture&#160;#1">../CSE681/Lectures/cse681codeL1.xml</ifile>
        <br/>Wed, Aug 27
      </ld>
      <ld>What is analysis? software architecture,<br/>Universal Modeling Lanaguage (UML), Class Text,
      <ilink title="Handouts">www.ecs.syr.edu/faculty/fawcett/handouts/cse681</ilink></ld>
      <ld><ilink title="UML Notes">dn.codegear.com/article/31863</ilink></ld>
      <cd>hand out<br/><ifile title="Pr1">../cse681/projects/Pr1F08.doc</ifile> &amp; <ifile title="Pr2">../cse681/projects/pr2F08.doc</ifile></cd>
    </lecture>
    <lecture>
      <ld>
        <ifile title="Lecture&#160;#2">../CSE681/Lectures/cse681codeL2.xml</ifile>
        <br/>Wed, Sep 3
      </ld>
      <ld>C# Language, Modules, Project concepts and Prototype code</ld>
      <ld>Text Chaps 1,2<br/>UML notes<br/>Module notes</ld>
      <cd><ifile title="Pr1">../cse681/projects/Pr1F08.doc</ifile></cd>
    </lecture>    
    <lecture>
      <ld>
        <ifile title="Lecture&#160;#3">../CSE681/Lectures/cse681codeL3.xml</ifile>
        <br/>Wed, Sep 10
      </ld>
      <ld>C# techniques, WinForms programming</ld>
      <ld>Text chaps 1-4<br/>prototype code</ld>
      <ed><ifile title="Pr1">../cse681/projects/Pr1F08.doc</ifile> due</ed>
    </lecture>
    <lecture>
      <ld>
        <ifile title="Lecture&#160;#4">../CSE681/Lectures/cse681codeL4.xml</ifile>
      <br/>Wed, Sep 17</ld>
      <ld>XML, XML code prototypes</ld>
      <ld>Class Notes<br/>prototype code</ld>
      <cd><ifile title="Pr2">../cse681/projects/Pr2F08.doc</ifile></cd>
    </lecture>
    <lecture>
      <ld>
        <ifile title="Lecture&#160;#5">../CSE681/Lectures/cse681codeL5.xml</ifile>
      <br/>Wed, Sep 24</ld>
      <ld>Interprocess communication, Sockets,<br/>Windows Communication Foundation,<br/>Web Services</ld>
      <ld>Text chap 25<br/>prototype code<br/>Class Notes</ld>
      <ed><ifile title="Pr2">../cse681/projects/Pr2F08.doc</ifile> due<br/>hand out<br/><ifile title="Pr3">../cse681/projects/pr3F08.doc</ifile> and <ifile title="Pr4">../cse681/projects/pr4F08.doc</ifile></ed>
    </lecture>
    <lecture>
      <ld>
        <ifile title="Lecture&#160;#6">../CSE681/Lectures/cse681codeL6.xml</ifile>
      <br/>Wed, Oct 01</ld>
      <ld>Processes, Threads, Kernel Objects,<br/>.Net Platfrom vs. Win32 Platform</ld>
      <ld>Class Notes,<br/>Text chap 18<br/>prototype code</ld>
      <cd><ifile title="Pr3">../cse681/projects/pr3F08.doc</ifile></cd>
    </lecture>
    <lecture>
      <ld>
        <ifile title="Lecture&#160;#7">../CSE681/Lectures/cse681codeL7.xml</ifile>
      <br/>Wed, Oct 8</ld>
      <ld>Multi-threaded systems, queues,<br/>asynchronous systems</ld>
      <ld>Text chap 18<br/>prototype code</ld>
      <cd><ifile title="Pr3">../cse681/projects/pr3F08.doc</ifile></cd>
    </lecture>
    <lecture>
      <ld>
        <ifile title="Lecture&#160;#8">../CSE681/Lectures/cse681codeL8.xml</ifile>
      <br/>Wed, Oct 15</ld>
      <ld>Review for Midterm</ld>
      <ld>All notes and text</ld>
      <ed><ifile title="Pr3">../cse681/projects/pr3F08.doc</ifile> due</ed>
    </lecture>
    <lecture>
      <ld>
        <ifile title="Lecture&#160;#9">../CSE681/Lectures/cse681codeL9.xml</ifile>
      <br/>Wed, Oct 22</ld>
      <ld>Windows Presentation Foundation</ld>
      <ld>Class notes,<br/>Text Chap 28</ld>
      <cd><ifile title="Pr4">../cse681/projects/pr4F08.doc</ifile></cd>
    </lecture>
    <emlecture>
      <ld>
        <ifile title="Lecture&#160;#10">../CSE681/Lectures/cse681codeL10.xml</ifile>
      <br/>Wed, Oct 29</ld>
      <ld>Midterm Examination</ld>
      <ld>Class notes</ld>
      <cd><ifile title="Pr4">../cse681/projects/pr4F08.doc</ifile></cd>
    </emlecture>
    <lecture>
      <ld>
        <ifile title="Lecture&#160;#11">../CSE681/Lectures/cse681codeL11.xml</ifile>
      <br/>Wed, Nov 05</ld>
      <ld>Queuing Theory, Random Processes, Performance Analysis</ld>
      <ld>class notes</ld>
      <cd><ifile title="Pr4">../cse681/projects/pr4F08.doc</ifile></cd>
    </lecture>
<!--
    <lecture>
      <ld>
        <ifile title="Lecture&#160;#12">../CSE681/Lectures/cse681codeL12.xml</ifile>
      <br/>Wed, Nov 21</ld>
      <ld>Modeling conditional event-driven systems, multi-threaded systems</ld>
      <ld>Text chap 14<br/>class notes<br/>prototype code</ld>
      <cd><ifile title="Pr5">../cse681/projects/pr5F08.doc</ifile></cd>
    </lecture>
-->
    <lecture>
      <ld>
        <ifile title="Lecture&#160;#12">../CSE681/Lectures/cse681codeL12.xml</ifile>
      <br/>Wed, Nov 12</ld>
      <ld>Managed C++, Attibuted Programming<br/>help with Pr5</ld>
      <ld>Class notes</ld>
      <ed><ifile title="Pr4 due">../cse681/projects/pr4F08.doc</ifile></ed>
    </lecture>
    <lecture>
      <ld>
        <ifile title="Lecture&#160;#13">../CSE681/Lectures/cse681codeL13.xml</ifile>
      <br/>Wed, Nov 19</ld>
      <ld>Midterm Exam results, Instructor's solutions,<br/>Prototype code to support Pr5</ld>
      <ld>class notes<br/>prototype code</ld>
      <cd><ifile title="Pr5">../cse681/projects/pr5F08.doc</ifile></cd>
    </lecture>
    <emlecture>
      <ld>Wed, Nov 26</ld>
      <ld>Thanksgiving Holidays - no class</ld>
      <cd>&#160;</cd>
      <ed>&#160;</ed>
    </emlecture>
    <lecture>
      <ld>
        <ifile title="Lecture&#160;#14">../CSE681/Lectures/cse681codeL14.xml</ifile>
      <br/>Wed, Dec 03</ld>
      <ld>Course Summary, Help with Pr5<br/>what next?</ld>
      <cd>&#160;</cd>
      <ed><ifile title="Pr5">../cse681/projects/pr5F08.doc</ifile> due</ed>
    </lecture>
<!--
    <lecture>
      <ld>
        <ifile title="Lecture&#160;#14">../CSE681/Lectures/cse681codeL14.xml</ifile>
      <br/>Wed, Dec 3</ld>
      <ld>Back-of-the-Envelope Analysis, Help with Pr5<br/>Course Summary, what next?</ld>
      <cd>&#160;</cd>
      <ed><ifile title="Pr5">../cse681/projects/pr5F08.doc</ifile> due</ed>
    </lecture>
-->
  </syllabus>
  Class meets once per week for three hours.
<!--
  <images>
    <imageItem src="students/cse681strip2.jpg" size="246"/>
    <imageItem src="students/cse681strip5.jpg" size="400"/>
  </images>
-->
  </visible>
</courses>
