Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
courses:cs101-201804:calendar [2018/09/13 08:40]
sellis [Calendar]
courses:cs101-201804:calendar [2018/11/29 20:15]
sellis [Calendar]
Line 41: Line 41:
     <br/>     <br/>
     Introduction to the drRacket program. Poking the computer & seeing what happens.     Introduction to the drRacket program. Poking the computer & seeing what happens.
-  <td width=30% valign=top bgcolor="#aaffcc" cellpadding="8">+  <td width=30% valign=top bgcolor="#ffcccc" cellpadding="8">
     <center>7th September</center>     <center>7th September</center>
     <hr>     <hr>
Line 63: Line 63:
     <center><b>Reading</b></center>     <center><b>Reading</b></center>
     Chapters 2, 3, 4 and 5.     Chapters 2, 3, 4 and 5.
-  <td width=32% valign=top bgcolor=gray>+  <td width=32% valign=top bgcolor="#aaffcc" cellpadding="8">
     <center>13th September</center>     <center>13th September</center>
 +    <hr>
 +    Reviewing data types. Review of Scheme's computational model ('evaluate and apply'). The output of a function.
 +    The <code>printf</code> command and side-effect printing. Line breaks and substituting into printed text.
 +    What <code>lambda</code> does.
 +    <hr>
 +    <center>
 +    <a href="https://www.cs.vassar.edu/~cs101/ell-fal-2018/lecs/2018-09-13_lec.txt">Code from class</a>
 +    </center>
 +    
   <td width=34% valign=top bgcolor=gray>   <td width=34% valign=top bgcolor=gray>
     <center>14th September</center>     <center>14th September</center>
Line 76: Line 85:
   </b></font>   </b></font>
   </td>   </td>
-  <td width=32% valign=top bgcolor=gray>+  <td width=32% valign=top bgcolor="#aaffcc" cellpadding="8">
     <center>18th September</center>     <center>18th September</center>
-  <td width=32% valign=top bgcolor=gray>+    <hr> 
 +    Using <b>predicates</b> to answer yes/no questions. Arithmetic predicates. The multipurpose <code>eq?</code> function. 
 +    Shielding a datum from evaluation using the <code>quote</code> function, and its abbreviation. Beginning conditionals 
 +    and the <code>if</code> statement. 
 +    <hr> 
 +    <center> 
 +    <a href="https://www.cs.vassar.edu/~cs101/ell-fal-2018/lecs/2018-09-18_lec.txt">Code from class</a> 
 +    </center> 
 +  <td width=32% valign=top bgcolor="#aaccff" cellpadding="8">
     <center>20th September</center>     <center>20th September</center>
 +    <hr>
 +    A brief review of <code>if</code>. Using <code>cond</code> for more complex situations, including the use of
 +    <code>else</code>. Contracts, how to write them and why they are important.
 +    <hr>
 +    <center>
 +    <a href="https://www.cs.vassar.edu/~cs101/ell-fal-2018/lecs/2018-09-20_lec.txt">Code from class</a>
 +    </center>
   <td width=34% valign=top bgcolor=gray>   <td width=34% valign=top bgcolor=gray>
     <center>21st September</center>     <center>21st September</center>
Line 91: Line 115:
   </b></font>   </b></font>
   </td>   </td>
-  <td width=32% valign=top bgcolor=gray>+  <td width=32% valign=top bgcolor="#aaccff" cellpadding="8">
     <center>25th September</center>     <center>25th September</center>
-  <td width=32% valign=top bgcolor=gray>+    <hr> 
 +    Introducing recursion. Infinite loops and how to avoid them. The <code>factorial</code> function 
 +    (take 1). 
 +    <hr> 
 +    <center> 
 +    <a href="https://www.cs.vassar.edu/~cs101/ell-fal-2018/lecs/2018-09-25_lec.txt">Code from class</a> 
 +    </center> 
 +  <td width=32% valign=top bgcolor="#aaffcc" cellpadding="8">
     <center>27th September</center>     <center>27th September</center>
 +    <hr>
 +    Recursion, part 2: the Fibonacci sequence.
 +    <hr>
 +    <center><b>Reading</b></center>
 +    Review Chapter 12.
 +    <hr>
 +    <center>
 +    <a href="https://www.cs.vassar.edu/~cs101/ell-fal-2018/lecs/2018-09-27_lec.txt">Code from class</a>
 +    </center>   
   <td width=34% valign=top bgcolor=gray>   <td width=34% valign=top bgcolor=gray>
     <center>28th September</center>     <center>28th September</center>
