CS 200 - Fall 2024. 9/4/2024


[Home]

Welcome to CS 200!

Video of the Day

Python: Strings from Socratica

Python: Numbers from Socratica

Logical problem of the day

Murphy's Law states "the best way to get the right answer on the internet is not to ask a question; it's to post the wrong answer."

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.

Note: the collaboration quiz is separate. It coincides with the first homework assignment.

How the internet works

When one computer communicates with another computer on the internet, it usually uses a packet-based protocol, like TCP/IP.. Your content, e.g., email, web page, photograph, video, ssh terminal session, etc., is broken down into discrete packets which are sent independently from the source and reassempled in order at the destination.

The content of the packets can be seen and examined by anyone or any device along the transmission path. It is like you are sending a boatload of postcards that can be read by anyone along the way.

To thwart eavesdropping, there are other protocols layered on top of TCP/IP which encrypt the content. Secure Shell or ssh is one. Thus, when you create an ssh connection from your laptop to the zoo, any bad guy intent on listening in will find the content encoded.

Remote login to the zoo using ssh (secure shell)

If you have a mac, you can open your terminal application and enter the following command at the prompt:
ssh netid@node.zoo.cs.yale.edu
where netid is your netid. You will then be prompted for your netid password and duo authentication. If that all works, you be logged into the zoo in your home directory.

If you have a pc, you can install ssh as an extension to the chrome browser. Go to chrome web store page for ssh and click the "Add to Chrome" button.

You trigger the ssh extension by clicking on the appropriate link on the extensions menu. You then need to configure a connection using the connection dialog link. Here is my connection dialog.

Modify by replacing my netid (sbs5) with yours. When you click enter, you will be prompted for your netid password followed by duo authentication.

Once we have covered a bit of UNIX, I will show you how to automate the duo authenticaion using another encryption method. You need to be on Yale Secure or VPN to access the zoo. To test, try to contact a zoo machine:

ping lion.zoo.cs.yale.ede

ping utility

Lecture 2: UNIX / Python.

Administrivia

  • Code Haven announcement.
    At Code Haven, we are driven by a commitment to expand access to computer science for middle school students inclusively. Through a dynamic approach that combines online lessons, unplugged activities, and engaging class-wide demonstrations, we provide weekly computing lessons in order to inspire and encourage a new generation of students. Feel free to scan the QR code but also our Instagram @codehavenyale to access the mentor applications!

  • I am available for lunch on Monday September 9 at noon at Franklin College Dining Hall.

  • I have office hours Wednesdays from 4-6 pm, on zoom, id 459 434 2854.

  • ULA office hours are found at in Ed Discussions.

    If you're thinking of taking CPSC 200, please do the following.

  • Complete this online Student Information form.
  • Get a course account for CPSC 200 on the Zoo. When you register for this class, your course account should be created within one hour or so of signing up.
  • Start the reading assignment: [Assignments]. Demo hw0.py hw1 is available.
  • Familiarize yourself with the Zoo computers using the above instructions for ssh. We will start discussing UNIX soon.
  • (Optional.) Download and install Python on your computer (Python) and familiarize yourself with it. If you don't want to install and run Python on your machine, you may run it in person or remotely using your Zoo account.

    Getting to know Python

    Introduction.html (jupyter) Python - Syntax vs Runtime errors.

    Getting to know UNIX

    UNIX Introduction
    [Home]