﻿<?xml version="1.0" encoding="utf-8" ?> 
<?xml-stylesheet type="text/xsl" href="courses.xsl" ?>
<courses name="CSE686">
 
  <btitle>CSE686</btitle>
  <theme src="CoursesTheme.css" />
  
  <visible>
  <title>CSE686 - Internet Programming</title>
  <revised>10 January 2011</revised>
  
  <hnav/>
  <cnav/>

  <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:">
    <ind>
      <ifile title="Lectures">../CSE686/Lectures/CSE686codeL1.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><br/>
      <file title="File Download ScreenShot">fileDownloads.doc</file>
      <file title="Project Upload Instructions">uploads.doc</file>
      <file title="FixingSQLLoginFailures.doc">../CSE686/presentations/FixingSQLLoginFailures.doc</file>
      <file title="Student Presentations">../CSE686/StudentPresentations</file>
      <ifile title="Final Project1">../cse686/projects/FinalProj1S11.doc</ifile>&#32;
      <ifile title="Final Project2">../cse686/projects/FinalProj2S11.doc</ifile>&#32;
      <ifile title="Final Project3">../cse686/projects/FinalProj3S11.doc</ifile><br/>
<!--
      <file title="Final Project Demo Schedule, Summer 2010">../cse686/projects/FinalProjSchedSu10.xls</file>
-->
    </ind>
  </section>
