<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://132.161.132.157/drupal6"  xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>Computer Science - programming languages</title>
 <link>http://132.161.132.157/drupal6/taxonomy/term/25/0</link>
 <description></description>
 <language>en</language>
<item>
 <title>CS Extra 4/19/2018: Research in Programming Languages</title>
 <link>http://132.161.132.157/drupal6/node/972</link>
 <description>&lt;p&gt;Thursday, April 19, 2018&lt;br /&gt;
4:15 p.m. in Science 3821&lt;br /&gt;
Refreshments at 4:00 p.m. in the Computer Science Commons (Science 3817)&lt;/p&gt;

&lt;p&gt;Student presentations on programming languages from summer research with Peter-Michael Osera.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Scythe—Converting Myth to the Haskell Programming Languages&lt;/strong&gt;, Liat Berkowitz, Dhruv Phumbhra, Andrew Mack, and Zachary Susag&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Blorca—A Blocks-based Languages for Proof&lt;/strong&gt;, Myles Becker, Addison Gould, Hadley Luker, and Eli Most&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ToadStool—First-class Typestate via Polymorphic References&lt;/strong&gt;, Jonathan Sadun&lt;/li&gt;
&lt;/ul&gt;</description>
 <comments>http://132.161.132.157/drupal6/node/972#comments</comments>
 <category domain="http://132.161.132.157/drupal6/taxonomy/term/25">programming languages</category>
 <category domain="http://132.161.132.157/drupal6/taxonomy/term/148">student research</category>
 <category domain="http://132.161.132.157/drupal6/taxonomy/term/42">Thursday Extras</category>
 <pubDate>Thu, 19 Apr 2018 14:03:24 +0000</pubDate>
 <dc:creator>petersos</dc:creator>
 <guid isPermaLink="false">972 at http://132.161.132.157/drupal6</guid>
</item>
<item>
 <title>CS Table 12/5/17: Esoteric Programming Languages</title>
 <link>http://132.161.132.157/drupal6/node/946</link>
 <description>&lt;p&gt;We’ll wrap up our semester with a fun topic for CS Table: Esoteric Programming Languages. These programming languages are intentionally designed to be complex, confusing, or funny, and often offer some clever commentary on the real programming languages we use. &lt;/p&gt;

&lt;p&gt;&lt;em&gt;Computer science table (CS Table) is a weekly meeting of Grinnell College community members (students, faculty, staff, etc.) interested in discussing topics related to computing and computer science. CS Table meets Tuesdays from 12:00–1:00pm in JRC &lt;strong&gt;224A&lt;/strong&gt; (inside the Marketplace). Contact the CS faculty for the weekly reading. Students on meal plans, faculty, and staff are expected to cover the cost of their meals. Visitors to the College and students not on meal plans can charge their meals to the department (sign in at the JRC front desk).&lt;/em&gt;&lt;/p&gt;</description>
 <comments>http://132.161.132.157/drupal6/node/946#comments</comments>
 <category domain="http://132.161.132.157/drupal6/taxonomy/term/41">CS Table</category>
 <category domain="http://132.161.132.157/drupal6/taxonomy/term/25">programming languages</category>
 <pubDate>Mon, 04 Dec 2017 14:50:16 +0000</pubDate>
 <dc:creator>petersos</dc:creator>
 <guid isPermaLink="false">946 at http://132.161.132.157/drupal6</guid>
</item>
<item>
 <title>Thursday Extra 11/2/17: Build your own programming language</title>
 <link>http://132.161.132.157/drupal6/node/940</link>
 <description>&lt;p&gt;Thursday, November 2, 2017&lt;br /&gt;
