﻿<?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>15 June 2008</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><br/>
    <ifile title="File Download ScreenShot">fileDownloads.doc</ifile>&#32;
    <ifile title="Project Upload Instructions">uploads.doc</ifile><br/>&#160;&#160;
  </isection>
<!--
  <section title="Best Final Projects">
    <ifile title="Fall 2004:">../cse681/BestFinalProjects/Fall04</ifile>&#160;&#160;Vijay Appadurai, Bassem El Karablieh<br/>
    <ifile title="Fall 2003:">../cse681/BestFinalProjects/Fall03</ifile>&#160;&#160;Rohit Jhangiani, Carmen Vaca Ruiz, Ghanashyam Namboodiripad, Priyaa Nachimuthu<br/>
    <ifile title="Fall 2002:">../cse681/BestFinalProjects/Fall02</ifile>&#160;&#160;Riddhiman Ghosh, Saket Satta<br/>
  </section>
-->
  <br/><br/>
  <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, Andrew Troelsen, Apress, 2007,
      ISBN 978-1-59059-884-9
    </litem>
<!--
    <litem>
      Programming Microsoft .Net, Jeff Prosise, Microsoft Press, 2002,
      ISBN 0-7356-1376-1<br/>
      We will use parts I and III only.
    </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>
      <ilink title="UML">bdn.borland.com/article/0,1410,31863,00.html</ilink>&#32;
      <ilink title="dotnet quickstart tutorials">www.learnasp.com/quickstart/</ilink>&#32;
      <ilink title="dotnetjunkies">www.dotnetjunkies.com/</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>
    <litem>
      Five <ifile title="projects">../CSE681summer/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 to provide prototypes for the
      final project.
    </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 - Summer 2008:"/>
  <html><a name="Syllabus"/></html>
  <syllabus>
    <syllHeading>
      <sd>Lecture</sd>
      <hd>Topics</hd>
      <hd>Read before class</hd>
      <hd>Project</hd>
    </syllHeading>
    <lecture><!-- #1 ==================================== -->
      <ld>
        <ifile title="Lecture&#160;#1">../CSE681/Lectures/cse681codeL1.xml</ifile>
        <br/>Mon, May 19
      </ld>
      <ld>
         Discuss Syllabus, Assignments, Examination, class text<br/>
         What is analysis? software architecture,<br/>
        <ilink title="Handouts">www.ecs.syr.edu/faculty/fawcett/handouts/cse681</ilink>
      </ld>
      <ld>UML notes<br/>Module notes<br/>Text chap 1</ld>
      <cd>hand out<br/><ifile title="Pr1">../CSE681/Projects/Pr1Su08.doc</ifile> &amp; <ifile title="Pr2">../CSE681/Projects/Pr2Su08.doc</ifile></cd>
    </lecture>
    <lecture><!-- #2 ==================================== -->
      <ld>
        <ifile title="Lecture&#160;#2">../CSE681/Lectures/cse681codeL2.xml</ifile>
        <br/>Wed, May 21
      </ld>
      <ld>
         Architectural Models, Modules, Universal Modeling Lanaguage (UML)
      </ld>
      <ld>UML notes<br/>Module notes<br/>Text chap 2</ld>
      <cd><ifile title="Pr1">../CSE681/Projects/Pr1Su08.doc</ifile> - OCD</cd>
    </lecture>
    <emlecture><!-- Memorial Day - No Classes =============== -->
      <ld>
        <ifile title="Holiday">../CSE681/Lectures/cse681codeL3.xml</ifile>
        <br/>Mon, May 26
      </ld>
      <ld>
         Memorial Day Observed - No Classes
      </ld>
      <ld>&#160;</ld>
      <cd>&#160;</cd>
    </emlecture>    
    <lecture><!-- #3 ===================================== -->
      <ld>
        <ifile title="Lecture&#160;#3">../CSE681/Lectures/cse681codeL3.xml</ifile>
        <br/>Wed, May 28
      </ld>
      <ld>
         C# Programming Language<br/>.Net Platfrom
      </ld>
      <ld>Text chaps 2-10</ld>
      <cd><ifile title="Pr1">../CSE681/Projects/Pr1Su08.doc</ifile> - OCD</cd>
    </lecture>    
    <lecture><!-- #4 ===================================== -->
      <ld>
        <ifile title="Lecture&#160;#4">../CSE681/Lectures/cse681codeL4.xml</ifile>
        <br/>Mon, Jun 2
      </ld>
      <ld>
         C#, prototype code<br/>.Net Platfrom
      </ld>
      <ld>Text chaps 3, 4, and 5</ld>
      <ed><ifile title="Pr1">../CSE681/Projects/Pr1Su08.doc</ifile> - OCD<br/>due</ed>
    </lecture>    
    <lecture><!-- #5 ===================================== -->
      <ld>
        <ifile title="Lecture&#160;#5">../CSE681/Lectures/cse681codeL5.xml</ifile>
        <br/>Wed, Jun 4
      </ld>
      <ld>
         WinForms programming<br/>.Net Platfrom
      </ld>
      <ld>Text chaps 19, 20, 21</ld>
      <cd><ifile title="Pr2">../CSE681/Projects/Pr2Su08.doc</ifile> - code</cd>
    </lecture>    
    <lecture><!-- #6 ====================================== -->
      <ld>
        <ifile title="Lecture&#160;#6">../CSE681/Lectures/cse681codeL6.xml</ifile>
        <br/>Mon, Jun 9
      </ld>
      <ld>XML, XML code prototypes using C#,<br/>.Net Platfrom, Win32 Platform</ld>
      <ld>XML Notes<br/>prototype code</ld>
      <cd><ifile title="Pr2">../CSE681/Projects/Pr2Su08.doc</ifile> - code</cd>
    </lecture>
    <lecture><!-- #7 ====================================== -->
      <ld>
        <ifile title="Lecture&#160;#7">../CSE681/Lectures/cse681codeL7.xml</ifile>
        <br/>Wed, Jun 11
      </ld>
      <ld>.Net Sockets<br/>.Net Platfrom</ld>
      <ld>Sockets Notes<br/>prototype code</ld>
      <cd><ifile title="Pr2">../CSE681/Projects/Pr2Su08.doc</ifile> - code</cd>
    </lecture>
    <lecture><!-- #8 ==================================== -->
      <ld>
        <ifile title="Lecture&#160;#8">../CSE681/Lectures/cse681codeL8.xml</ifile>
      <br/>Mon Jun 16</ld>
      <ld>Web services, Message-Passing systems</ld>
      <ld>class notes<br/>prototype code</ld>
      <ed><ifile title="Pr2">../CSE681/Projects/Pr2Su08.doc</ifile><br/>code due</ed>
    </lecture>
    <lecture><!-- #9 ==================================== -->
      <ld>
        <ifile title="Lecture&#160;#9">../CSE681/Lectures/cse681codeL9.xml</ifile>
      <br/>Wed Jun 18</ld>
      <ld>Windows Communication Foundation (WCF)</ld>
      <ld>Text Chap 25<br/>class notes<br/>prototype code</ld>
      <cd><ifile title="Pr3">../CSE681/Projects/Pr3Su08.doc</ifile> - OCD</cd>
    </lecture>
