<?xml version="1.0" encoding="utf-8" ?> 
<?xml-stylesheet type="text/xsl" href="courses.xsl" ?>
<courses name="Fawcett">

  <btitle>Student Projects</btitle>
  <theme src="ResearchTheme.css" />

  <visible>
  <title>Student Projects and Research</title>
  <revised>24 November 2009</revised>
  
  <hnav/>
  <cnav/>

  <hilight>
    <ifile title="Project Topics">Projects.xml</ifile>&#32;
    <ifile title="Master's Projects">MastersProjects.xml</ifile>&#32;
    <ifile title="Master's Theses">MastersTheses.xml</ifile>&#32;
    <ifile title="Research">research.xml</ifile>&#32;
    <ifile title="References">references.xml</ifile>&#32;
  </hilight>

  <caption>DOPL Lab - CST 4-116</caption>

  <quote source="Albert Einstein (1879-1955)">  
    If we knew what it was we were doing, it would not be called research, would it?.
  </quote>

  <html><a name="contents"/></html>

  <section title="Student Projects and Research">
    I am starting work on a book covering some of the material presented in CSE681 - Software Modeling and Analysis.
    One major thread in this book development is the architecture and construction of software running on more than one platform.
    I will be focusing on both Windows (as we now do in CSE681) and Linux (and I will probably add a little of this material to
    CSE681 course content).
    <p/>
    Several students have volunteered to help prepare background materials with me.
    These are the topics that we've discussed so far:
    <olist>
      <litem>
        Rajika Tandon: Set up Linux environment and tools, e.g., Eclipse, Gcc, Java, ...
      </litem>
      <litem>
        Grishma Kotecha: Posix Threads, download and develop getting started examples with pthreads library.
      </litem>
      <litem>
        Sankar Sundarum: Cross-Platform GUIs, download, install, and develop examples using, wxWidgets, Gnome, ...
      </litem>
      <litem>
        Santosh Naidu: C++ Monitor class for Linux and Windows
      </litem>
      <litem>
        Karthik Rajakumar: Reader/Writer toggle class for Linux and Windows, as well as other synchronizing constructs.
      </litem>
      <litem>
        Supreeth Murthy: Transforming source code to web pages using XSLT on windows and linux. Also, setting up
        small sites using Apache/Tomcat or JBoss and mySQL.
      </litem>
      <litem>
        Other topics common to both platforms and not assigned:<br/>
        C++ classes to manage shared memory, socket classes, http classes (client and listener), ... 
      </litem>
    </olist>
    Note that many of these projects could easily be expanded into interesting Master's Projects.
  </section>

  <section title="CASE related Research">
    <olist>
      <litem>
        Vipul Kandivalikar - Develop a set of software building blocks that can be applied to many of the Web-centric 
        CASE projects.  These entail developing data access and communication blocks that are not bound to one specific
        data model.
      </litem>
    </olist>
  </section>

  <section title="links for these projects and my book development">
  <hr />
  <lhilight>
    <b>Linux:</b><br/>
    <ilink title="Anatomy of Linux Kernel - IBM">www.ibm.com/developerworks/linux/library/l-linux-kernel/</ilink>&#32;
    <ilink title="Linux Internals - Moses">www.moses.uklinux.net/patches/lki.html</ilink>&#32;
    <ilink title="Browse Linux API">www.codase.com/linux.html</ilink>&#32;
    <ilink title="Linux Kernel API - Source Forge">kernelbook.sourceforge.net/kernel-api.html/</ilink>&#32;
    <ilink title="Browsable kernel poster">www.makelinux.net/kernel_map_poster</ilink>&#32;
    <ilink title="The Linux Tutorial">www.linux-tutorial.info/sitemap</ilink>&#32;
    <ilink title="Linux Man Pages">www.linuxmanpages.com/</ilink>&#32;
    <ilink title="Learn Linux">learnlinux.tsf.org.za/courses/build/internals/</ilink>&#32;
    <ilink title="Linux.com">www.linux.com</ilink>&#32;
  </lhilight>
  <lhilight>
    <b>Eclipse:</b><br/>
    <ilink title="Eclipse Tutorial">www.cs.umanitoba.ca/~eclipse/</ilink>&#32;
    <ilink title="Eclipse Help">help.eclipse.org/help32/index.jsp</ilink>&#32;
    <ilink title="Getting Started">open.ncsu.edu/se/tutorials/eclipse/</ilink>&#32;
    <ilink title="Eclipse HelloWorld in Java">www.utdallas.edu/~axg056100/EclipseTutorial.pdf/</ilink>&#32;
    <ilink title="Eclipse.Org">www.eclipse.org/</ilink>&#32;
  </lhilight>
  <lhilight>
    <b>P(osix)Threads:</b><br/>
    <ilink title="PThreads Tutorial">www.yolinux.com/TUTORIALS/LinuxTutorialPosixThreads.html</ilink>&#32;
    <ilink title="PThreads Programming">computing.llnl.gov/tutorials/pthreads/</ilink>&#32;
    <ilink title="Win32 PThreads">sources.redhat.com/pthreads-win32/</ilink>&#32;
    <ilink title="PThreads Explained">www.ibm.com/developerworks/linux/library/l-posix1.html</ilink>&#32;
    <ilink title="PThreads Presentation os2007">conferences.oreillynet.com/presentations/os2007/os_lamothe.pdf</ilink>
    <ilink title="More POSIX Threads">www.dirjournal.com/library/posix-threads.php</ilink>
  </lhilight>
  <lhilight>
    <b>Thread Synchronization - Linux and Windows:</b><br/>
    <ilink title="Anatomy of Linux Synchronization">www.ibm.com/developerworks/linux/library/l-linux-synchronization.html</ilink>&#32;
    <ilink title="Little Book of Semiphores - pdf">greenteapress.com/semaphores/downey05semaphores.pdf</ilink>&#32;
    <ilink title=".Net Thread Synchronization">msdn.microsoft.com/en-us/magazine/cc188793.aspx</ilink>&#32;
    <ilink title="Thread Synchronization Performance">msdn.microsoft.com/en-us/magazine/cc163726.aspx</ilink>&#32;
    <ilink title=".Net Thread Synchronization Presentation">www.cs.wpi.edu/~cs535/s03/weiner.ppt</ilink>&#32;
    <ilink title="Monitors and condition variables - Wikipedia">en.wikipedia.org/wiki/Monitor_(synchronization)</ilink>&#32;
    <ilink title="Simulating Condition Variables in Win32 (pre Vista)">www.cs.wustl.edu/~schmidt/win32-cv-1.html</ilink>&#32;
    <ifile title="Other links (mostly monitor related)">./docs/Links_Monitors_ConditionVars_Threads_Background.doc</ifile>&#32;
  </lhilight>
  <lhilight>
    <b>Security:</b><br/>
    <ilink title="Top 25 Most Dangerous Programming Mistakes - CodingHorror.com">www.codinghorror.com/blog/archives/001210.html</ilink>&#32;
    <ilink title="Making Security Measurable - Mitre">measurablesecurity.mitre.org/</ilink>&#32;
  </lhilight>
  <lhilight>
    <b>Other Things:</b><br/>
    <ilink title="Message-passing, RPC, Rest - Tim Ewald">www.pluralsight.com/community/blogs/tewald/archive/2007/08/26/48298.aspx</ilink>&#32;
    <ilink title="Exploiting Data Parallelism with OpenMP, MPI, and HPC Server 3008">www.pluralsight.com/community/blogs/drjoe/archive/2008/06/19/51178.aspx</ilink>&#32;
    <ilink title="Hints for Computer System Design">research.microsoft.com/en-us/um/people/blampson/33-Hints/WebPage.html</ilink>&#32;
    <ilink title="Robust Distributed Systems - pdf">www.cs.berkeley.edu/~brewer/cs262b-2004/PODC-keynote.pdf</ilink>&#32;
    <ilink title="Transactional Memory - Harris">research.microsoft.com/en-us/um/people/tharris/</ilink>&#32;
  </lhilight>
  <lhilight>
    <b>Blogs:</b><br/>
    <ilink title="Jeffrey Richter">www.wintellect.com/cs/blogs/jeffreyr/default.aspx</ilink>&#32;
    <ilink title="Jeff Prosise">www.wintellect.com/CS/blogs/jprosise/</ilink>&#32;
    <ilink title="John Robbins">www.wintellect.com/CS/blogs/jrobbins/default.aspx</ilink>&#32;
    <ilink title="Justin Smith">www.wintellect.com/CS/blogs/jsmith/default.aspx</ilink>&#32;
    <ilink title="Tim Ewald">www.pluralsight.com/community/blogs/tewald/default.aspx</ilink>&#32;
    <ilink title="Ian Griffiths">www.interact-sw.co.uk/iangblog/</ilink>&#32;
    <ilink title="Martin Gudgin">www.pluralsight.com/community/blogs/mgudgin/default.aspx</ilink>&#32;
    <ilink title="Joe Hummel">www.pluralsight.com/community/blogs/drjoe/default.aspx</ilink>&#32;
    <ilink title="Jim Johnson">www.pluralsight.com/community/blogs/jimjohn/default.aspx</ilink>&#32;
    <ilink title=""></ilink>
  </lhilight>
  </section>

  </visible>
  <p/><hr/><p/>
</courses>