4:15 p.m. in Science 3821&lt;br /&gt;
Refreshments at 4:00 p.m. in the Computer Science Commons (Science 3817)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Building your own programming language and other reasons to go to graduate school&lt;/strong&gt; is presented by Eric Van Wyk from the University of Minnesota.&lt;/p&gt;
&lt;p&gt;To motivate a discussion on graduate school opportunities, Van Wyk will describe some of his group&#039;s work on techniques and tools that allow programmers to construct their own programming language, either from independently-developed domain-specific language extensions or by developing language extensions from scratch.  Such extensions can provide new syntax and semantic analyses that address the computational task at hand. His specific interest has been on techniques to ensure that one can pick and choose these extensions with some assurance that this collection will in fact work well together.&lt;/p&gt;
&lt;p&gt;
Research work like this is indicative of what one can do in graduate school in computer science, be it in programming languages, robotics, machine learning, systems, graphics, visualization, bioinformatics, or a plethora of other areas. One has the time and opportunity to dive deeply into an area of interest and push the boundaries of what is possible.  Van Wyk will describe what graduate school is like, both generally and specifically at the University of Minnesota and, hopefully, encourage to consider graduate school as part of your future.&lt;/p&gt;</description>
 <comments>http://132.161.132.157/drupal6/node/940#comments</comments>
 <category domain="http://132.161.132.157/drupal6/taxonomy/term/648">extensible language</category>
 <category domain="http://132.161.132.157/drupal6/taxonomy/term/330">graduate school</category>
 <category domain="http://132.161.132.157/drupal6/taxonomy/term/647">language extensions</category>
 <category domain="http://132.161.132.157/drupal6/taxonomy/term/25">programming languages</category>
 <category domain="http://132.161.132.157/drupal6/taxonomy/term/42">Thursday Extras</category>
 <pubDate>Fri, 27 Oct 2017 18:40:16 +0000</pubDate>
 <dc:creator>petersos</dc:creator>
 <guid isPermaLink="false">940 at http://132.161.132.157/drupal6</guid>
</item>
<item>
 <title>CS Table 12/13: One Line Programs</title>
 <link>http://132.161.132.157/drupal6/node/903</link>
 <description>&lt;p&gt;At this CS Table we will run and decipher a collection of interesting one line programs. Short programs can be surprising, mind-bending, elegant, infuriatingly clever, or all of the above. We&#039;ll follow a relaxed format, where we will look at a new program, run it on a few examples, then try to figure out how it does what it does.&lt;/p&gt;

&lt;p&gt;If you have any programs you would like to contribute, please send them to Prof. Curtsinger via email. All programming languages are welcome. We&#039;re happy to bend the definition of &quot;one line&quot; in many cases, but do try to stick to programs that are concise.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Computer science table (CS Table) is a weekly meeting of Grinnell College community members (students, faculty, staff, etc.) interested in discussing topics related to computing and computer science. CS Table meets Tuesdays from 12:00-1:00pm in JRC 224B.  Contact the CS faculty for the weekly reading. Students on meal plans, faculty, and staff are expected to cover the cost of their meals. Visitors to the College and students not on meal plans can charge their meals to the department.&lt;/em&gt;&lt;/p&gt;</description>
 <comments>http://132.161.132.157/drupal6/node/903#comments</comments>
 <category domain="http://132.161.132.157/drupal6/taxonomy/term/41">CS Table</category>
 <category domain="http://132.161.132.157/drupal6/taxonomy/term/132">Programming</category>
 <category domain="http://132.161.132.157/drupal6/taxonomy/term/25">programming languages</category>
 <pubDate>Thu, 08 Dec 2016 22:21:08 +0000</pubDate>
 <dc:creator>petersos</dc:creator>
 <guid isPermaLink="false">903 at http://132.161.132.157/drupal6</guid>
</item>
<item>
 <title>CS Table 11/8: The State of JavaScript</title>
 <link>http://132.161.132.157/drupal6/node/895</link>
 <description>&lt;p&gt;On November 8 in CS Table, we will discuss the state of JavaScript, the language running inside your browser. This is a programming language that seemingly ignores virtually all of the wisdom garnered in programming language design over the last half century, and yet it has a huge devoted fan base and enormous impact worldwide. We&#039;ll talk about some of the amusing quirks in JavaScript, briefly dive into the world in which JavaScript developers must operate, and speculate about why JavaScript has still been so successful. As always, you do not need any experience with JavaScript to participate in this discussion.&lt;/p&gt;