Line 106: Line 146:
   </b></font>   </b></font>
   </td>   </td>
-  <td width=32% valign=top bgcolor=gray>+  <td width=32% valign=top bgcolor="#aaffcc" cellpadding="8">
     <center>2nd October</center>     <center>2nd October</center>
-  <td width=32% valign=top bgcolor=gray>+    <hr> 
 +    Return of conditionals. Introducing <b>boolean operators</b> <code>and</code>, <code>or</code> 
 +    and <code>not</code>, and their "truth tables"
 +    <hr> 
 +    <center> 
 +    <a href="https://www.cs.vassar.edu/~cs101/ell-fal-2018/lecs/2018-10-02_lec.txt">Code from class</a> 
 +    </center>   
 +  <td width=32% valign=top bgcolor="#aaccff" cellpadding="8">
     <center>4th October</center>     <center>4th October</center>
 +    <hr>
 +    Review of boolean operators and "truth tables". Review of predicates. Writing predicates without
 +    <code>if</code> or <code>cond</code>. Introducing <b>non-empty lists</b>. <code>first</code> and
 +    <code>rest</code>.
 +    <hr>
 +    <center>
 +    <a href="https://www.cs.vassar.edu/~cs101/ell-fal-2018/lecs/2018-10-04_lec.txt">Code from class</a>
 +    </center> 
   <td width=34% valign=top bgcolor=gray>   <td width=34% valign=top bgcolor=gray>
     <center>5th October</center>     <center>5th October</center>
Line 121: Line 176:
   </b></font>   </b></font>
   </td>   </td>
-  <td width=32% valign=top bgcolor=gray>+  <td width=32% valign=top bgcolor="#aaccff" cellpadding="8">
     <center>9th October</center>     <center>9th October</center>
-  <td width=32% valign=top bgcolor=gray+    <hr> 
-    <center>11th October</center>+    Review of how <code>if</code> and <code>cond</code> can be interchanged with <code>and</code> and <code>or</code>. Constructing lists with <code>cons</code>
 +    <hr> 
 +    <center> 
 +    <a href="https://www.cs.vassar.edu/~cs101/ell-fal-2018/lecs/2018-10-09_lec.txt">Code from class</a> 
 +    </center>  
 +  <td width=32% valign=top bgcolor="ffcc66"
 +    <center>11th October 
 +    <hr> 
 +    <b>MIDTERM REVIEW.</b><br/>Please bring questions & subjects to review. 
 +    </center>
   <td width=32% valign=top bgcolor=red>   <td width=32% valign=top bgcolor=red>
     <center>12th October     <center>12th October
Line 152: Line 216:
   </b></font>   </b></font>
   </td>   </td>
-  <td width=32% valign=top bgcolor=gray+  <td width=32% valign=top bgcolor="66ccff" cellpadding=8
-    <center>23rd October</center> +    <center>23rd October 
-  <td width=32% valign=top bgcolor=gray>+    <hr> 
 +    <b>Individual Reviews.</b> 
 +    </center> 
 +  <td width=32% valign=top bgcolor="#aaffcc" cellpadding=8>
     <center>25th October</center>     <center>25th October</center>
