<?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 - imperative</title>
 <link>http://132.161.132.157/drupal6/taxonomy/term/12/0</link>
 <description></description>
 <language>en</language>
<item>
 <title>Introductory courses</title>
 <link>http://132.161.132.157/drupal6/curriculum/intro</link>
 <description>&lt;h3&gt;&lt;a href=&quot;/drupal6/node/5&quot;&gt;Multi-paradigm Approach for Introductory Courses&lt;/a&gt; &lt;/h3&gt;

&lt;p&gt; Computing has become widespread in today&#039;s society, largely because it
helps people solve problems.  However, different types of problems require
fundamentally different approaches for problem solving.  Computer science
recognizes at least four problem-solving approaches as being fundamental to
work in the discipline.  Each approach involves a distinct way of thinking,
and each is supported by a range of computer languages.  &lt;/p&gt;

&lt;p&gt;
Grinnell&#039;s computer science curriculum explores several of these
paradigms in the beginning courses, each of which has been 
&lt;a href=&quot;/drupal6/curriculum/international-recognition&quot;&gt;named a &quot;course exemplar&quot; 
by the international professional computing societies.&lt;/a&gt;
&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
CSC 151, &lt;i&gt;Functional Problem Solving&lt;/i&gt;
&lt;ul&gt;
&lt;li&gt;emphasizes functional problem solving&lt;/li&gt;
&lt;li&gt; supported by the Scheme programming language (a dialect of LISP, a language widely used for artificial intelligence, graphical manipulations, and other applications) &lt;/li&gt;
&lt;li&gt;current application areas:  data science, digital humanities &lt;/li&gt;
&lt;li&gt;past application area:  image processing / media scripting &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;table width=&quot;100%&quot;&gt;
&lt;tr&gt;
   &lt;td style=&quot;width=25%&quot; &gt;
      &lt;img src=&quot;/drupal6/sites/default/files/kentjame-rescherer.png&quot; alt=&quot;151 image, Kent, Re-Scherer&quot; width=&quot;150px&quot; /&gt;
   &lt;/td&gt;
   &lt;td style=&quot;width=25%&quot; &gt;
       &lt;img src=&quot;/drupal6/sites/default/files/tsuiamy-millerso.png&quot; alt=&quot;151 image, Tsui, Miller&quot; width=&quot;150px&quot; /&gt;
   &lt;/td&gt;
   &lt;td style=&quot;width=25%&quot; &gt;
       &lt;img src=&quot;/drupal6/sites/default/files/mai-ha-vu-2.jpg&quot; alt=&quot;161 image, Mai Ha Vu&quot; width=&quot;150px&quot; /&gt;
   &lt;/td&gt;
   &lt;td style=&quot;width=25%&quot; &gt; 
      &lt;img src=&quot;/drupal6/sites/default/files/philippg-reischma-cantleyl.png&quot; alt=&quot;151 image, Philipp, Reischmann, Cantley&quot; width=&quot;150px&quot; /&gt;
   &lt;/td&gt;

&lt;/tr&gt;
 &lt;tr&gt;
   &lt;td align=&quot;center&quot;&gt;
       CSC 151 image by James Kent and Chris Re-Scherer, Fall&amp;nbsp;2012
   &lt;/td&gt;
   &lt;td align=&quot;center&quot;&gt;
       CSC 151 image by Amy Tsui and Solomon Miller, Spring&amp;nbsp;2010
 &lt;/td&gt;
   &lt;td align=&quot;center&quot;&gt;
       CSC 161 image by Mai Ha Vu, Fall&amp;nbsp;2012
    &lt;/td&gt;
  &lt;td align=&quot;center&quot;&gt;
      CSC 151 image by Grace Philipp, Elizabeth Reischmann, and Lauren Cantley, Fall&amp;nbsp;2009
   &lt;/td&gt;
&lt;/tr&gt;

&lt;/table&gt;

&lt;ul&gt;
&lt;li&gt; CSC 161, &lt;i&gt;Imperative Problem Solving and Data Structures&lt;/i&gt;