&lt;p&gt;Readings: 
&lt;ul&gt;&lt;li&gt;First, we have an imaginary dialogue between a new JavaScript user and an experienced developer. &lt;a href=&quot;https://hackernoon.com/how-it-feels-to-learn-javascript-in-2016-d3a717dd577f&quot;&gt;
How it feels to learn JavaScript in 2016. Jose Aguinaga.&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Next, we have an article that should have the title &quot;Ten astonishing things you never knew JavaScript would do to your values&quot;. &lt;a href=&quot;https://javascriptweblog.wordpress.com/2011/02/07/truth-equality-and-javascript/&quot;&gt;Truth, Equality, and JavaScript. Angus Croll.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;And finally, the always-hilarious James Mickens on the horrors of web development. This was a suggested read last year, so you may have seen it already. &lt;a href=&quot;http://scholar.harvard.edu/files/mickens/files/towashitallaway.pdf&quot;&gt;To Wash It All Away. James Mickens. USENIX &lt;em&gt;;login: logout&lt;/em&gt;.&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Computer science table (CS Table) is a weekly meeting of Grinnell College community members (students, faculty, staff, etc.) interested in discussing topics related to computing and computer science. CS Table meets Tuesdays from 12:00-1:00pm in JRC 224B.  Contact the CS faculty for the weekly reading. Students on meal plans, faculty, and staff are expected to cover the cost of their meals. Visitors to the College and students not on meal plans can charge their meals to the department.&lt;/em&gt;&lt;/p&gt;</description>
 <comments>http://132.161.132.157/drupal6/node/895#comments</comments>
 <category domain="http://132.161.132.157/drupal6/taxonomy/term/41">CS Table</category>
 <category domain="http://132.161.132.157/drupal6/taxonomy/term/604">JavaScript</category>
 <category domain="http://132.161.132.157/drupal6/taxonomy/term/25">programming languages</category>
 <pubDate>Fri, 04 Nov 2016 13:41:53 +0000</pubDate>
 <dc:creator>petersos</dc:creator>
 <guid isPermaLink="false">895 at http://132.161.132.157/drupal6</guid>
</item>
<item>
 <title>Thursday Extra on 11/5: Professor Walker on MyroC 3.0</title>
 <link>http://132.161.132.157/drupal6/node/838</link>
 <description>&lt;p&gt;
November 5 at 4:15 pm in Science 3821&lt;br /&gt;
Refreshments served at 4:00 in the CS Commons&lt;br /&gt;
Everyone is welcome
&lt;/p&gt;
&lt;p&gt;
Professor Henry M. Walker will present &quot;MyroC 3.0: Update, Portability, Non-blocking, Threads, Processes, Coordination.&quot;
&lt;/p&gt;

&lt;blockquote&gt;
The MyroC project provides infrastructure and materials to allow the use of Scribbler 2 robots to support CSC 161, a course exploring imperative problem solving with C programming.  The original work, now designated MyroC.1.0, was built upon a C++ package developed at the University of Tennessee at Knoxville and incorporated into CSC 161 in Fall 2011. Due to issues in portability from Linux to other platforms, work started on a C-based infrastructure in Fall 2013 and was incorporated into CSC 161 in Spring 2015.  Through versions MyroC.2.1-MyroC.2.4, the revised package provided several revised commands with both blocking and non-blocking options for robot movement and image display.  Although written in Standard C, further refinements could improve efficiency, add functionality, and facilitate portability. This fall, a new MyroC.3.0 is being developed which will refine several previous commands, improve efficiency, and utilize different Standard-C libraries, yielding an infrastructure that will run on both Linux and Mac OS X platforms. Focusing on MyroC.3.0, this talk will highlight several new features and then focus on how concepts from operating systems and parallel processing (e.g., topics covered in CSC 213) are required to implement these new or updated features. Specific topics to be considered will include threads, processes, mutex semaphores, and synchronization via message passing.&lt;/blockquote&gt;</description>
 <comments>http://132.161.132.157/drupal6/node/838#comments</comments>
 <category domain="http://132.161.132.157/drupal6/taxonomy/term/25">programming languages</category>
 <category domain="http://132.161.132.157/drupal6/taxonomy/term/326">robots</category>
 <category domain="http://132.161.132.157/drupal6/taxonomy/term/42">Thursday Extras</category>
 <pubDate>Fri, 30 Oct 2015 19:43:01 +0000</pubDate>
 <dc:creator>petersos</dc:creator>
 <guid isPermaLink="false">838 at http://132.161.132.157/drupal6</guid>
</item>
<item>
 <title>Programming (and other) Languages CS Majors Should Learn</title>
 <link>http://132.161.132.157/drupal6/languages</link>
 <description>&lt;p&gt;&lt;strong&gt;The page is currently in very rough form&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;
  Although the philosophical community is not agreed on Putnam&#039;s claim that the natural language you speak affects your thoughts, it&#039;s clear that the programming language you use affects how you solve problems.  (The traditional aphorism for this view is &lt;q&gt;If the only tool you have is a hammer, everything looks like a nail&lt;/q&gt;.)  Strong computer science students therefore regularly look to learn new languages.  This page provides a quick list of programming languages that SamR thinks you should learn.
&lt;/p&gt;

&lt;h3&gt;Essentials&lt;/h3&gt;

