﻿<?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>17 May 2003</revised>
  <images>
    <imageItem src="CSE681.jpg" size="200" />
  </images>
  <caption>Class Text</caption>
 
  <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>

  <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><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><br/>
    <ifile title="Best Final Projects, Fall 2002: Riddhiman Ghosh, Saket Satta">../cse681/BestFinalProjects</ifile>&#32;
  </isection>
  
  <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 and Notes:"/>
  <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>
    <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="www.gotdotnet.com">www.gotdotnet.com</ilink>
    </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 2003:"/>
  <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/>Tues, May 20
      </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><!-- #2 ===================================== -->
      <ld>
        <ifile title="Lecture&#160;#2">../CSE681/Lectures/cse681codeL2.xml</ifile>
        <br/>Tues, May 27
      </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">../CSE681/Lectures/cse681codeL3.xml</ifile>
        <br/>Tues,&#160;June&#160;03
      </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">../CSE681/Lectures/cse681codeL4.xml</ifile>
      <br/>Tues, June 10</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">../CSE681/Lectures/cse681codeL5.xml</ifile>
      <br/>Tues, June 17</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">../CSE681/Lectures/cse681codeL6.xml</ifile>
      <br/>Tues, June 24</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>
    <emlecture><!-- #7 ==================================== -->
      <ld>
        <ifile title="Lecture&#160;#7">../CSE681/Lectures/cse681codeL7.xml</ifile>
      <br/>Tues, July 1</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">../CSE681/Lectures/cse681codeL8.xml</ifile>
      <br/>Tues, July 8</ld>
      <ld>Random Processes, Queuing Theory, <ifile title="Handouts">cse681code.xml</ifile></ld>
      <ld>Queuing notes</ld>
      <ed>Pr4 due<br/>code</ed>
    </lecture>
    <lecture><!-- #9 ==================================== -->
      <ld>
        <ifile title="Lecture&#160;#9">../CSE681/Lectures/cse681codeL9.xml</ifile>
      <br/>Tues July 15</ld>
      <ld>Modeling conditional event-driven systems, multi-threaded systems
        Back-of-the-Envelope Analysis</ld>
      <ld>class notes<br/>prototype code</ld>
      <cd>Pr 5</cd>
    </lecture>
    <lecture><!-- #10 ==================================== -->
      <ld>
        <ifile title="Lecture&#160;#10">../CSE681/Lectures/cse681codeL10.xml</ifile>
      <br/>Tues, July 22</ld>
      <ld>Enterprise computing - web model,<br/>Help with Pr5<br/>Course Summary, what next?help with Pr5</ld>
      <ld>class notes<br/>prototype code</ld>
      <ed>Pr5 due<br/>Arch Report</ed>
    </lecture>
  </syllabus>
  Class meets once per week for four hours.
  </visible>
</courses>
