<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://connect.educause.edu" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd">
<channel>
 <title>EDUCAUSE | Computer Science</title>
 <link>http://connect.educause.edu/browse/content/blog/1263</link>
 <image>
    <title>EDUCAUSE CONNECT</title> 
    <link>http://connect.educause.edu/browse/content/blog/1263</link> 
    <url>http://connect.educause.edu/educause/images/e_rss.png</url> 
 </image>

  <itunes:subtitle>events, concepts, and conversation from EDUCAUSE</itunes:subtitle>
  <itunes:author>The EDUCAUSE Podcast Crew</itunes:author>
  <itunes:summary>EDUCAUSE is a nonprofit association whose mission is to advance higher education by promoting the intelligent use of information technology.  Our podcasts provide information about a range of topics including Leadership, Policy and Law, Teaching and Learning, Emerging Technologies, Open Source, Research Computing, Cyberinfrastructure, and Digitial Libraries. </itunes:summary>
  <itunes:new-feed-url>http://connect.educause.edu/browse/content/node/691/list/feed</itunes:new-feed-url>
  <itunes:image href="http://connect.educause.edu/educause/images/e_rss.png" />
  <itunes:category text="Education">
  	<itunes:category text="Education Technology"/>
  	<itunes:category text="Higher Education"/>
  </itunes:category>
  <itunes:category text="Technology">
  	<itunes:category text="Tech News"/>
  </itunes:category>

 <description>Recent blog entries tagged with Computer Science.</description>
 <language>en</language>

<item>
 <title>CNI Podcast: nanoHUB.org: Future Cyberinfrastructure - An Interview with George B. Adams III</title>
 <link>http://connect.educause.edu/display/46670</link>
 <description>&lt;p&gt;This podcast features an interview with &lt;a href=&quot;http://cobweb.ecn.purdue.edu/~gba/&quot;&gt;George B. Adams III&lt;/a&gt;, Associate Director for Programs, Network for Computational Nanotechnology at Purdue University. Our interview was recorded at the CNI 2008 Spring Task Force Meeting in Minneapolis, Minnesota.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://www.nanohub.org&quot;&gt;nanoHUB&lt;/a&gt; provides users with &amp;#8220;fingertip access&amp;#8221; to over 70 simulation tools for research and education. Users not only launch jobs that are executed on the state-of-the-art computational facilities of Open Science Grid and TeraGrid, but also interactively visualize and analyze the results--all via an ordinary Web browser. nanoHUB middleware hides the complexity of Grid computing, handling authentication, authorization, file transfer, and visualization, and letting the researcher focus on research. This approach also helps educators bring these tools to the classroom, letting them bypass the difficulties of Grid computing and focus instead on learning science and engineering.&lt;/p&gt;&lt;hr style=&quot;width: 100%; height: 2px;&quot; /&gt;&lt;p class=&quot;indent&quot;&gt;&lt;img align=&quot;left&quot; alt=&quot;&quot; src=&quot;http://connect.educause.edu/UserFiles/Image/mpasiewicz/cni_small.png&quot; /&gt;This interview is provided courtesy of &lt;a href=&quot;http://www.cni.org/&quot;&gt;CNI&lt;/a&gt; and was recorded at their &lt;a href=&quot;http://www.cni.org/tfms/2008a.spring/index.html&quot;&gt;2008 Fall Task Force Meeting&lt;/a&gt;.&amp;#160; The Coalition for Networked Information (CNI) is an organization dedicated to supporting the transformative promise of networked information technology for the advancement of scholarly communication and the enrichment of intellectual productivity.&amp;#160; You can learn more about CNI at their web site, &lt;a href=&quot;http://www.cni.org/&quot;&gt;http://www.cni.org&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://connect.educause.edu/display/46670#comments</comments>
 <enclosure url="http://connect.educause.edu/files/gbayne_adams-cni08.mp3" length="10770100" type="audio/mpeg" />
 <category domain="http://connect.educause.edu/tag/CNI2008spring/6206">CNI2008spring</category>
 <category domain="http://connect.educause.edu/tag/Computer+Science/1263">Computer Science</category>
 <category domain="http://connect.educause.edu/tag/Information+Access+Management/153">Information Access Management</category>
 <category domain="http://connect.educause.edu/tag/Middleware/380">Middleware</category>
 <category domain="http://connect.educause.edu/tag/nanohub/1505">nanohub</category>
 <category domain="http://connect.educause.edu/tag/nanotechnology/835">nanotechnology</category>
 <category domain="http://connect.educause.edu/tag/Neat+Tools/1462">Neat Tools</category>
 <category domain="http://connect.educause.edu/tag/Podcasts/691">Podcasts</category>
 <category domain="http://connect.educause.edu/tag/Research+and+Reporting/78">Research and Reporting</category>
 <category domain="http://connect.educause.edu/tag/Scholarly+Communication/568">Scholarly Communication</category>
 <category domain="http://connect.educause.edu/tag/Tools/1494">Tools</category>
 <category domain="http://connect.educause.edu/tag/Web+Services/435">Web Services</category>
 <pubDate>Fri, 25 Apr 2008 14:57:26 -0500</pubDate>
 <dc:creator>gbayne</dc:creator>
 <guid isPermaLink="false">46670 at http://connect.educause.edu</guid>