<!--
    <lecture> #8 ======================================
      <ld>
        <ifile title="Lecture&#160;#8">../CSE681/Lectures/cse681codeL8.xml</ifile>
      <br/>Mon, Jun 16</ld>
      <ld>Interprocess communication, and .Net Remoting</ld>
      <ld>Remoting Notes<br/>Text Chap 18<br/>prototype code</ld>
      <ed><ifile title="Pr2">../CSE681/Projects/Pr2Su08.doc</ifile> - code<br/>due</ed>
    </lecture>
    <lecture> #9 ======================================
      <ld>
        <ifile title="Lecture&#160;#9">../CSE681/Lectures/cse681codeL9.xml</ifile>
      <br/>Wed, Jun 18</ld>
      <ld>.Net Remoting Examples</ld>
      <ld>Remoting Notes<br/>Text Chap 18<br/>prototype code</ld>
      <cd><ifile title="Pr3">../CSE681/Projects/Pr3Su08.doc</ifile> - OCD</cd>
    </lecture>
-->
    <lecture><!-- #10 ====================================== -->
      <ld>
        <ifile title="Lecture&#160;#10">../CSE681/Lectures/cse681codeL10.xml</ifile>
      <br/>Mon, Jun 23</ld>
      <ld>
         Processes, Threads, Kernel Objects,<br/>
         Multi-threaded systems, queues
      </ld>
      <ld>Text chaps 13, 14<br/>prototype code</ld>
      <cd><ifile title="Pr3">../CSE681/Projects/Pr3Su08.doc</ifile> - OCD</cd>
    </lecture>
    <lecture><!-- #11 ====================================== -->
      <ld>
        <ifile title="Lecture&#160;#11">../CSE681/Lectures/cse681codeL11.xml</ifile>
      <br/>Wed, Jun 25</ld>
      <ld>Threading examples, shared resources, synchronization</ld>
      <ld>Text chaps 13, 14<br/>prototype code</ld>
      <cd><ifile title="Pr3">../CSE681/Projects/Pr3Su08.doc</ifile> - OCD</cd>
    </lecture>
    <lecture><!-- #12 ====================================== -->
      <ld>
        <ifile title="Lecture&#160;#12">../CSE681/Lectures/cse681codeL12.xml</ifile>
      <br/>Mon, Jun 30</ld>
      <ld>Hand out, and discuss, Project #5<br/>
          Asynchronous systems, Message-passing Systems</ld>
      <ld>Asynchronous notes<br/>prototype code</ld>
      <ed><ifile title="Pr3">../CSE681/Projects/Pr3Su08.doc</ifile> - OCD<br/>due</ed>
    </lecture>
