﻿<?xml version="1.0" encoding="utf-8" ?> 
<?xml-stylesheet type="text/xsl" href="courses.xsl" ?>
<courses name="CSE691">
 
  <btitle>CSE691</btitle>
  <theme src="CoursesTheme.css" />
  
  <visible>
  <title>CSE691 - Comparative Platforms</title>
  <revised>20 May 2007</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>
-->

  <images>
    <imageItem src="students/IP5.jpg" size="200" />
    <imageItem src="STUDENTS/IP1.jpg" size="200" />
  </images>
  <hilight/>
  <caption>Each Class starts with a Lecture and Ends with an in-class Assignment</caption>
  <html><a name="contents"/></html>

  <section title="Resources:">
    &#160;&#160;&#160;<ifile title="Lectures">../CSE691/Lectures/CSE691codeL1.xml</ifile>&#32;
    <ifile title="Code">code.xml#CSE686</ifile>&#32;
    <html><a href="#Syllabus">Syllabus</a></html>&#32;
    <ifile title="Labs">../cse686/assignments</ifile>&#32;<br/>&#160;&#160;
    <ifile title="File Download ScreenShot">fileDownloads.doc</ifile>&#32;
    <ifile title="Project Upload Instructions">uploads.doc</ifile><br/>&#160;&#160;
    <ifile title="FixingSQLLoginFailures.doc">../CSE686/presentations/FixingSQLLoginFailures.doc</ifile>&#32;<br/>
    &#160;&#160;&#160;<ifile title="Student Presentations">../CSE686/StudentPresentations</ifile>&#32;
  </section>

  <section title="Required Projects and Labs">
    <ulist>
      <litem>
        <ifile title="Labs">../cse691/assignments</ifile>, 
        <ifile title="Final Project">../cse691/projects/FinalProjSu07.doc</ifile>
      </litem>
<!--
      <litem>
        <file title="Final Project Demonstration Schedule - Campus">../cse686/projects/FinalProjDemoSchedCampusSu06.doc</file>, 
        <file title="Final Project Demonstration Schedule - Rome">../cse686/projects/FinalProjDemoSchedRomeSu06.doc</file>
      </litem>
      <litem>
        Our TA, Murat, has prepared some demos that provide help for the final project.<p />
        <ulist>
          <litem>datagrid design notes</litem>
          <litem>an smtp mailer</litem>
          <litem>an HTML validator demo</litem>
        </ulist>
        I've placed them all in
        <ifile title="cse686/code/MuratsFinalProjectDemos">../cse686/code/MuratsFinalProjectDemos</ifile>.
      </litem>
-->
    </ulist>
  </section>
  
  <section title="Course Scope:">
  Comparative Platforms examines web programming models on both client and server sides for three different
  platforms.  
  <olist>
    <litem>
      A fairly simple web infrastructure based on 
      <b>LAMP:</b> Linux (OS), Apache (WebServer), MySQL (database), and PHP (server-side programming)
    </litem>
    <litem>
      An event-based programming model provided by <b>ASP.Net</b> - Active Server Pages, with 
      Windows (OS), IIS (Webserver), SQLserver (database), and C# (server-side programming)
    </litem>
    <litem>
      An enterprise oriented infrastrature provided by <b>Java EE5</b> - Java Server Pages running on Linux (OS)
      with open source web server and database provided as part of the enterprise suite and Java (server-side programming).
      This is the most complex of the three platforms.
    </litem>
  </olist>
  A Web client is usually a browser, but may also be a custom application.  Servers usually serve
  out web pages, but may also host web services, using a Remote Procedure Call (RPC) model.
  We will examine all these models and build code to implement them.
  <p/>
  Several laboratory exercises and presentations are required, as well as a large final project.  In this
  project you will create a web site that serves web pages and provides web services.  Your 
  clients will be both browsers and custom applications.
  </section>
 
  <section title="Required Texts and Notes:"/>
  <olist>
    <litem>
      Web Database Applications with PHP and MySQL, 2nd Edition, Williams and Lane, O'Reilly, 2004,
      ISBN 0-596-00543-1
    </litem>
    <litem>
      Pro ASP.NET 2.0 in C# 2005, MacDonald and Szpuszta, Apress, 2005,
      ISBN 1-59059-496-7
    </litem>
    <litem>
      TBD
    </litem>
    <litem>
      References available in Sci-Tech Library:<p />
      <ulist>
        <litem>
          Bulletproof Web Design, Dan Cederholm, New Riders, 2006, ISBN 0-321-34693-9
        </litem>
        <litem>
          The Zen of CSS, Shea and Holzschlag, New Riders, 2005, ISBN 0-321-30347-4
        </litem>
        <litem>
          DOM Scripting, Jeremy Keith, Apress, 2005, ISBN 1-59059-533-5
        </litem>
      </ulist>
    </litem>
    <litem>
      Class Notes, available on 
      <ilink title="www.ecs.syr.edu/faculty/fawcett/handouts/cse686">www.ecs.syr.edu/faculty/fawcett/handouts/cse686</ilink>
    </litem>
    <litem>
      <file title="Web References">Webdev.xml</file>
    </litem>
  </olist>
 
  <section title="Supplementary Texts and Notes:"/>
  <olist>
    <litem>
      Programming Microsoft .Net, Jeff Prosise, Microsoft Press, 2002,
      ISBN 0-7356-1376-1
    </litem>
  </olist>
 
  <section title="Prerequisites:"/>
  <block>
  Students are expected to have a working knowledge of either C# or Java.  By putting in extra time with the tutorial
  references you can make up for deficiencies in your knowledge of these languages.
  </block>
  