<!--
  <section title="Final Projects">
    <ulist>
      <litem>
        <ifile title="Final Project1">../cse686/projects/FinalProj1Su10.doc</ifile>&#32;
        <ifile title="Final Project2">../cse686/projects/FinalProj2Su10.doc</ifile>&#32;
        <ifile title="Final Project3">../cse686/projects/FinalProj3Su10.doc</ifile>
      </litem>
      <litem>
        <file title="Final Project Demonstration Schedule">../cse686/projects/FinalProjSchedSu10.xls</file>
      </litem>
      <litem>
        Last year's TA, Murat Gungor, 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:">
  Internet Programming examines programming models on both client and server sides.  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/>
  Eight laboratory exercises are required and completed during the second half of each class,
  under the supervision of the instructor and TA.  A large final project is also required.  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>
      Pro Asp.Net 4.0 in C# 2010, Fourth Edition, MacDonald, Freeman, and Szpuszta, Apress, 2010, ISBN 978-1-4302-2529-4
      ISBN 1-59059-893-8
    </litem>
    <litem>
      Professional Asp.Net MVC 2, Galloway, Haack, Hanselman, Guthrie, Connery, Wrox, 2010, ISBN 978-0-470-64318-1
    </litem>
    <litem>
      References available in Sci-Tech Library (availability at Rome discussed during first class):<p />
      <ulist>
        <litem>
          Bulletproof Web Design, Dan Cederholm, New Riders, 2006, ISBN 0-321-34693-9<br/>
          <link title="simplebits.com">www.simplebits.com</link>
        </litem>
        <litem>
          The Zen of CSS, Shea and Holzschlag, New Riders, 2005, ISBN 0-321-30347-4<br/>
          <link title="CSSZenGarden">www.csszengarden.com</link>
        </litem>
        <litem>
          DOM Scripting, Jeremy Keith, Apress, 2005, ISBN 1-59059-533-5<br/>
          <link title="adactio.com">adactio.com/</link>
        </litem>
      </ulist>
    </litem>
    <litem>
      References you may find useful now, or later:<p/>
      <ulist>
        <litem>
          Transcending CSS, Andy Clarke, New Riders, 2007, ISBN 0-321-41097-1<br/>
          very intersting discussion of design and implementation of pages<br/>
          <link title="StuffAndNonsense.co.uk">www.stuffandnonsense.co.uk</link>
        </litem>
        <litem>
          Learning Web Design, Jennifer Robbins, 3rd Edition, O'Reilly, 2007, ISBN 0-596-52752-7<br/>
          Good examples of page layout and design.<br/>
          <link title="LearningWebDesign.com">www.learningwebdesign.com</link>
        </litem>
        <litem>
          ppk on JavaScript, Peter-Paul Koch, New Riders, 2007, ISBN 0-321-42330-5
          A coherent and sensible, up-to-date treatment of JavaScript, emphasizing client side scripting.<br/>
          <link title="quirksmode.com">www.quirksmode.com</link>
        </litem>
        <litem>
          Beginning JavaScript Development with DOM Scripting and Ajax, Christian Heilmann, Apress, 2006, ISBN 1-59059-680-3<br/>
          Discusses both most recent standard JavaScript as well as some older constructs, browser inconsistencies, and work-arounds<br/>
          <ilink title="onlinetools.org">onlinetools.org</ilink>, <link title="wait-till-i.com-Blog">www.wait-till-i.com</link>
        </litem>
      </ulist>
    </litem>
    <litem>
      Web sites with interesting designs and designers:<p/>
      <ulist>
        <litem>
          <ilink title="alistapart.com">www.alistapart.com/</ilink>, 
          <ilink title="airbagindustries.com">www.airbagindustries.com</ilink>, 
          <ilink title="andybudd.com">www.andybudd.com</ilink>,
          <ilink title="clearleft.com">www.clearleft.com</ilink>, 
          <ilink title="boxofchocolates.ca">www.boxofchocolates.ca</ilink>, 
          <ilink title="cameronmoll.com">www.cameronmoll.com</ilink>, 
          <ilink title="clagnut.com">www.clagnut.com</ilink>, 
          <ilink title="meyerweb.com">www.meyerweb.com</ilink>, 
          <ilink title="zeldman.com">www.zeldman.com</ilink>
        </litem>
      </ulist>
    </litem>
    <litem>
      Reference sites:<p/>
      <ulist>
        <litem>
          <ilink title="W3schools.com">www.w3schools.com</ilink>, 
          <ilink title="htmldog.com">www.htmldog.com</ilink>, 
          <ilink title="sitepoint.com">reference.sitepoint.com/css</ilink>, 
          <ilink title="quirksmode.org">www.quirksmode.org/compatibility.html</ilink>,
          <ilink title="meyerweb.com">meyerweb.com/eric/css/references/index.html</ilink> 
        </litem>
      </ulist>
    </litem>
    <litem>
      Odds and Ends:<p/>
      <ulist>
        <litem>
          <ilink title="html to css">tom.me.uk/html-to-css/</ilink>, 
          <ilink title="Web colors">www.w3schools.com/Html/html_colors.asp</ilink>
         </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>
      <ifile title="Web References">Webdev.xml</ifile>, 
      <ilink title="quickstarts">quickstarts.asp.net/QuickStartv20/aspnet/Default.aspx</ilink>
    </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.  The Teaching Assistant
  will provide help sessions for those without this background.
  </block>
  
  <!-- <file title="Presentation Schedule">../cse686/presentations/cse686PresentationScheduleSu07.doc</file> -->

  <section title="Syllabus, Spring 2011:"/>
  This content is being reorganized to fit the 14 week Spring schedule, as it was previously taught in the 10 week Summer sessions.  It probably will only get finalized as we use it.
  <html><a name="Syllabus"/></html>
  <syllabus>
    <syllHeading>
      <sd>Lecture</sd>
      <hd>Topics</hd>
      <hd>Read before class</hd>
      <hd>Labs</hd>
    </syllHeading>
    <lecture>
      <cd>
        <ifile title="Lect #1">../CSE686/lectures/cse686codeL1.xml</ifile>
        <br/>Wed, Jan 19
      </cd>
      <ld>
        Course Requirements,
        <ifile title="Final Projects">../cse686/projects</ifile>, 
        Syllabus, Web Context,
        Web programming models, Preview of
        XHTML, CSS, JavaScript,<br/>
        ASP, client and server side scripting, handling events,<br/>
        <ilink title="Handouts">www.ecs.syr.edu/faculty/fawcett/handouts/CSE686</ilink>
      </ld>
      <ld>Web Notes</ld>
      <cd>
        <ifile title="Lab #1">../CSE686/assignments/assignment1.xml</ifile>
      </cd>
    </lecture>
    <lecture>
      <cd>
        <ifile title="Lect #2">../cse686/lectures/cse686codeL2.xml</ifile>
        <br/>Wed, Jan 26
      </cd>
      <ld>
        Structuring pages with HTML, HTML5, CSS, and Javascript,<br/> 
        <ifile title="Classic Web Programming">../CSE686/presentations/First.html</ifile>
      </ld>
      <ld>Web Notes</ld>
      <cd><ifile title="Lab #2">../CSE686/assignments/assignment2.xml</ifile></cd>
    </lecture>    
    <lecture>
      <cd>
        <ifile title="Lect #3">../cse686/lectures/cse686codeL3.xml</ifile>
        <br/>Wed, Feb 02
      </cd>
      <ld>
        Asp.Net, hosting controls on web pages, C# review, Linq
      </ld>
      <ld>Text #1 chaps 1-4<br/>Web Notes</ld>
      <cd><ifile title="Lab #3">../CSE686/assignments/assignment3.xml</ifile></cd>
    </lecture>    
    <lecture>
      <cd>
        <ifile title="Lect #4">../cse686/lectures/cse686codeL4.xml</ifile>
        <br/>Wed, Feb 09
      </cd>
      <ld>Server-side programming with ASP.net, WebForms</ld>
      <ld>Text #1 chaps 3-6<br/>Web Notes</ld>
      <cd><ifile title="Lab #4">../CSE686/assignments/assignment4.xml</ifile></cd>
    </lecture>
    <lecture>
      <cd>
        <ifile title="Lect #5">../cse686/lectures/cse686codeL5.xml</ifile>
        <br/>Wed, Feb 16
      </cd>
      <ld>Asp.Net Model-View-Controller (MVC)</ld>
      <ld>
        Text #2 chap 1<br/>Web Notes
      </ld>
      <cd>
        <ifile title="Lab #5">../CSE686/assignments/assignment5.xml</ifile>
      </cd>
    </lecture>
    <lecture>
      <cd>
        <ifile title="Lect #6">../cse686/lectures/cse686codeL6.xml</ifile>
        <br/>Wed, Feb 23
      </cd>
      <ld>Asp.Net Model-View-Controller (MVC)</ld>
      <ld>
        Text #2 chaps 3-6<br/>Web Notes
      </ld>
      <cd>
        <ifile title="Lab #6">../CSE686/assignments/assignment6.xml</ifile>
      </cd>
    </lecture>
    <lecture>
      <cd>
        <ifile title="Lect #7">../cse686/lectures/cse686codeL7.xml</ifile>
        <br/>Wed, Mar 02
      </cd>
      <ld>XML, XSL, XPath, XML islands, Linq for XML</ld>
      <ld>Text #1 Chaps 13-14<br/>Web Notes</ld>
      <cd><ifile title="Lab #7">../CSE686/assignments/assignment7.xml</ifile></cd>
    </lecture>
    <lecture>
      <cd>
        <ifile title="Lect #8">../cse686/lectures/cse686codeL8.xml</ifile>
      <br/>Wed, Mar 09</cd>
      <ld>Relational Data Model, SQL Server</ld>
      <ld>Text #1 Chaps 7-8<br/>Web Notes</ld>
      <cd><ifile title="Lab #8">../CSE686/assignments/assignment8.xml</ifile></cd>
    </lecture>
    <emlecture>
      <cd>
        Wed, Mar 16
      </cd>
      <ld>Spring Break</ld>
      <ld>
        No Classes
      </ld>
      <cd>
      </cd>
    </emlecture>
    <lecture>
      <cd>
        <ifile title="Lect #9">../cse686/lectures/cse686codeL9.xml</ifile>
        <br/>Wed, Mar 23
      </cd>
      <ld>Accessing server-side data with ADO.net, Linq and SQL Server</ld>
      <ld>
        Text #1 chaps 7-8, 13<br/>Web Notes
      </ld>
      <cd>
        <ifile title="Lab #9">../CSE686/assignments/assignment9.xml</ifile>
      </cd>
    </lecture>
    <lecture>
      <cd>
        <ifile title="Lect #10">../cse686/lectures/cse686codeL10.xml</ifile>
        <br/>Wed, Mar 30
      </cd>
      <ld>Web Services, and WCF</ld>
      <ld>
        Web Notes
      </ld>
      <cd>
        <ifile title="Lab #10">../CSE686/assignments/assignment10.xml</ifile>
      </cd>
    </lecture>
    <lecture>
      <cd>
        <ifile title="Lect #11">../cse686/lectures/cse686codeL11.xml</ifile>
        <br/>Wed, Apr 06
      </cd>
      <ld>WCF invoked from client side</ld>
      <ld>
        Web Notes
      </ld>
      <cd>
        <ifile title="Lab #11">../CSE686/assignments/assignment11.xml</ifile>
      </cd>
    </lecture>
    <lecture>
      <cd>
        <ifile title="Lect #12">../cse686/lectures/cse686codeL12.xml</ifile>
        <br/>Wed, Apr 13
      </cd>
      <ld>Silverlight</ld>
      <ld>
        Text #1 Chaps 30, 34<br/>Web Notes
      </ld>
      <cd>
        <ifile title="Lab #12">../CSE686/assignments/assignment11.xml</ifile>
      </cd>
    </lecture>
    <lecture>
      <cd>
        <ifile title="Lect #13">../cse686/lectures/cse686codeL13.xml</ifile>
        <br/>Wed, Apr 20
      </cd>
      <ld>Ajax</ld>
      <ld>
        Text #1 Chap 30<br/>Web Notes
      </ld>
      <cd>
        <ifile title="Lab #13">../CSE686/assignments/assignment11.xml</ifile>
      </cd>
    </lecture>
    <emlecture>
      <cd>
        <ifile title="Lect #14">../cse686/lectures/cse686codeL14.xml</ifile>
        <br/>Wed, Apr 27
      </cd>
      <ld>
        Present Final Projects: CST 4-116B (my lab)<br/>
        <file title="Final Project Demonstration Schedule">../cse686/projects/FinalProjectDemosSp11.xlsx</file>
      </ld>
      <cd>&#160;</cd>
      <cd>
        <ifile title="Final Projects">../cse686/projects</ifile>
      </cd>
    </emlecture>
    <emlecture>
      <cd>
        <ifile title="Lect #15">../cse686/lectures/cse686codeL14.xml</ifile>
        <br/>Wed, May 04
      </cd>
      <ld>
        Present Final Projects: CST 4-116B (my lab)<br/>
        <file title="Final Project Demonstration Schedule">../cse686/projects/FinalProjectDemosSp11.xlsx</file>
      </ld>
      <cd>&#160;</cd>
      <cd>
        <ifile title="Final Projects">../cse686/projects</ifile>
      </cd>
    </emlecture>
    <emlecture>
      <cd>
        <ifile title="Lect #16">../cse686/lectures/cse686codeL14.xml</ifile>
        <br/>Thur, May 05
      </cd>
      <ld>
        Present Final Projects: CST 4-116B (my lab)<br/>
        <file title="Final Project Demonstration Schedule">../cse686/projects/FinalProjectDemosSp11.xlsx</file>
      </ld>
      <cd>&#160;</cd>
      <cd>
        <ifile title="Final Projects">../cse686/projects</ifile>
      </cd>
    </emlecture>
  </syllabus>
  Class meets once per week for three hours, Wed 9:30am - 12:30pm, in CST 4-201.
  <hilight/>