<!--
    <lecture>
      <ed>
        <ifile title="No&#160;Lecture">../CSE681/Lectures/cse681codeL13.xml</ifile>
      <br/>Wed, Jul 2</ed>
      <ed>
         4th of July Holiday, no class
      </ed>
      <ed>&#160;</ed>
      <ed>&#160;</ed>
    </lecture>
-->
    <lecture><!-- #13 ====================================== -->
      <ld>
        <ifile title="Lecture&#160;#13">../CSE681/Lectures/cse681codeL13.xml</ifile>
      <br/>Wed, Jul 2</ld>
      <ld>Review for Midterm<br/>
         Common Language Runtime (CLR)<br/>
         appdomains
      </ld>
      <ld>Text chap 13<br/>prototype code</ld>
      <cd><ifile title="Pr4">../CSE681/Projects/Pr4Su08.doc</ifile> - code</cd>
    </lecture>
    <emlecture><!-- #14 ==================================== -->
      <ld>
        <ifile title="Lecture&#160;#14">../CSE681/Lectures/cse681codeL14.xml</ifile>
      <br/>Mon, Jul 7</ld>
      <ld>Midterm Examination</ld>
      <ld>All Previous lecture notes</ld>
      <ed>&#160;</ed>
    </emlecture>
    <lecture><!-- #15 ===================================== -->
      <ld>
        <ifile title="Lecture&#160;#15">../CSE681/Lectures/cse681codeL15.xml</ifile>
      <br/>Wed Jul 9</ld>
      <ld>Windows Presentation Foundation (WPF), <ifile title="Handouts">../cse681/presentations/WindowsPresentationFoundation.ppt</ifile></ld>
      <ld>Text Chap 28, Class notes</ld>
      <cd><ifile title="Pr4">../CSE681/Projects/Pr4Su08.doc</ifile> - code</cd>
    </lecture>
    <lecture><!-- #16 ===================================== -->
      <ld>
        <ifile title="Lecture&#160;#16">../CSE681/Lectures/cse681codeL16.xml</ifile>
      <br/>Mon Jul 14</ld>
      <ld>Windows Presentation Foundation (WPF) - controls, <ifile title="Handouts">../cse681/presentations/WindowsPresentationFoundation.ppt</ifile></ld>
      <ld>Text Chap 29<br/>Class notes</ld>
      <ed><ifile title="Pr4">../CSE681/Projects/Pr4Su08.doc</ifile> - code due</ed>
    </lecture>
    <lecture><!-- #17 ===================================== -->
      <ld>
        <ifile title="Lecture&#160;#17">../CSE681/Lectures/cse681codeL17.xml</ifile>
      <br/>Wed Jul 16</ld>
      <ld>Queuing Theory, Back-of-the-Envelope Analysis, Pr#5 Topics, <ifile title="Handouts">../cse681/presentations/queueAnalysis.doc</ifile></ld>
      <ld>Queuing notes</ld>
      <cd><ifile title="Pr5">../CSE681/Projects/Pr5Su08.doc</ifile><br/>OCD &amp; code</cd>
    </lecture>
    <lecture><!-- #18 ==================================== -->
      <ld>
        <ifile title="Lecture&#160;#18">../CSE681/Lectures/cse681codeL18.xml</ifile>
      <br/>Mon Jul 21</ld>
      <ld>Random Processes, Queuing topics, Web Services, Pr#5 Topics</ld>
      <ld>class notes<br/>prototype code</ld>
      <cd><ifile title="Pr5">../CSE681/Projects/Pr5Su08.doc</ifile><br/>OCD &amp; code</cd>
    </lecture>
    <lecture><!-- #19 ==================================== -->
      <ld>
        <ifile title="Lecture&#160;#19">../CSE681/Lectures/cse681codeL19.xml</ifile>
      <br/>Wed, Jul 23</ld>
      <ld>Midterm Exam Results<br/>Topics in Managed Computing</ld>
      <ld>class notes<br/>prototype code</ld>
      <cd><ifile title="Pr5">../CSE681/Projects/Pr5Su08.doc</ifile><br/>OCD &amp; code</cd>
    </lecture>
    <lecture><!-- #20 ==================================== -->
      <ld>
        <ifile title="Lecture&#160;#20">../CSE681/Lectures/cse681codeL20.xml</ifile>
      <br/>Mon, Jul 28</ld>
      <ld>Enterprise computing - web model,<br/>Help with <ifile title="Pr5">../CSE681/Projects/Pr5Su08.doc</ifile><br/>Course Summary, what next?</ld>
      <ld>class notes<br/>prototype code</ld>
      <ed><ifile title="Pr5">../CSE681/Projects/Pr5Su08.doc</ifile> due<br/>Arch Report</ed>
    </lecture>
  </syllabus>
  Class meets twice per week for two hours.
<!--
  <images>
    <imageItem src="students/cse681strip2.jpg" size="246"/>
    <imageItem src="students/cse681strip5.jpg" size="400"/>
  </images>
-->
  </visible>
</courses>