</item>
<item>
 <title>The difference between standards and programming languages</title>
 <link>http://connect.educause.edu/display/2546</link>
 <description>&lt;p&gt;I&#039;ve seen some confusion recently about the differences between standards and programming languages. &lt;/p&gt;&lt;h2&gt;Standards&lt;/h2&gt;&lt;p&gt;A standard is a document which describes the structure, layout and meaning of something. Materials that follow the description are said to comply with the standard. The &lt;a href=&quot;http://www.chicagomanualofstyle.org/index.html&quot;&gt;The Chicago Manual of Style&lt;/a&gt; is a standard for laying out certain kinds of print on the page. &lt;a href=&quot;http://en.wikipedia.org/wiki/ASCII&quot;&gt;ASCII&lt;/a&gt; and &lt;a href=&quot;http://www.unicode.org/&quot;&gt;Unicode&lt;/a&gt; are standards for representing strings of characters. &lt;a href=&quot;http://en.wikipedia.org/wiki/SGML&quot;&gt;SGML&lt;/a&gt; and &lt;a href=&quot;http://www.w3.org/MarkUp/html-spec/html-spec_toc.html&quot;&gt;HTML&lt;/a&gt;  which is based on it, are standards, as are their successors  &lt;a href=&quot;http://www.w3.org/TR/2006/REC-xml-20060816/&quot;&gt;XML&lt;/a&gt; and &lt;a href=&quot;http://www.w3.org/TR/xhtml1/&quot;&gt;XHTML&lt;/a&gt; respectively.  &lt;/p&gt;&lt;p&gt;Open standards are standards under the control of ``impartial&#039;&#039; groups and freely usable without patent infringement or licencing costs. Organisations such as the &lt;a href=&quot;http://www.iso.org/iso/en/&quot;&gt;International Organization for Standardization/International Standardization Organization (ISO)&lt;/a&gt;, the  &lt;a href=&quot;http://www.itu.int/home/index.html&quot;&gt;International Telecommunication Union (ITU)&lt;/a&gt; and the &lt;a href=&quot;http://www.ieee.org/&quot;&gt;Institute of Electrical and Electronics Engineers (IEEE)&lt;/a&gt; define open standards. Open standards you may use regularly include: the design of electrical plugs, which allow different manufacturer&#039;s appliances to plug into each other; international telephone system, which allows you to dial telephones across the world irrespective of the manufacturers of telephone at the other end or the exchanges between you; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Data_Encryption_Standard&quot;&gt;DES&lt;/a&gt;/&lt;a href=&quot;http://en.wikipedia.org/wiki/Advanced_Encryption_Standard&quot;&gt;AES&lt;/a&gt; encryption which allow banks to communicate securely, and enable wire rather than physical money transfers. &lt;/p&gt;&lt;p&gt;Closed standards are standards under the control of a company or partisan group and are commonly limited through the use of copyright, trade secrets, encryption, patents and licence fees. &lt;/p&gt;&lt;p&gt;The line between impartial and partisan is not clean-cut, and even impartial groups can be the subject of lobbying and politics. &lt;/p&gt;&lt;p&gt;Only very rarely does a standard (usually a closed standard) specify a licence under which instances (usually documents) may be distributed.&lt;/p&gt;&lt;h2&gt;Software&lt;/h2&gt;&lt;p&gt;The programming languages &lt;a href=&quot;http://www.open-std.org/jtc1/sc22/wg14/&quot;&gt;C&lt;/a&gt;, &lt;a href=&quot;http://www.open-std.org/jtc1/sc22/wg21/&quot;&gt;C++&lt;/a&gt; and &lt;a href=&quot;http://www.schemers.org/Documents/Standards/R5RS/&quot;&gt;Scheme&lt;/a&gt;&amp;nbsp; have standards specifying their structure layout and meaning. The programming language &lt;a href=&quot;http://www.perl.com/&quot;&gt;Perl&lt;/a&gt; is not a standard, because the implementation rather than a document defines the structure, layout and meaning of the language. All programming languages with a standard (that I&#039;m aware of) use other&amp;nbsp; standards by reference. The C language uses the ASCII standard. Java uses the more modern Unicode standard. The XSLT programming language goes one step further and uses the XML standard.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;There is quite a body of theoretical and practical research on programming languages, one key result is the &lt;a href=&quot;http://en.wikipedia.org/wiki/Church-Turing_thesis&quot;&gt;Church-Turing thesis&lt;/a&gt;, which illustrates that all possible programming languages belong to an equivalence class and thus give us a test to determine what is (or is not) a programming language. &lt;/p&gt;Informally the Church-Turing thesis states that our notion of algorithm can be made precise and programming languages can encode those algorithms. Furthermore, an algorithm can be represented in any programming language; in other words, all ordinary programming languages are equivalent to each other in terms of theoretical computational power, and it is not possible to build a programming language that is more powerful than the simplest programming language. (Note that this formulation of power disregards practical factors such as speed or memory capacity; it considers all that is theoretically possible, given unlimited time and memory.) [Adapted from  &lt;a href=&quot;http://en.wikipedia.org/wiki/Church-Turing_thesis&quot;&gt;Church-Turing thesis&lt;/a&gt; on Wikipedia, on the basis that a programming language is a form of virtual machine.]&lt;p&gt; &lt;/p&gt;&lt;p&gt;Software written in programming languages largely falls into two categories, programs which are end-user useful pieces of software and libraries which are collections of tools used by one or more program or library to get work done. &lt;a href=&quot;http://www.mozilla.com/thunderbird/&quot;&gt;Thunderbird&lt;/a&gt;, &lt;a href=&quot;http://office.microsoft.com/en-gb/FX010857991033.aspx&quot;&gt;Word&lt;/a&gt; and &lt;a href=&quot;http://usa.autodesk.com/adsk/servlet/index?siteID=123112&amp;amp;id=2704278&quot;&gt;AutoCAD&lt;/a&gt; are programs.  &lt;a href=&quot;http://www.nag.co.uk/numeric/CL/CLdescription.asp&quot;&gt;NAG&lt;/a&gt; and &lt;a href=&quot;http://gcc.gnu.org/libstdc++/&quot;&gt;libstdc++&lt;/a&gt; are libraries.&lt;br /&gt;&lt;br /&gt;Some programs and libraries are released under an open source licence, which allows others to use the software under various (but generally fairly liberal) conditions. Programs and libraries have subtly different licencing requirements, because a library is largely useless by itself but must be combined with other software. Licences which are not open source are side to be proprietary. Open source compilers and interpreters for open standard programming languages are common, and indeed this is the field from&amp;nbsp; the open source and free software movement originate, but&amp;nbsp; proprietary&amp;nbsp; implementations of open standard programming languages are also possible.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Some of these distinctions get broken down on the Web, where users don&#039;t necessarily see the difference between  &lt;a href=&quot;http://en.wikipedia.org/wiki/Javascript&quot;&gt;JavaScript&lt;/a&gt; (a language) and &lt;a href=&quot;http://en.wikipedia.org/wiki/Cascading_Style_Sheets&quot;&gt;CSS&lt;/a&gt; (not a language), until they release that the current palaver over &lt;a href=&quot;http://en.wikipedia.org/wiki/Ajax_%28programming%29&quot;&gt;AJAX&lt;/a&gt; arose precisely because &lt;a href=&quot;http://en.wikipedia.org/wiki/Javascript&quot;&gt;JavaScript&lt;/a&gt; is a programming language and was embedded at the ``right place&#039;&#039; in the browser to be extended in ways never thought of by the original authors. This property of apparent infinite extensibility is common to all programming languages.&lt;/p&gt;&lt;p&gt;The following formats used on the Internet are programming languages:  JavaScript, &lt;a href=&quot;http://en.wikipedia.org/wiki/Xslt&quot;&gt;XSLT&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Adobe_Flash&quot;&gt;Flash&lt;/a&gt;, Microsoft Word files (with macros), &lt;a href=&quot;http://en.wikipedia.org/wiki/Open_office&amp;amp;&quot;&gt;OpenOffice&lt;/a&gt; files (with macros), &lt;a href=&quot;http://en.wikipedia.org/wiki/PostScript&quot;&gt;PostScript&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Java_%28programming_language%29&quot;&gt;Java&lt;/a&gt; and AJAX (actually a use of JavaScript).&lt;/p&gt;&lt;p&gt;The following formats used on the Internet are not programming languages:  CSS, HTML, XHTML, XML (even though XSLT, which is written in XML is a programming language), &lt;a href=&quot;http://en.wikipedia.org/wiki/Docbook&quot;&gt;DocBook.&lt;/a&gt;, &lt;a href=&quot;http://www.tei-c.org/&quot;&gt;TEI&lt;/a&gt;, Microsoft Word files (without macros), OpenOffice files (without macros) and &lt;a href=&quot;http://en.wikipedia.org/wiki/PDF&quot;&gt;PDF (Portable Document Format)&lt;/a&gt;.&lt;/p&gt;cheers, stuart</description>
 <comments>http://connect.educause.edu/display/2546#comments</comments>
 <category domain="http://connect.educause.edu/tag/Computer+Science/1263">Computer Science</category>
 <category domain="http://connect.educause.edu/tag/Open+Source/131">Open Source</category>
 <category domain="http://connect.educause.edu/tag/Programming+Languages/440">Programming Languages</category>
 <category domain="http://connect.educause.edu/tag/World+Wide+Web/109">World Wide Web</category>
 <pubDate>Mon, 11 Sep 2006 06:55:45 -0500</pubDate>
 <dc:creator>StuartYeates</dc:creator>
 <guid isPermaLink="false">2546 at http://connect.educause.edu</guid>