-  <td width=34% valign=top bgcolor=gray>+    <hr> 
 +    The <b>Default Rule</b>, formally ('evaluate and apply'). Built-in functions <i>vs.</i> <b>Special Forms</b>; 
 +    how special forms do not follow the Default Rule. 
 +    The built-in <code>eval</code> function & how drRacket applies it at each step. 
 +  <td width=34% valign=top bgcolor="#aaccff" cellpadding=8>
     <center>26th October</center>     <center>26th October</center>
 +    <hr>
 +    Introducing <b>tail recursion</b> and <b>accumulators</b>. The 'function box' as an analogy for drRacket's
 +    processing of code. <b>Wrapper functions</b> and writing contracts for them.
 +    <hr>
 +    <center>
 +    <a href="https://www.cs.vassar.edu/~cs101/ell-fal-2018/lecs/2018-10-26_lec.txt">Code from class</a>
 +    </center> 
 </tr> </tr>
  
Line 167: Line 245:
   </b></font>   </b></font>
   </td>   </td>
-  <td width=32% valign=top bgcolor=gray>+  <td width=32% valign=top bgcolor="#aaffcc" cellpadding=8>
     <center>30th October</center>     <center>30th October</center>
-  <td width=32% valign=top bgcolor=gray+    <hr> 
-    <center>31st October</center>+    Brief review of accumulators and wrapper functions. Returning to lists and list recursion. 
 +    <hr> 
 +    <center> 
 +    <b>Thinking About Programs I.</b> 
 +    </center> 
 +    <p/> 
 +    Starting from a single, simple function and an idea. Adding small improvements to our code as our ideas 
 +    change. 
 +    <hr> 
 +    <center> 
 +    <a href="https://www.cs.vassar.edu/~cs101/ell-fal-2018/lecs/2018-10-30_lec.txt">Code from class</a> 
 +    </center> 
 +     
 +  <td width=32% valign=top bgcolor="#aaccff" cellpadding=8
 +    <center>1st November</center> 
 +    <hr> 
 +    List recursion continued. Passing a function as an input to a function. <b>Mapping</b>: applying the same function to every element in a list. 
 +    Skipping items in lists. 
 +    <center> 
 +    <a href="https://www.cs.vassar.edu/~cs101/ell-fal-2018/lecs/2018-11-01_lec.txt">Code from class</a> 
 +    </center> 
 +    
   <td width=34% valign=top bgcolor=gray>   <td width=34% valign=top bgcolor=gray>
     <center>2nd November</center>     <center>2nd November</center>
Line 182: Line 281:
   </b></font>   </b></font>
   </td>   </td>
-  <td width=32% valign=top bgcolor=gray>+  <td width=32% valign=top bgcolor="#aaccff" cellpadding=8>
     <center>6th November</center>     <center>6th November</center>
-  <td width=32% valign=top bgcolor=gray>+    <hr> 
 +    <b>Nested lists.</b> How to recursively explore nested lists. 
 +    <hr> 
 +    <center> 
 +    <b>Thinking About Programs II.</b> 
 +    </center> 
 +    <p/> 
 +    Adding help for the player, and how it requires us to change <code>if</code> to <code>cond</code>. Adding a variable to store 
 +    the player's guess in two ways: first with <code>define</code> and then by using another wrapper function. 
 +    <hr> 
 +    <center> 
 +    <a href="https://www.cs.vassar.edu/~cs101/ell-fal-2018/lecs/2018-11-06_lec.txt">Code from class</a> 
 +    </center> 
 +  <td width=32% valign=top bgcolor="#aaffcc" cellpadding=8>
     <center>8th November</center>     <center>8th November</center>
 +    <hr>
 +    Local environments. (And multicoloured candy apples.) The <code>let</code> special form: syntax and evaluation, and its
 +    similarities to functions using <code>lambda</code>. The <code>let*</code> special form.
 +    <hr>
 +    <center>
 +    <a href="https://www.cs.vassar.edu/~cs101/ell-fal-2018/lecs/2018-11-08_lec.txt">Code from class</a>
 +    </center>
   <td width=34% valign=top bgcolor=gray>   <td width=34% valign=top bgcolor=gray>
     <center>9th November</center>     <center>9th November</center>
Line 197: Line 316:
   </b></font>   </b></font>
   </td>   </td>