&lt;ul&gt;
&lt;li&gt;
studies concepts tied to the architecture of computers, compilers, and operating systems within the context of the imperative problem-solving paradigm&lt;/li&gt;
&lt;li&gt; supported by the C (a programming language widely used in scientific applications and
engineering)&lt;/li&gt;
&lt;li&gt; application area:  control of robots&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;table width=&quot;100%&quot;&gt;
&lt;tr&gt;
    &lt;td style=&quot;width=25%&quot; align=&quot;right&quot;&gt;
     Scribbler 2 robot&lt;br /&gt; (front view)
   &lt;/td&gt;
    &lt;td style=&quot;width=25%&quot; align=&quot;center&quot;&gt; 
      &lt;img src=&quot;/drupal6/sites/default/files/scribbler2-a.jpg&quot; alt=&quot;Scribbler 2 Front&quot; width=&quot;150px&quot; /&gt;
   &lt;/td&gt;
   &lt;td style=&quot;width=25%&quot; align=&quot;center&quot;&gt; 
      &lt;img src=&quot;/drupal6/sites/default/files/scribbler2-b.jpg&quot; alt=&quot;Scribbler 2 Back&quot; width=&quot;150px&quot; /&gt;
    &lt;/td&gt;
    &lt;td style=&quot;width=25%&quot; align=&quot;left&quot;&gt;
     Scribbler 2 robot&lt;br /&gt; (rear view)  
   &lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;

&lt;ul&gt;
&lt;li&gt;
CSC 207, &lt;i&gt;Algorithms and Object-Oriented Design&lt;/i&gt;
&lt;ul&gt;
&lt;li&gt; explores object-oriented problem solving &lt;/li&gt;
&lt;li&gt; supported by the Java programming language (a language widely use for large-scale applications and systems)
&lt;/li&gt;
&lt;li&gt; application area:  software development for the common good&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
&lt;img src=&quot;/drupal6/sites/default/files/20181010.classroom.computerscience.485.jpg&quot;
        alt=&quot;Student-faculty interaction during lab exercises&quot; 
        style=&quot;padding:10px; float: right&quot;
 /&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;i&gt;Students with considerable background&lt;/i&gt; should consult the computer science faculty regarding placement.  
&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
Students with strong scores on the AP CS A examination or the IB CS examination receive credit for their prior work, but placement requires discussion of their specific background.&lt;/li&gt;
&lt;li&gt;
Most incoming students find functional problem solving to be quite new and different, so they begin with CSC 151 (where no computing background is assumed).  &lt;/li&gt;
&lt;li&gt;
Students with substantial experience in imperative problem solving or object-oriented problem solving (e.g., students with AP CS A or IB CS background) may be able to skip CSC 161 or CSC 207, depending upon the extent of their background. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
&lt;a href=&quot;/drupal6/node/7&quot;&gt;Later courses&lt;/a&gt; build on this foundation 
to provide depth in each of these problem-solving paradigms and 
programming languages.
&lt;/p&gt;

&lt;br style=&quot;clear:right&quot; /&gt;

</description>
 <comments>http://132.161.132.157/drupal6/curriculum/intro#comments</comments>
 <category domain="http://132.161.132.157/drupal6/taxonomy/term/15">C</category>
 <category domain="http://132.161.132.157/drupal6/taxonomy/term/11">functional</category>
 <category domain="http://132.161.132.157/drupal6/taxonomy/term/12">imperative</category>
 <category domain="http://132.161.132.157/drupal6/taxonomy/term/16">Java</category>
 <category domain="http://132.161.132.157/drupal6/taxonomy/term/10">multi-paradigm</category>
 <category domain="http://132.161.132.157/drupal6/taxonomy/term/13">object-oriented</category>
 <category domain="http://132.161.132.157/drupal6/taxonomy/term/14">Scheme</category>
 <pubDate>Tue, 28 Jul 2009 16:29:04 +0000</pubDate>
 <dc:creator>walker</dc:creator>
 <guid isPermaLink="false">6 at http://132.161.132.157/drupal6</guid>
</item>
</channel>
</rss>