</item>
<item>
 <title>Java 5 catches up with C#</title>
 <link>http://connect.educause.edu/display/1686</link>
 <description>&lt;p&gt;I have just returned from &lt;a href=&quot;http://www.barrycornelius.com/papers/java5/&quot;&gt;Java 5 catches up with C#&lt;/a&gt; by  Barry Cornelius, a talk he gave here at the &lt;a href=&quot;http://www.oucs.ox.ac.uk/rts/&quot;&gt;RTS&lt;/a&gt;. I&#039;ve got to admit that while Barry is right, Java 5 is catching up with C# in the sheer number of features, I seem to disagree with him on whether this is a good thing. &lt;/p&gt;&lt;p&gt;There are, generally speaking, two ways of designing a computer programming language. The first is to take an underlying metaphor and build a language around it, adding the bear minimum number of features to it to be able to achieve everything you want to achieve. This approach is usually based on the work of very small teams and results in small, fast and efficient languages that every user needs to be re-trained to use, because none of their old ways of working can be directly adapted. The second way of designing a computer programming language is to take a list of features that might be required and build a language around them. This approach is usually based on committee or consensus decision making and results if large, slow, complex languages which anyone can use, because it supports their existing ways of working.    &lt;/p&gt;&lt;p&gt; In short, I&#039;m a fan of languages built using the former method (C, Scheme, RISC assembler, Modula-2, Java 0.1, etc) and Barry appears to be a fan of languages built using the latter model (C++, LISP, C#, Java 5, Ada, etc).   &lt;/p&gt;&lt;p&gt; But don&#039;t let that put you off the paper if you&#039;re interested in in Java and C#, because at the end of the day it&#039;s a question of &lt;strong&gt;taste&lt;/strong&gt;. &lt;/p&gt;</description>
 <comments>http://connect.educause.edu/display/1686#comments</comments>
 <category domain="http://connect.educause.edu/tag/C%2523/1264">C#</category>
 <category domain="http://connect.educause.edu/tag/Computer+Science/1263">Computer Science</category>
 <category domain="http://connect.educause.edu/tag/Java/450">Java</category>
 <pubDate>Fri, 02 Dec 2005 11:00:03 -0600</pubDate>
 <dc:creator>StuartYeates</dc:creator>
 <guid isPermaLink="false">1686 at http://connect.educause.edu</guid>
</item>
</channel>
</rss>