<!--
  <html><img src="students\ip3.jpg" width="100%" /></html>
  <hilight/>
  <html><center>
    <input type="button"
           onClick="window.open(
             'students/ip10.jpg',null,
             'width=450,height=650,top=100,left=100,status=no,toolbar=no,scrollbars=yes,menubar=no'
           )" value="vishal"></input>
    <input type="button"
           onClick="window.open(
             'students/ip11.jpg',null,
             'width=600,height=550,top=100,left=100,status=no,toolbar=no,scrollbars=yes,menubar=no'
           )" value="Murat &amp; Vijay"></input>
    <input type="button"
           onClick="window.open(
             'students/ip2.jpg',null,
             'width=450,height=650,top=100,left=100,status=no,toolbar=no,scrollbars=yes,menubar=no'
           )" value="Carmen"></input>
    <input type="button"
           onClick="window.open(
             'students/ip9.jpg',null,
             'width=450,height=650,top=100,left=100,status=no,toolbar=no,scrollbars=yes,menubar=no'
           )" value="Rohit Misar"></input>
    <input type="button"
           onClick="window.open(
             'students/ip6.jpg',null,
             'width=650,height=650,top=100,left=100,status=no,toolbar=no,scrollbars=yes,menubar=no'
           )" value="Shruti, Vaidehi, &amp; Preeti"></input>
    <input type="button"
           onClick="window.open(
             'students/ip12.jpg',null,
             'width=450,height=700,top=100,left=100,status=no,toolbar=no,scrollbars=yes,menubar=no'
           )" value="Ghanashyam"></input>
    <input type="button"
           onClick="window.open(
             'students/ip13.jpg',null,
             'width=450,height=650,top=100,left=100,status=no,toolbar=no,scrollbars=yes,menubar=no'
           )" value="Pankaj"></input>
    <input type="button"
           onClick="window.open(
             'students/ipRohitJ.bmp',null,
             'width=600,height=660,top=100,left=100,status=no,toolbar=no,scrollbars=yes,menubar=no'
           )" value="Rohit Jhangiani"></input>
    <input type="button"
           onClick="window.open(
             'students/ipPriyaa.jpg',null,
             'width=550,height=600,top=100,left=100,status=no,toolbar=no,scrollbars=yes,menubar=no'
           )" value="Priyaa"></input>
    <input type="button"
           onClick="window.open(
             'students/ip15.jpg',null,
             'width=500,height=700,top=100,left=100,status=no,toolbar=no,scrollbars=yes,menubar=no'
           )" value="Amit"></input>
    <input type="button"
           onClick="window.open(
             'students/ip16.jpg',null,
             'width=500,height=700,top=100,left=100,status=no,toolbar=no,scrollbars=yes,menubar=no'
           )" value="Peter"></input>
    <input type="button"
           onClick="window.open(
             'students/ip17.jpg',null,
             'width=500,height=700,top=100,left=100,status=no,toolbar=no,scrollbars=yes,menubar=no'
           )" value="Shruti"></input>
    <input type="button"
           onClick="window.open(
             'students/ipTAsupport.jpg',null,
             'width=550,height=600,top=100,left=100,status=no,toolbar=no,scrollbars=yes,menubar=no'
           )" value="TA Support"></input>
  </center></html>
  <hilight/>
-->
  </visible>  
</courses>
