CS 201 - Spring 2025. 4/25/2025.


[Home]

Welcome to CS 201!

Video of the Day

The Title of the Song, Da Vinci's Notebook. How meta can you get?

Computer science is the science of abstraction.

In lectures, I sometimes present my high level analysis for all movies. The protagonists face challenges and adversity and discover the true meaning of love and friendship. This works for Casablanca, Gone with the Wind, Star Wars, Rocky, etc. It occurs to me that this course has been a similar journey. As a student, you faced the challenges of the problem sets and exams, and now, I conjecture that you have achieved, if not a love of computer science, at least friendship with racket, UNIX, and recursion.

Another Glitch in the Call

(Sung to the tune of a Pink Floyd song: Another brick in the wall)
From decvax!utzoo!utcsrgv!roderick Mon Nov  1 14:24:35 1982
(Via umpteen intermediaries)

We don't need no indirection
We don't need no flow control
No data typing or declarations
   Hey! Did you leave the lists alone?

Chorus:
   All in all, it's just a pure-LISP function call.

We don't need no side effect-ing
We don't need no scope control
No global variables for execution
   Hey! Did you leave those args alone?

(Chorus)

We don't need no allocation
We don't need no special nodes
No dark bit-flipping in the functions
   Hey! Did you leave the bits alone?

(Chorus)

We don't need no compilation
We don't need no load control
No link edit for external bindings
   Hey! Did you leave that source alone?

(Chorus, and repeat)
(From the Yale AI Songbook. These are songs I used to perform at Yale AI parties with Jim Meehan, an accomplished pianist, who was in town this week for the YSO concert.)

Logical problem of the day

We have introduced lots of topics this semester, including:

As I told the YDN, I believe that you probably learned more in this class than in any other course at Yale because you came into it knowing very little about any of these topics. There was no sandbagging.

At the start of semester, I gave you the top ten reasons for learning racket. Now I ask you to rank them.

What is the top reason for learning racket? (top ten list)

https://pollev.com/slade You may also download the app to your phone. Use the "slade" poll id.

Results: watch this space

Canvas Quiz of the Day (need daily password)

Most days, there will be a simple canvas quiz related to the lecture. You need a password to activate the quiz, which I will provide in class. These quizzes will count toward your class participation grade. The quiz is available only during class.

Click for today's quiz.

Lecture 38: Final Exam Preparation.

  • CS 490 Fair! Today from 1:30-3:30pm, 17 Hillhouse, Rooms 101, 113, and 115. Food. Posters of CS senior projects. (Including a half-dozen of my students.)

  • I have no more office hours. I am available via email.

  • ULA office hours are found at https://csofficehours.org/CS201/schedule. Sign up via the queue.

  • Homework assignments: [Assignments]. hw8 is now available.

    Jeopardy! Winners

  • Team 6: TBD. Ayushi Das, Alicia Deng, and Diana Shyshkova.

    They win 15 points each, posted to Canvas VJ. The runners-up earned 10 points each.

    Lecture: Running Time of Programs.

    Runtime.html stacks. ***

    tc201sort.pdf experiment with TC-201 sort program. Plotted in google sheets with insert chart.

    Professor Ozan Erat lectured on 11/14/22: big-O Asymptotic Analysis

    Big-O Cheat Sheet Know Thy Complexities!

    Closures + mutators:

  • Python (Java, C, C++, JavaScript) equivalent of box and pointer notation: Python Tutor Online Compiler, AI Tutor, and Visual Debugger for Python, Java, C, C++, and JavaScript

    Getting to know UNIX

    UNIX Introduction Principles 5 and 6. Available as bonus lecture video on Canvas. (It was briefly hidden in Canvas. It is now happily at home in the course media library.)

    Final Exam: Monday, May 5th, 7pm, Davies

    The exam will be three and a half hours long. You should have plenty of time.

    Here is a practice exam. (solutions). (final.rkt code for solutions) Ignore questions 1, 6, 7(c), 7(e), and 10. We will cover box and pointer notation. Plus Turing Machines and UNIX, through principle 6, that is, everything. Practice TC-201 programs. solutions. Since TC 201 was not on the second midterm, it will be emphasized on the final.

    If your grade on the final exam is higher than your lower midterm grade, it will replace that grade. The quality of mercy is not strained.

  • Review session: Deanna DeCarlo, Monday April 28th 4 to 6pm. WLH 208. See Ed Discussions for updates and materials.

  • SAS students at Watson Center:
    Please remind your students to sign up to reserve a space with us through their SAS Accommodate portal:

    CS 2230 - Data Structures

    Many of you are considering taking CS 2230, Data Structures, next semester. The online syllabus and lecture notes are quite detailed. The textbook is The C Programming Language by Kernighan and Ritchie. It is the most influential programming book ever written. It is the Bible. You can get it from Amazon or free online from the Yale Library. There are also numerous YouTube videos starring Kernighan and others discussing C and UNIX.

    Check out the Fall 2024 Canvas syllabus which has additional suggested materials.

    My advice is to write as many C programs as possible over the summer.

    LinkedIn

    Many of you may have social media accounts on Facebook, X, Instagram, and others. You may also use Github as a code repository and portfolio to show to prospective employers.

    All good. I recommend that you also create a LinkedIn account as an online resume. I invite all of my Yale students to connect to me on LinkedIn to leverage my network, such as it is. I also am interested in following your trajectory, but not in a creepy way.

    Farewell and Gratitude

    Valedictory Cavafy: Ithaka

    More appropriate: Billy Collins just in time for Mother's Day, May 11th. youtube


    [Home]