﻿<?xml version="1.0" encoding="utf-8" ?> 
<?xml-stylesheet type="text/xsl" href="../../webpages/courses.xsl" ?>
<!--
/////////////////////////////////////////////////////////////////////////////
//  CSE681codeL3.xml - provides links Lecture #4 materials                 //
//                     on the ECS college server                           //
//                                                                         //
//  Jim Fawcett, CST 2-187, Syracuse University, jfawcett@twcny.rr.com     //
/////////////////////////////////////////////////////////////////////////////
-->

<courses name="Fawcett">

  <btitle>CSE681 Lecture #4</btitle>
  <theme src="../../webpages/CodeTheme.css" />

  <visible>
  <title>CSE681 - Software Modeling and Analysis</title>
  <subtitle>Lecture #4 - C#</subtitle>
  <revised>31 May 2009</revised>
  
  <hilight>
    <ifile title="Home">../../webpages/FawcettHome.xml</ifile>&#32;
    <ifile title="Courses">../../webpages/Courses.xml</ifile>&#32;
    <ifile title="Code">../../webpages/Code.xml</ifile>&#32;
    <ilink title="Handouts">www.ecs.syr.edu/faculty/fawcett/handouts</ilink>&#32;
    <ifile title="CoreTech">../../webpages/CoreTechnologies.xml</ifile>&#32;
    <ifile title="Books">../../webpages/Books.xml</ifile>&#32;
    <ifile title="Articles">../../webpages/Articles.xml</ifile>&#32;
    <ifile title="Math">../../webpages/Mathematics.xml</ifile>&#32;
    <ifile title="Research">../../webpages/research.xml</ifile>&#32;
    <ifile title="Masters Projects">../../webpages/MastersProjects.xml</ifile>&#32;
    <ifile title="SWDev">../../webpages/swdev.xml</ifile>&#32;
    <ifile title="WebDev">../../webpages/webdev.xml</ifile>&#32;
    <ifile title="News">../../webpages/news.xml</ifile>&#32;
    <ifile title="OtherLinks">../../webpages/OtherLinks.xml</ifile>&#32;
    <ifile title="SiteDesign">../../webpages/SiteDesign.xml</ifile>&#32;
    <ifile title="Graduates">../../webpages/graduates.xml</ifile>&#32;
    <ifile title="AllPages">../../webpages/AllPages.xml</ifile>&#32;
    <ifile title="Office Hours">../../webpages/OfficeHours.xml</ifile>&#32;
    <notice title="Notices">../../webpages/notices.xml</notice>&#32;
    <html><a href="#contents">Contents</a></html>&#32;
  </hilight>

  <!-- <include src="CoursesNavBar.xml"/> -->

  <hilight>
    <ifile title="CSE681-SWMAA">../../webpages/CSE681.xml</ifile>&#32;
    <ifile title="CSE686-IP">../../webpages/CSE686.xml</ifile>&#32;
    <ifile title="CSE687-OOD">../../webpages/CSE687.xml</ifile>&#32;
    <ifile title="CSE775-DO">../../webpages/CSE775.xml</ifile>&#32;
    <ifile title="CSE776-DP">../../webpages/CSE776.xml</ifile>&#32;
    <ifile title="CSE778-AWP">../../webpages/CSE778.xml</ifile>&#32;
    <ifile title="CSE784-SWS">../../webpages/CSE784.xml</ifile>
  </hilight>

  <hilight>
    <ifile title="Lecture #01">../Lectures/CSE681CodeL1.xml</ifile>&#32;
    <ifile title="Lecture #02">../lectures/CSE681CodeL2.xml</ifile>&#32;
    <ifile title="Lecture #03">../Lectures/CSE681CodeL3.xml</ifile>&#32;
    <ifile title="Lecture #04">../Lectures/CSE681CodeL4.xml</ifile>&#32;
    <ifile title="Lecture #05">../Lectures/CSE681CodeL5.xml</ifile>&#32;
    <ifile title="Lecture #06">../Lectures/CSE681CodeL6.xml</ifile>&#32;
    <ifile title="Lecture #07">../Lectures/CSE681CodeL7.xml</ifile>&#32;<br/>
    <ifile title="Lecture #08">../Lectures/CSE681CodeL8.xml</ifile>&#32;
    <ifile title="Lecture #09">../Lectures/CSE681CodeL9.xml</ifile>&#32;
    <ifile title="Lecture #10">../Lectures/CSE681CodeL10.xml</ifile>&#32;
    <ifile title="Lecture #11">../Lectures/CSE681CodeL11.xml</ifile>&#32;
    <ifile title="Lecture #12">../Lectures/CSE681CodeL12.xml</ifile>&#32;
    <ifile title="Lecture #13">../Lectures/CSE681CodeL13.xml</ifile>&#32;
    <ifile title="Lecture #14">../Lectures/CSE681CodeL14.xml</ifile>&#32;<br/>
    <ifile title="Lecture #15">../Lectures/CSE681CodeL15.xml</ifile>&#32;
    <ifile title="Lecture #16">../Lectures/CSE681CodeL16.xml</ifile>&#32;
    <ifile title="Lecture #17">../Lectures/CSE681CodeL17.xml</ifile>&#32;
    <ifile title="Lecture #18">../Lectures/CSE681CodeL18.xml</ifile>&#32;
    <ifile title="Lecture #19">../Lectures/CSE681CodeL19.xml</ifile>&#32;
    <ifile title="Lecture #20">../Lectures/CSE681CodeL20.xml</ifile>&#32;
    <ifile title="Other Notes">../Lectures/CSE681CodeL21.xml</ifile>&#32;
  </hilight>
  
  <hilight>
    <html><a href="#Contents">Contents</a></html>&#32;
    <html>
      <a href="../../webpages/cse681.xml#Syllabus">Syllabus</a>
    </html>&#32;
  </hilight>
  
  <section title="Web Resources:">
      <ilink title="UML">bdn.borland.com/article/0,1410,31863,00.html</ilink>&#32;
      <ilink title="XML,&#160;HTML">www.w3schools.com</ilink>&#32;
      <ilink title="Code&#160;Project">www.codeproject.com/</ilink>&#32;
      <ilink title="Microsoft&#160;Developer's&#160;Network">www.msdn.microsoft.com</ilink>&#32;
      <ilink title="DevelopMentor">www.develop.com/devresources/default.aspx</ilink>&#32;
      <ilink title="XML">xml.com</ilink>&#32;
      <ilink title="Sells&#160;Brothers">sellsbrothers.com</ilink>&#32;
      <ilink title="Windows&#160;Developer's&#160;Journal">www.wdj.com</ilink>&#32;
      <ilink title="WindowsClient.net">windowsclient.net//</ilink>&#32;
      <ilink title="DotNetJunkies">www.dotnetjunkies.com</ilink>&#32;
      <ilink title="dotnet quickstart tutorials">www.learnasp.com/quickstart/</ilink>&#32;
      <ilink title="C#&#160;Corner">www.c-sharpcorner.com</ilink>&#32;
      <ilink title="Mono&#160;Project">www.go-mono.com</ilink>&#32;
      <ilink title="Performance&#160;Counters">msdn.microsoft.com/en-us/library/w8f5kw2e(VS.71).aspx</ilink>&#32;
  </section>
  
  <isection title="Office Hours: ">
    <ifile title="Instructor &amp; TAs">../../webpages/officeHours.xml</ifile>
  </isection>
  
  <section title="Content:">
    <html><a name="Contents" id="Syllabus"/></html>
    This lecture is an introduction to the C# programming language and WinForms-based windows
    programs.  We will cover the basic C# language, some of its unique features, and present several 
    examples.  Following a break we will discuss creating Windows Applications using WinForms, again
    presenting several examples.

    <ind>
      <section title="C# Tutorials">
      <link title="MSDN C# ref">msdn.microsoft.com/library/default.asp?url=/library/en-us/cscon/html/vcoriCStartPage.asp</link>
      <link title="University of Linz C# Tutorial">www.ssw.uni-linz.ac.at/Teaching/Lectures/CSharp/Tutorial/</link>
      <link title="MSDN - getting started with C#">msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaa/html/getstart_vcsharp.asp</link>
      <link title="Win32 API to .Net Map">www.msdn.microsoft.com/vstudio/default.aspx?pull=/library/en-us/dndotnet/html/win32map.asp</link>
      <ifile title="Intro to C# Tutorial">../tutorials/IntroCSharp.ppt</ifile> and 
      <ifile title="Advanced C# Tutorial">../tutorials/AdvCSharp.ppt</ifile>
      </section>
    </ind>

    <olist>
      <litem>
        <html>
          The <a href="../../webpages/CSE681.xml#Syllabus">Syllabus</a> describes topics to be covered,
          reading material for you to digest <u>before coming to class</u>, and due dates
          for the assigned projects.
        </html>
      </litem>
      <litem>
        <file title="Visual Studio HelpSession Fall 2008 Code">../Code/HelpSessionF08</file>
      </litem>
      <litem>
        <ifile title="Project Upload instructions">../../uploads.doc</ifile>
      </litem>
      <litem>
        <ifile title="Project #1">../projects/Pr1su09.doc</ifile>, 
        <ifile title="Project #2">../projects/Pr2su09.doc</ifile>
      </litem>
      <litem>
        Project #2 Helpers:<p/>
        <ifile title="CSParser">../code/CSParser</ifile>, 
        <ifile title="Navigate with Delegates">../../coretechnologies/CSharp/code/NavigateWithDelegates</ifile>, 
        <ifile title="Command Line Parsing">../code/Commandline</ifile>, 
        <ifile title=".Net Containers">../../CoreTechnologies/CSharp/code/NetContainers</ifile>
      </litem>
