CS 200 - Fall 2024. 12/4/2024


[Home]

Welcome to CS 200!

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 python, UNIX, and recursion.

Logical problem of the day

In biology, ontogeny recapitulates phylogeny In computer science courses, pedagogy recapitulates ontogeny (and phylogeny). That is, the order of presentation of topics in a course generally follows the historic order of development of the field. This is not some mere convention. Just as the developments in the field depended on earlier discoveries, the student's understanding of advanced concepts builds on a comprehension of more basic ideas. Newton famously stood on the shoulders of giants.

The topics in this course included the following:

See CS 200 Jupyter Notebooks including Machine Learning.

Rank the topics from the course in order from most useful or interesting (top) to least useful or interesting (bottom).

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

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 25: Final Exam Review and UNIX.

Administrivia

  • I have office hours Wednesdays from 4-6 pm, on zoom, id 459 434 2854. Today is the last session for the semester.

  • ULA office hours are found at in Ed Discussions.

  • Homework assignments: [Assignments]. hw7 are available.

    Note that hw7 has two autograders: hw7a for questions 1-3 and hw7b for questions 4-6.

    CS 223 - Data Structures

    Many of you are considering taking CS 223, Data Structures, next semester. The online syllabus and lecture notes are quite detailed. The textbook is the The C Programming Language by Kernighan and Richie. 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.

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

    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 portfoliio 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.

    Cryptography

    Cryptography notebook Chapter 2.

    See hw7hints.py You may need to install the module: wordsegment. We have solved the Crypto.Util.strxor problem:

    pip install pycryptodome
    
    Working ciphers: arr=(aes-128-cbc aes-128-ecb des3 aria-128-ecb aria-192-ecb aes-256-ecb aes-256-cbc)
    pip install wordsegment
    

    Also, see /c/cs200/hws/hw7/encode.pyc and decode.pyc which are Python versions of encode.sh and decode.sh.

    Getting to know UNIX

    UNIX Introduction Principle 6. Processes.

    Final Exam

    Wednesday December 18th, 9am. Watson A51 (across from Pauli Murray).

    Here is a practice final exam and practice final solutions. Note: you can bring a single page of notes, 8.5" x 11".

    Here are the important concepts from Stamp:

    Plus concepts from hw7 including xor, base64, shell scripts.

    Shell scripts: I might ask you to write a shell script. You should know the for loop.

    The following topics were part of this course and are in scope for the final:

    If your grade on the final exam is higher than your lower midterm grade, it will replace that grade.

    Alas, we did not get to machine learning. See scikit learn aka, sklearn. Python module for machine learning. Machine learning jupyter notebook

    Farewell and Gratitude

    Valedictory Cavafy: Ithaka

    More appropriate: Billy Collins (who wrote the hw7 poems. The following is poem2. Think about your mother over break.) youtube


    [Home]