<!--
  <file title="Presentation Schedule - Main Campus">../cse686/presentations/cse686PresentationScheduleMC.doc</file>
  <file title="Presentation Schedule - Rome Center">../cse686/presentations/cse686PresentationScheduleRome.doc</file>
-->
  <section title="Syllabus, Summer 2007:"/>
  <ind><note>Lectures and labs, shown here, are being revised</note>, some content changed, and some content moved to other days.
  The final schedule should appear here shortly before classes begin.</ind>
  <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="Lect #1">../cse691/lectures/cse691codeL1.xml</ifile>
        <br/>May 24
      </ld>
      <ld>
        Course Requirements, Syllabus, 
        Web programming models,
        Hello world in HTML, CSS, Javascript, PHP, ASP, and Java.
        <ilink title="Handouts">www.ecs.syr.edu/faculty/fawcett/handouts/CSE691</ilink>
      </ld>
      <ld>Web Notes</ld>
      <cd><ifile title="Lab #1">../CSE691/assignments/assignment1.xml</ifile></cd>
    </lecture>
    <lecture>
      <ld>
        <ifile title="Lect #2">../cse691/lectures/cse691codeL2.xml</ifile>
        <br/>May 31
      </ld>
      <ld>
        Java EE5 Environment, Facilities, and Examples
      </ld>
      <ld>TBD<br/>Web Notes</ld>
      <cd><ifile title="Lab #2">../CSE691/assignments/assignment2.xml</ifile></cd>
    </lecture>    
    <lecture>
      <ld>
        <ifile title="Lect #3">../cse691/lectures/cse691codeL3.xml</ifile>
        <br/>June 07
      </ld>
      <ld>Asp.Net Environment, Facilities, and Examples</ld>
      <ld>Text chaps 2-4<br/>Web Notes</ld>
      <cd><ifile title="Lab #3">../CSE691/assignments/assignment3.xml</ifile></cd>
    </lecture>
    <lecture>
      <ld>
        <ifile title="Lect #4">../cse691/lectures/cse691codeL4.xml</ifile>
        <br/>June 14
      </ld>
      <ld>PHP Environment, Facilities, and Examples</ld>
      <ld>Text Chap 13<br/>Web Notes</ld>
      <cd><ifile title="Lab #4">../CSE691/assignments/assignment4.xml</ifile></cd>
    </lecture>
    <lecture>
      <ld>
        <ifile title="Lect #5">../cse691/lectures/cse691codeL5.xml</ifile>
      <br/>June 21</ld>
      <ld>Relational data model with examples in PHP, Asp.Net, and Java</ld>
      <ld>Text chaps 5,6,9<br/>Web Notes</ld>
      <cd><ifile title="Lab #5">../CSE691/assignments/assignment5.xml</ifile></cd>
    </lecture>
    <lecture>
      <ld>
        <ifile title="Lect #6">../cse691/lectures/cse691codeL6.xml</ifile>
      <br/>June&#160;28</ld>
      <ld>Web Services with PHP, Asp.Net, and Java Examples</ld>
      <ld>Text Chap 12<br/>Web Notes</ld>
      <cd><ifile title="Lab #6">../CSE691/assignments/assignment6.xml</ifile></cd>
    </lecture>
    <lecture>
      <ld>
        <ifile title="Lect #7">../cse691/lectures/cse691codeL7.xml</ifile>
      <br/>July 05</ld>
      <ld>Examples of WebApp/DB and WebService/WebClient applications in Java, C#, and PHP</ld>
      <ld>Text chap 5, 6, 9, 11<br/>Web Notes</ld>
      <cd><ifile title="Lab #7">../CSE691/assignments/assignment7.xml</ifile></cd>
    </lecture>
    <lecture>
      <ld>
        <ifile title="Lect #8">../cse691/lectures/cse691codeL8.xml</ifile>
      <br/>July 12</ld>
      <ld>Ajax and other selected topics</ld>
      <ld>Text Chap 12<br/>Web Notes</ld>
      <cd><ifile title="Lab #8">../CSE691/assignments/assignment8.xml</ifile></cd>
    </lecture>
    <lecture>
      <ld>
        <ifile title="Lect #9">../cse691/lectures/cse691codeL9.xml</ifile>
      <br/>July 19</ld>
      <ld>Application Security<br/>Platform comparisons<br/>Final Project status reports</ld>
      <ld>Text Chap 10<br/>Web Notes</ld>
      <cd><ifile title="Final Project">../cse691/projects/FinalProjSu07.doc</ifile></cd>
    </lecture>
    <lecture>
      <ld>
        <ifile title="Lect #10">../cse691/lectures/cse691codeL10.xml</ifile>
      <br/>July 26</ld>
      <ld>Final Project Demonstrations:<br/>
        <file title="Schedule">../cse691/projects/FinalProjDemoSchedCampusSu06.doc</file>
      </ld>
      <cd>&#160;</cd>
      <cd><ifile title="Final Project">../cse691/projects/FinalProjSu07.doc</ifile></cd>
    </lecture>
  </syllabus>
  Class meets once per week for four hours from 2:00pm to 6:00pm in 274 Link Hall.
  <hilight/>
  </visible>  
</courses>