<!--
      <litem>
       <file title="C# Tokenizer">../code/CSToker</file>
       For Project #2 testing, I've placed a folder CSToker in CSE681/code, that contains a tokenizer. If run on a text file 
       it pulls out individual words. To understand that, you may wish to download the folder, and run the tokenizer on its 
       own source code. 
       <p/>
       You are asked to add the ability to extract C and C++ comments as single tokens (not currently implemented but not
       terribly difficult), using your test harness to test and demonstrate that capability.
      </litem>
      <litem>
        <file title="Pr2 Help Prototype">../code/Pr2Help</file>
        This solution illustrates tokenizing, forming useful collections of tokens for analysis, and formation of a grammar.
      </litem>
      <litem>
        <file title="Hello World in C#">../code/HelloWorld</file>
      </litem>
      <litem>
        <file title="Grammar Issues for Project #2">../code/Pr2Help/GrammarIssues.doc</file>
      </litem>
      <litem>
        Detecting data declarations:
        <olist>
          <litem>
            remove prefix operators, e.g., * (pointers in unsafe code)
          </litem>
          <litem>
            remove postfix operators, e.g., = (initializing an array) and everything that follows
          </litem>
          <litem>
            remove all modifier keywords
          </litem>
          <litem>
            what is left is a type and a name
          </litem>
        </olist>
        <file title="C# Keywords">../presentations/CSharpKeyWords.doc</file>
        <file title="Grammar Prototype">../code/CSGrammar</file>
      </litem>
