﻿<?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 - Fall 2002:"/>
  <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 28
      </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>UML Notation notes</ld>
      <cd>hand out<br/>Pr1 &amp; Pr2</cd>
    </lecture>
    <lecture>
      <ld>
        <ifile title="Lecture&#160;#2">../CSE681/Lectures/cse681codeL2.xml</ifile>
        <br/>Wed, Sep 4
      </ld>
      <ld>Architectural Models, Modules, Prototype code,<br/>C#, Managed C++</ld>
      <ld>Text Chaps 1,2<br/>UML notes<br/>Module notes</ld>
      <cd>Pr1</cd>
    </lecture>    
    <lecture>
      <ld>
        <ifile title="Lecture&#160;#3">../CSE681/Lectures/cse681codeL3.xml</ifile>
        <br/>Wed, Sep 11
      </ld>
      <ld>XML, XML code prototypes, WinForms programming<br/>using C#</ld>
      <ld>Text chaps 1-4, 13<br/>XML Notes<br/>prototype code</ld>
      <ed>Pr1 due</ed>
    </lecture>
    <lecture>
      <ld>
        <ifile title="Lecture&#160;#4">../CSE681/Lectures/cse681codeL4.xml</ifile>
      <br/>Wed, Sep 18</ld>
      <ld>.Net Platfrom, Win32 Platform</ld>
      <ld>Text Chaps 3,4<br/>prototype code</ld>
      <cd>Pr2</cd>
    </lecture>
    <lecture>
      <ld>
        <ifile title="Lecture&#160;#5">../CSE681/Lectures/cse681codeL5.xml</ifile>
      <br/>Wed, Sep 25</ld>
      <ld>Interprocess communication, Sockets and Remoting</ld>
      <ld>Text chap 15<br/>prototype code</ld>
      <ed>Pr2 due<br/>hand out<br/>Pr3 and Pr4</ed>
    </lecture>
    <lecture>
      <ld>
        <ifile title="Lecture&#160;#6">../CSE681/Lectures/cse681codeL6.xml</ifile>
      <br/>Wed, Oct 2</ld>
      <ld>Processes, Threads, Kernel Objects</ld>
      <ld>Text chap 14<br/>prototype code</ld>
      <cd>Pr3</cd>
    </lecture>
    <lecture>
      <ld>
        <ifile title="Lecture&#160;#7">../CSE681/Lectures/cse681codeL7.xml</ifile>
      <br/>Wed, Oct 9</ld>
      <ld>Multi-threaded systems, queues</ld>
      <ld>Text chap 14<br/>prototype code</ld>
      <ed>Pr3 due</ed>
    </lecture>
    <lecture>
      <ld>
        <ifile title="Lecture&#160;#8">../CSE681/Lectures/cse681codeL8.xml</ifile>
      <br/>Wed, Oct 16</ld>
      <ld>Review for Midterm</ld>
      <ld>All notes and text</ld>
      <cd>Pr4</cd>
    </lecture>
    <emlecture>
      <ld>
        <ifile title="Lecture&#160;#9">../CSE681/Lectures/cse681codeL9.xml</ifile>
      <br/>Wed, Oct 23</ld>
      <ld>Midterm Examination</ld>
      <cd> - </cd>
      <cd> - </cd>
    </emlecture>
    <lecture>
      <ld>
        <ifile title="Lecture&#160;#10">../CSE681/Lectures/cse681codeL10.xml</ifile>
      <br/>Wed, Oct 30</ld>
      <ld>Asynchronous systems, shared resources,<br/>Synchronization, Message-passing Systems</ld>
      <ld>class notes<br/>prototype code</ld>
      <cd>Pr4</cd>
    </lecture>
    <lecture>
      <ld>
        <ifile title="Lecture&#160;#11">../CSE681/Lectures/cse681codeL11.xml</ifile>
      <br/>Wed, Nov 6</ld>
      <ld>Random Processes, Queuing Theory, <ifile title="Handouts">cse681code.xml</ifile></ld>
      <ld>Class notes</ld>
      <ed>Pr4 due<br/>hand out Pr5</ed>
    </lecture>
    <lecture>
      <ld>
        <ifile title="Lecture&#160;#12">../CSE681/Lectures/cse681codeL12.xml</ifile>
      <br/>Wed, Nov 13</ld>
      <ld>Modeling conditional event-driven systems, multi-threaded systems</ld>
      <ld>Text chap 14<br/>class notes<br/>prototype code</ld>
      <cd>Pr5</cd>
    </lecture>
    <lecture>
      <ld>
        <ifile title="Lecture&#160;#13">../CSE681/Lectures/cse681codeL13.xml</ifile>
      <br/>Wed, Nov 20</ld>
      <ld>Enterprise computing - web model<br/>help with Pr5</ld>
      <ld>Class notes</ld>
      <cd>Pr5</cd>
    </lecture>
    <emlecture>
      <ld>
        <ifile title="Lecture&#160;#14">../CSE681/Lectures/cse681codeL14.xml</ifile>
      <br/>Wed, Nov 27</ld>
      <ld>Thanksgiving Holiday</ld>
      <cd> - </cd>
      <ed> - </ed>
    </emlecture>
    <lecture>
      <ld>
        <ifile title="Lecture&#160;#15">../CSE681/Lectures/cse681codeL15.xml</ifile>
      <br/>Wed, Dec 4</ld>
      <ld>Back-of-the-Envelope Analysis, Help with Pr5<br/>Course Summary, what next?</ld>
      <cd> - </cd>
      <ed>Pr5 due</ed>
    </lecture>
  </syllabus>
  Class meets once per week for three hours.
  </visible>
</courses>
