CS 200 - Fall 2023. 12/4/2023.


[Home]

Welcome to CS 200!

Video of the day

Cryptography for Beginners

Logical problem of the day

#! /usr/bin/bash

for f in $* ; do
    cat $f 2> /dev/null
    if [ $? -ge 1 ]; then
	echo "Invalid file: $f"
    fi
done
What does the above shell script, x.sh, do when invoked as follows?
$ ./x.sh x.sh
$ ./x.sh xxx yyy zzz
Also, what is the output of the following?
$ echo $PATH | tr ":" "\n"

x.sh

The null device: /dev/null

bash if statements.

Lecture 24: UNIX: shell scripts and principle 6.

Administrivia

  • I have Office hours via zoom, meeting ID 459 434 2854. Wednesday 4-6pm.

  • ULA office hours posted on csofficehours.org. See the posting on Ed Discussions for more information.

  • Data Buddies survey.
    The annual nationwide survey of CS departments (a.k.a. “Data Buddies”) is now live: https://cerp.co1.qualtrics.com/jfe/form/SV_9vFybdrfLKUkVcq/?id=yale_cs

    This survey measures retention and persistence among CS students, including undergraduate majors, non-majors, and graduate students. It is the main tool that the department will be using to both gauge our diversity efforts, and compare against peer CS departments.

    It is run externally by the Computing Research Association, which only provides aggregate data. At no point will we have access to individual answers or identities.

    We will be using the survey results to set and prioritize future department initiatives, so this is a great chance to have your voice heard. Please fill it out!

  • Homework assignments: [Assignments]. hw7 is available. You will submit with gradescope. (Note: two autograders: one for 1-3, and one for 4-6. Not quite ready yet. Stay tuned.)

  • Email from Alison Kaptur (mini-PVM woman):
    You asked in your voicemail if I have any advice for your students. The most important thing for me was to bring a growth mindset and learning-focused approach to my work. I gave a talk about this in 2015 and wrote it up on my blog here. In the years since, that thinking has really held up for me. As professional programmers, our work is mostly operating on the boundary of our skills and comfort - mostly doing things we don't yet know how to do, and rarely repeating work that we've done before. That makes for a very fun career, in my opinion, but only if you can get comfortable in that challenging setting.

    My coursework in Astronomy & Physics at Yale wasn't directly applicable to my work as a software engineer today (this was before all astronomy was in Python, and the CS course I took was half FORTRAN and half C++), but it helped me learn how to struggle and succeed in a way I hadn't experienced before college. These days, I'm still working as a software engineer at a startup (Pilot.com), where I was engineer #2. I'm shifting focus to LLM optimization to see what this new technology can do for us - another opportunity to stretch myself and learn.

    Final Exam

    Sunday December 17th, 7pm. ML 211.

    Here is a practice final exam and practice final solutions. There will be no questions on R or idem potence.

    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.

    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.

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

    Overview

    The following topics were part of this course: Alas, we did not get to machine learning. See scikit learn aka, sklearn. Python module for machine learning. Machine learning jupyter notebook

    Cryptography

    Cryptography notebook codebook additives.

    See hw7hints.py You may need to install the module: wordsegment.

    pip install wordsegment
      
  • Word segmentation
  • qiskit open-source toolkit for useful quantum, from IBM.
  • Certified openssl ciphers: arr=(aes-128-cbc aes-128-ecb des3 aria-128-ecb aria-192-ecb aes-256-ecb aes-256-cbc)

  • CTO for Metropolitan Opera (this works)
  • Why not work for the NSA?, Good Will Hunting.

    Getting to know UNIX

    UNIX Introduction Principle 5: shell scripts.
    [Home]