Both sides previous revision
Previous revision
Next revision
|
Previous revision
Next revision
Both sides next revision
|
courses:cs101-201804:calendar [2018/09/13 08:27] sellis [Calendar] |
courses:cs101-201804:calendar [2018/11/21 21:11] sellis [Calendar] |
<hr> | <hr> |
Welcome and Introduction. | Welcome and Introduction. |
<td width=30% valign=top bgcolor="#aaccff" cellpadding="4"> | <td width=30% valign=top bgcolor="#aaccff" cellpadding="8"> |
<center>6th September</center> | <center>6th September</center> |
<hr> | <hr> |
<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=gray> | <td width=30% valign=top bgcolor="#ffcccc" cellpadding="8"> |
<center>7th September</center> | <center>7th September</center> |
| <hr> |
| Creating directories with <code>mkdir</code>. Moving between directories with <code>cd</code>. Listing files with |
| <code>ls</code>. Your first program in Scheme. Running, saving and loading a program. |
</tr> | </tr> |
| |
</b></font> | </b></font> |
</td> | </td> |
<td width=32% valign=top bgcolor=gray> | <td width=32% valign=top bgcolor="#aaccff" cellpadding="8"> |
<center>11th September</center> | <center>11th September</center> |
<td width=32% valign=top bgcolor=gray> | <hr> |
| Poking the computer (a second time). <b>Data types</b>. Evaluation of symbols to their definitions. |
| The importance of parentheses. First explorations of Scheme's computational model. |
| <hr> |
| <center><b>Reading</b></center> |
| Chapters 2, 3, 4 and 5. |
| <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> |
</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> |
</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> |
</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> |
</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 |
<h4>IN-CLASS MIDTERM</h4> | <h4>IN-CLASS MIDTERM</h4> |
<h5>Covers all material covered to date.</5> | <h5>Covers all material explored to date.</5> |
</center> | </center> |
</tr> | </tr> |
</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> |
| |
</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> |
</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> |
</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> |
</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. |
| <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 |
</table> | </table> |
</html> | </html> |
| |