&lt;p&gt;
  &lt;strong&gt;Scheme&lt;/strong&gt; (or other dialect of Lisp).  The functional paradigm is an incredibly powerful approach to expressing algorithms.  The abilities to design your own control structures and to use higher-order techniques empowers programmers in many ways.  The functional paradigm is also increasingly relevant.  For example, Amazon and Google use map-reduce as a core technique in much of their work with large data sets, and most modern languages now seem to include a functional component.  As importantly, Scheme has a syntax that easily lets you treat the same expression as either data or code.  Being able to switch between models is a transformative way to think about programs.
&lt;/p&gt;

&lt;p&gt;
  &lt;strong&gt;C&lt;/strong&gt;.  Being able to program in C means that you can start to approach your code at a level close to the machine - you can&#039;t program well in C unless you understand memory arrangement.  There have been some arguments that students no longer need to handle things at this level, and you can clearly write programs more quickly if you use a higher-level language.  Nonetheless, understanding pointers, data representation, and more is useful.  C&#039;s syntax also influences a large number of languages.
&lt;/p&gt;

&lt;p&gt;
  &lt;strong&gt;Java&lt;/strong&gt;.
&lt;/p&gt;

&lt;p&gt;
  &lt;strong&gt;Postscript&lt;/strong&gt;.  Postscript is a stack-based language (think of reverse Polish notation on steroids) with a focus on making images.  You don&#039;t need deep understanding of Postscript.  But working in a language with this model (and with a fairly simple syntax) can really transform your thinking.  Plus, you get to make cool images.
&lt;/p&gt;

&lt;p&gt;
  &lt;strong&gt;Python&lt;/strong&gt; or &lt;strong&gt;Ruby&lt;/strong&gt;.  Some modern scripting language.
&lt;/p&gt;