-  <td width=32% valign=top bgcolor=gray>+  <td width=32% valign=top bgcolor="#aaffcc" cellpadding=8>
     <center>13th November</center>     <center>13th November</center>
-  <td width=32% valign=top bgcolor=gray>+    <hr> 
 +    Review of list operations with <code>cons</code>. Review of <code>let</code> and <code>let*</code>. Defining recursive local 
 +    functions with <code>letrec*</code>
 +    <p/> 
 +    First look at the <code>set!</code> function. 
 +    <hr> 
 +    <center> 
 +    <a href="https://www.cs.vassar.edu/~cs101/ell-fal-2018/lecs/2018-11-13_lec.txt">Code from class</a> 
 +    </center> 
 +    <td width=32% valign=top bgcolor="#aaccff" cellpadding=8>
     <center>15th November</center>     <center>15th November</center>
 +    <hr>
 +    <b>Destructive programming.</b> Changing the values of variables with <code>set!</code>. The <code>while</code> function, which lets us
 +    loop any number of times. The <code>dotimes</code> function, which loops a fixed number of times.
 +    <hr>
 +    <center>
 +    <a href="https://www.cs.vassar.edu/~cs101/ell-fal-2018/lecs/2018-11-15_lec.txt">Code from class</a>
 +    </center>
   <td width=34% valign=top bgcolor=gray>   <td width=34% valign=top bgcolor=gray>
     <center>16th November</center>     <center>16th November</center>
Line 212: Line 347:
   </b></font>   </b></font>
   </td>   </td>
-  <td width=32% valign=top bgcolor=gray>+  <td width=32% valign=top bgcolor="#aaccff" cellpadding=8>
     <center>20th November</center>     <center>20th November</center>
 +    <hr>
 +    Review of loops using <code>dotimes</code>. Using the counting variable of an outer loop as input to the counting variable of an inner loop. The <code>when</code> special form. Comparing <code>when</code> against <code>if</code> and <code>cond</code>.
 +    <hr>
 +    <center>
 +    <a href="https://www.cs.vassar.edu/~cs101/ell-fal-2018/lecs/2018-11-20_lec.txt">Code from class</a>
 +    </center>
   <td width=32% valign=top bgcolor="#ff8000" colspan="2">   <td width=32% valign=top bgcolor="#ff8000" colspan="2">
     <center>22nd & 23rd November     <center>22nd & 23rd November
Line 230: Line 371:
   </b></font>   </b></font>
   </td>   </td>
-  <td width=32% valign=top bgcolor=gray>+  <td width=32% valign=top bgcolor="#aaffcc" cellpadding=8>
     <center>27th November</center>     <center>27th November</center>
-  <td width=32% valign=top bgcolor=gray>+    <hr> 
 +    Organising data using <b>structures</b>. The <code>define-struct</code> special form, and the special forms it creates to help us use structures. 
 +    <hr> 
 +    <center><b>Reading</b></center> 
 +    Chapter 19. 
 +    <hr> 
 +    <center> 
 +    <a href="https://www.cs.vassar.edu/~cs101/ell-fal-2018/lecs/2018-11-27_lec.txt">Code from class</a> 
 +    </center>   
 +  <td width=32% valign=top bgcolor="#aaccff" cellpadding=8>
     <center>29th November</center>     <center>29th November</center>
 +    <hr>
 +    Storing data using <b>vectors</b>. <b>Mutable</b> and <b>immutable</b> vectors. Creating mutable vectors with <code>make-vector</code> and immutable vectors with <code>#(...)</code>. <code>vector-ref</code> and <code>vector-set</code>.
 +    <hr>
 +    <center><b>Reading</b></center>
 +    Chapter 18.
 +    <hr>
 +    <center>
 +    <a href="https://www.cs.vassar.edu/~cs101/ell-fal-2018/lecs/2018-11-29_lec.txt">Code from class</a>
 +    </center>  
   <td width=34% valign=top bgcolor=gray>   <td width=34% valign=top bgcolor=gray>
     <center>30th November</center>     <center>30th November</center>
Line 278: Line 437:
 </table> </table>
 </html> </html>
-