﻿<?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>25 July 2005</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">../CSE681summer/Lectures/cse681codeL1.xml</ifile>&#32;
    <ifile title="Code">code.xml#CSE681</ifile>&#32;
    <html><a href="#Syllabus">Syllabus</a></html>&#32;
    <ifile title="Projects">../CSE681summer/Projects</ifile><br/>
  </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>
  
  <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>
      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>
      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="www.gotdotnet.com">www.gotdotnet.com</ilink>&#32;
      <ifile title="Core Technologies">../coretechnologies</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.  Two require code to implement the systems of the first two OCDs.
    </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 2005:"/>
  <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">../CSE681summer/Lectures/cse681codeL1.xml</ifile>
        <br/>Mon, May 23
      </ld>
      <ld>
         Syllabus, Assignments, Examination, class text<br/>
         What is analysis? software architecture,<br/>
         Architectural Models, Modules, Universal Modeling Lanaguage (UML)
        <ilink title="Handouts">www.ecs.syr.edu/faculty/fawcett/handouts/cse681</ilink>
      </ld>
      <ld>UML notes<br/>Module notes<br/>Text chaps 1, 2</ld>
      <cd>hand out<br/>Pr1 &amp; Pr2</cd>
    </lecture>
    <lecture><!-- Memorial Holiday ====================== -->
      <ed>
        <ifile title="Holiday">../CSE681summer/Lectures/cse681codeL1.xml</ifile>
        <br/>Mon, May 30
      </ed>
      <ed>
         Memorial Day Holiday - No classes
      </ed>
      <ed>-</ed>
      <ed>-</ed>
    </lecture>
    <lecture><!-- #2 ===================================== -->
      <ld>
        <ifile title="Lecture&#160;#2">../CSE681summer/Lectures/cse681codeL2.xml</ifile>
        <br/>Date to be determined
      </ld>
      <ld>
         C++, Managed C++, and C#, prototype code<br/>WinForms programming
         <br/>.Net Platfrom, Win32 Platform
      </ld>
      <ld>Text chaps 3, 4</ld>
      <ed>Pr1 due<br/>OCD</ed>
    </lecture>    
    <lecture><!-- #3 ====================================== -->
      <ld>
        <ifile title="Lecture&#160;#3">../CSE681summer/Lectures/cse681codeL3.xml</ifile>
        <br/>Mon,&#160;June&#160;06
      </ld>
      <ld>XML, XML code prototypes using C#,<br/>.Net Platfrom, Win32 Platform</ld>
      <ld>Text chaps 1-4, 13<br/>XML Notes<br/>prototype code</ld>
      <cd>Pr2</cd>
    </lecture>
    <lecture><!-- #4 ====================================== -->
      <ld>
        <ifile title="Lecture&#160;#4">../CSE681summer/Lectures/cse681codeL4.xml</ifile>
      <br/>Mon, June 13</ld>
      <ld>Interprocess communication, Sockets and .Net Remoting</ld>
      <ld>Sockets Notes<br/>Text Chap 15<br/>prototype code</ld>
      <ed>Pr2 due<br/>code</ed>
    </lecture>
    <lecture><!-- #5 ====================================== -->
      <ld>
        <ifile title="Lecture&#160;#5">../CSE681summer/Lectures/cse681codeL5.xml</ifile>
      <br/>Mon, June 20</ld>
      <ld>
         Processes, Threads, Kernel Objects,<br/>
         Multi-threaded systems, queues
      </ld>
      <ld>Text chap 14<br/>prototype code</ld>
      <cd>Pr3</cd>
    </lecture>
    <lecture><!-- #6 ====================================== -->
      <ld>
        <ifile title="Lecture&#160;#6">../CSE681summer/Lectures/cse681codeL6.xml</ifile>
      <br/>Mon, June 27</ld>
      <ld>shared resources, synchronization,<br/>Review for Midterm</ld>
      <ld>Text chap 14<br/>prototype code</ld>
      <ed>Pr3 due<br/>OCD</ed>
    </lecture>
    <lecture><!-- July 4 Holiday ====================== -->
      <ed>
        <ifile title="Holiday">../CSE681summer/Lectures/cse681codeL1.xml</ifile>
        <br/>Mon, July 04
      </ed>
      <ed>
         4th of July Holiday - No classes
      </ed>
      <ed>-</ed>
      <ed>-</ed>
    </lecture>
    <emlecture><!-- #7 ==================================== -->
      <ld>
        <ifile title="Lecture&#160;#7">../CSE681summer/Lectures/cse681codeL7.xml</ifile>
      <br/>Mon, July 11</ld>
      <ld>Midterm Examination<br/>Asynchronous systems, Message-passing Systems</ld>
      <ld>Asynchronous notes<br/>prototype code</ld>
      <cd>Pr4</cd>
    </emlecture>
    <lecture><!-- #8 ===================================== -->
      <ld>
        <ifile title="Lecture&#160;#8">../CSE681summer/Lectures/cse681codeL8.xml</ifile>
      <br/>Mon, July 18</ld>
      <ld>Exam Results, Random Processes, Queuing Theory, <ifile title="Handouts">../cse681/presentations/queueAnalysis.doc</ifile></ld>
      <ld>Queuing notes</ld>
      <cd>Pr4 due date extended</cd>
    </lecture>
    <lecture><!-- #9 ==================================== -->
      <ld>
        <ifile title="Lecture&#160;#9">../CSE681summer/Lectures/cse681codeL9.xml</ifile>
      <br/>Mon July 25</ld>
      <ld>Queuing, Back-of-the-Envelope Analysis, Pr#5 Topics</ld>
      <ld>class notes<br/>prototype code</ld>
      <ed>Pr 4 due<br/>code</ed>
    </lecture>
    <lecture><!-- #10 ==================================== -->
      <ld>
        <ifile title="Lecture&#160;#10">../CSE681summer/Lectures/cse681codeL10.xml</ifile>
      <br/>Mon, Aug 01</ld>
      <ld>Enterprise computing - web model,<br/>Help with Pr5<br/>Course Summary, what next?</ld>
      <ld>class notes<br/>prototype code</ld>
      <ed><ifile title="Pr5">../cse681summer/projects/pr5su05.doc</ifile> due<br/>Arch Report<br/>Mon, Aug 01</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>