&lt;p&gt;
  &lt;strong&gt;HTML&lt;/strong&gt; and &lt;strong&gt;CSS&lt;/strong&gt;.  These are not programming languages; they are markup languages.  But you should know at least one markup language.  Knowing HTML also lets you do quick Web consulting jobs.  (Yeah, that&#039;s a practical issue.)
&lt;/p&gt;

&lt;h3&gt;Additional&lt;/h3&gt;

&lt;p&gt;
  &lt;strong&gt;TeX&lt;/strong&gt; or &lt;strong&gt;LaTeX&lt;/strong&gt;.  Like HTML, TeX and LaTex are markup languages, not programming languages.
&lt;/p&gt;

&lt;p&gt;
  &lt;strong&gt;Perl&lt;/strong&gt;
&lt;/p&gt;
</description>
 <category domain="http://132.161.132.157/drupal6/taxonomy/term/465">paradigms</category>
 <category domain="http://132.161.132.157/drupal6/taxonomy/term/25">programming languages</category>
 <category domain="http://132.161.132.157/drupal6/taxonomy/term/14">Scheme</category>
 <pubDate>Thu, 12 Sep 2013 16:42:52 +0000</pubDate>
 <dc:creator>rebelsky</dc:creator>
 <guid isPermaLink="false">648 at http://132.161.132.157/drupal6</guid>
</item>
<item>
 <title>CSC 312 - Programming Language Implementation</title>
 <link>http://132.161.132.157/drupal6/courses/csc312</link>
 <description>&lt;p&gt;
CSC 312 is a proposed new course in Grinnell&#039;s computer science curriculum.  It will be a two-credit course that replaces our existing CSC 302, Programming Languages, and CSC 362, Compilers.
&lt;/p&gt;

&lt;p&gt;
Because our multi-paradigm introductory sequence covers many of the core topics in a traditional programming languages course, the new CSC 312 will focus on the implementation of programming languages, primarily through interpretation.  It will include some study of syntax (regular expressions and BNF-style grammars) and semantics.  It will likely cover the first half of Friedman and Wand&#039;s &lt;i&gt;Essentials of Programming Languages&lt;/i&gt;.
&lt;/p&gt;

&lt;h3&gt;Current Offering&lt;/h3&gt;

&lt;p&gt;
&lt;em&gt;No current offering&lt;/em&gt;
&lt;/p&gt;

&lt;h3&gt;Learning Outcomes&lt;/h3&gt;

&lt;p&gt;
&lt;em&gt;Forthcoming: Learning outcomes from Computer Science Curricula 2013&lt;/em&gt;
&lt;/p&gt;

&lt;h3&gt;Previous Offerings&lt;/h3&gt;

&lt;p&gt;
&lt;em&gt;No previous offerings.&lt;/em&gt;
&lt;/p&gt;</description>
 <category domain="http://132.161.132.157/drupal6/taxonomy/term/8">classes</category>
 <category domain="http://132.161.132.157/drupal6/taxonomy/term/7">courses</category>
 <category domain="http://132.161.132.157/drupal6/taxonomy/term/25">programming languages</category>
 <category domain="http://132.161.132.157/drupal6/taxonomy/term/14">Scheme</category>
 <pubDate>Tue, 06 Aug 2013 19:17:42 +0000</pubDate>
 <dc:creator>rebelsky</dc:creator>
 <guid isPermaLink="false">632 at http://132.161.132.157/drupal6</guid>
</item>
<item>
 <title>Thursday Extra: &quot;Building a platform for modern systems research&quot;</title>
 <link>http://132.161.132.157/drupal6/node/617</link>
 <description>&lt;p&gt;
On Thursday, April 18, Brooks Davis will discuss the architecture of new computers designed for research into computer systems and networks:
&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;
A team of more than thirty researchers from SRI International and the University of Cambridge have spent the last two years developing a pair of clean-slate processor designs and a supporting set of operating systems and programming language extensions.  The primary goal of this work is increasing our ability to compartmentalize important -- but risky -- applications such as web browsers at a much finer scale than currently possible. Secondary goals include modernizing the process of hardware design, raising the bar for CPU research, and developing a platform for future work. This talk will discuss our goals in detail and our progress toward building a research platform to support them.
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;
Refreshments will be served at 4:15 p.m. in the Computer Science Commons (Noyce 3817).  The talk, &amp;ldquo;Building a platform for modern systems research,&amp;rdquo; will follow at 4:30 p.m. in Noyce 3821.  Everyone is welcome to attend!
&lt;/p&gt;
</description>
 <comments>http://132.161.132.157/drupal6/node/617#comments</comments>
 <category domain="http://132.161.132.157/drupal6/taxonomy/term/23">architecture</category>
 <category domain="http://132.161.132.157/drupal6/taxonomy/term/209">computer networks</category>
 <category domain="http://132.161.132.157/drupal6/taxonomy/term/366">modularity</category>
 <category domain="http://132.161.132.157/drupal6/taxonomy/term/24">operating systems</category>
 <category domain="http://132.161.132.157/drupal6/taxonomy/term/436">processor design</category>
 <category domain="http://132.161.132.157/drupal6/taxonomy/term/25">programming languages</category>
 <category domain="http://132.161.132.157/drupal6/taxonomy/term/56">research labs</category>
 <pubDate>Mon, 15 Apr 2013 16:11:00 +0000</pubDate>
 <dc:creator>stone</dc:creator>
 <guid isPermaLink="false">617 at http://132.161.132.157/drupal6</guid>
</item>
<item>
 <title>Algorithmic arts / CS Table: A programming language for artists</title>
 <link>http://132.161.132.157/drupal6/node/598</link>
 <description>&lt;p&gt;
This Friday at Algorithmic Arts (+ CS Table), we will consider some portions of John Maeda&#039;s book &lt;i&gt;Design by numbers&lt;/i&gt;, which provides a simple programming language for artists.
&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;
Meada, John (1999).  &lt;i&gt;Design by numbers&lt;/i&gt;.  Cambridge, MA: MIT Press.
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;
The sections include the preface and introduction, a chapter on repetition, and two chapters on dots.  There are also a number of images from the book.
&lt;/p&gt;

&lt;p&gt;
For folks who haven&#039;t been to CS table lately, this reading gives us some opportunity to talk about language design issues as well as artistic issues.
&lt;/p&gt;

&lt;p&gt;
Copies of the readings are available outside Professor Rebelsky&#039;s office.  Kate and Tolu will lead our discussion and have asked participants to consider the following questions:
&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How might you create the images from the book (not the ones with the accompanying code)?
&lt;/li&gt;&lt;li&gt;What&#039;s the smallest set of functions you would need to make these images?&lt;/li&gt;
&lt;/ul&gt;
</description>
 <comments>http://132.161.132.157/drupal6/node/598#comments</comments>
 <category domain="http://132.161.132.157/drupal6/taxonomy/term/389">art and computing</category>
 <category domain="http://132.161.132.157/drupal6/taxonomy/term/41">CS Table</category>
 <category domain="http://132.161.132.157/drupal6/taxonomy/term/25">programming languages</category>
 <pubDate>Fri, 16 Nov 2012 21:08:02 +0000</pubDate>
 <dc:creator>stone</dc:creator>
 <guid isPermaLink="false">598 at http://132.161.132.157/drupal6</guid>
</item>
</channel>
</rss>
