1991, 1993, 1999, 2017, 2019, 2023, ...
https://pollev.com/slade You may also download the app to your phone. Use the "slade" poll id.
**The Key We Share** Something there is that doesn't love a secret, That sends the frozen-ground-swell under it, And spills the upper boulders in the sun; And makes gaps even two can pass abreast. The work of hunters is another thing: I have come after them and made repair Where they have left not one stone on a stone, But they would have the rabbit out of hiding, To please the yelping dogs. The gaps I mean, No one has seen them made or heard them made, But at spring mending-time we find them there. Yet here we walk with matching keys in hand, The same small cipher that will lock and free Our messages from prying winter eyes. My neighbor moves in darkness as he will, But when he speaks his words through my device They come as clear as morning over snow. We meet upon the boundary of trust Each spring to test our shared arithmetic— Good fences make good neighbors, some have said, But better still: one key for you and me. I wonder if he thinks as I do now: How strange that the same key that hides our words Is what reveals them, like the melting frost That shows the stones we laid the fall before. There where it is we do not need the wall: Encryption is the wall we carry with us.
AI Policy
This is a course about decision making, with an emphasis on creating computer programs that make decisions in a manner similar to human cognition. We are interested in cognitive process models. As such, we will often engage in introspection to examine our own decision thought process.Now is such a moment. I have decided not merely to permit the use of AI tools in the course, but to encourage it. That is, I want the students to learn how to use AI to write better code as well as to refine their own ideas. Here is my own thought process.
- This is NOT a programming course. While it satisfies the CS major elective, it does not fulfill the elective requirement for the programming certificate. There are plenty of courses that teach programming. I teach several of them.
- Let's be realistic. Once you leave Yale, you will likely be encouraged or required to use AI copilots and the like. You should be familiar with what they do - and what they can't do. I view AI as power tools for programming. Instead of handsaw, you should use a bandsaw. This is a software engineering tradition going back over 30 years. See UNIX Power Tools.
- Many of the assignments are meant to be exploratory. That is, there is usually no clear right answer. It is often a matter of experimenting with different approaches. With AI, you should be able to run more and better experiments.
- In class, we will have discussions about various decision making tasks. I plan on asking you to think about the questions on your own (outside of class) and then see what the chatBots have to say. We will share our experiences. By casting a wider net, we should explore a greater range of ideas.
- In the past, the programming requirement has been a barrier to entry for some students who are not virtuoso coders. The group project has been one way to address that issue, but opening up the assignments to AI should make more students feel comfortable about problem sets. Again, in the real world, there are often project managers who coordinate the work of software engineers.
- No downside. At least, I can't think of any downside. What I really should do is ask ChatGPT about the downside.
Here is a practice final exam and practice final solutions.
Here are the important concepts from Stamp:
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. The quality of mercy is not strained.
Alas, we did not get to machine learning. See scikit learn aka, sklearn. Python module for machine learning. Machine learning jupyter notebook
Cryptography notebook Chapter 2, slide 10.
See hw7hints.py You may need to install the module: wordsegment. (May need to run on lion using python 3.10. Sigh.)
pip install wordsegment