-->
      <litem>
        C# Language Help:<p/>
        <ilink title="quickstarts">www.learnasp.com/quickstart/howto/</ilink>, 
        <ilink title="Univ Lintz Tutorial">www.ssw.uni-linz.ac.at/Teaching/Lectures/CSharp/Tutorial/</ilink>, 
        <ifile title=".Net Framework Library">../presentations/NetFramework.ppt</ifile>
      </litem>
      <litem>
        From last lecture:<p/>
        <ifile title="Demo Command Line and File Handling">../../CoreTechnologies/CSharp/Code/CommandLine</ifile>, 
        <ifile title="Delegate Structure">../../CoreTechnologies/CSharp/Code/delegateDemos/delegateStructure.vsd</ifile>, 
        <ifile title="Delegates Demos">../../CoreTechnologies/CSharp/Code/delegateDemos</ifile>, 
        <ifile title="Navigate Directory Trees">../../CoreTechnologies/CSharp/Code/Navigate</ifile>, 
        <ifile title="Navigate with Delegates">../../CoreTechnologies/CSharp/Code/NavigateWithDelegates</ifile>
      </litem>
      <litem>
        <file title="conversions Demo">../../Coretechnologies/CSharp/code/conversions</file>
      </litem>
      <litem>
        <file title="Type Testing and Coercions Demo">../../Coretechnologies/CSharp/code/TestingAndCoercingTypes</file>
      </litem>
      <litem>
        <file title="LINQ Queries on Collections">../../Coretechnologies/CSharp/code/LinqExamples</file>
      </litem>
      <litem>
        <file title="LINQ to XML">../../Coretechnologies/CSharp/code/LinqExamples</file>
      </litem>
      <litem>
        <file title="Using Dynamic Link Libraries (DLLs)">../code/DynamicLinkLibraries</file>
        Shows how to build and execute dynamic link libraries - make sure you study both the code
        and comments in this demonstration.
      </litem>
      <litem>
        <file title="Programming in C#">../presentations/CSharpProgramming.ppt</file>
      </litem>
<!--
      <litem>
        <file title="Interface-based Programming">../code/InterFaceBased</file>
        This solution illustrates how to build a program composed with an executive and components on which it depends.
      </litem>
-->
      <litem>
        <ilink title="Basic C# and Forms Tutorials">www.functionx.com/csharp/index.htm</ilink>,&#160;
        <ilink title="GotDotNet Forms Tutorial">www.learnasp.com/quickstart/winforms/</ilink>,&#160;
      </litem>
      <litem>
        <file title="Basic Windows Programming - Core Technologies">../../coretechnologies/windowsprogramming.xml</file>
      </litem>
      <litem>
        <file title="Basic Windows Presentation">../../CoreTechnologies/WindowsProgramming/presentations/IntroductionToWindows.ppt</file>
      </litem>
      <litem>
        <file title="Basic Windows Demos">../../CoreTechnologies/WindowsProgramming/Code/basicWindows</file>
      </litem>
<!--
      <litem>
        <file title="Pr2HelperF05">../code/Project2HelperF05</file>
      </litem>
-->
      <litem>
        <file title="C# Form Demo">../../CoreTechnologies/WindowsProgramming/code/CSharpWinForm</file>
      </litem>
      <litem>
        <file title="Form with Browse Control">../../CoreTechnologies/WindowsProgramming/code/demoCppWinForm</file>
      </litem>
      <p/><hr/>
    </olist>
  </section>  
  </visible>
</courses>
