CS 2000 - Fall 2025.


[Home]

Welcome to CS 2000! 11/17/2025

Video of the Day

Crypto! Mark Stamp.

  • Chapter 2, part 1, Information Security: Principles and Practice

  • Chapter 2, part 2, Crypto Basics --- Simple Substitution

  • Chapter 2, part 3, Crypto Basics --- double transposition, one-time pad

  • Chapter 2, part 4, Crypto Basics --- VENONA, codebook cipher, Zimmerman telegram

  • Chapter 2, part 5, Crypto Basics --- crypto history, ciphers of election of 1876

  • Chapter 2, part 6, Crypto Basics --- crypto history, Claude Shannon

  • Chapter 2, part 7, Crypto Basics --- taxonomy of cryptography, taxonomy of cryptanalysis

    SQL Antics

    See ALT text.

    Code injection See SQL injection.

    NULL License Plate

    NULL license plate video

    Logical problem of the day

    def f():
        x1 = 0
        x2 = 1
        def get_next_number():
            nonlocal x1, x2
            x3 = x1 + x2
            x1, x2 = x2, x3
            return x3
        return get_next_number
    
    What does the above function do? See Closures.

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

    Poem of the Day

    From Claude Sonnet 4 (quite apropos)
    Here's a Shakespearean sonnet about SQL:
    
    **Upon the Noble Art of SQL**
    
    When data lies in tables, row by row,
    And chaos threatens information's realm,
    Then SQL doth rise, with syntax pure and slow,
    To guide the querying mind and overwhelm.
    
    With SELECT's grace, it plucks the needed field,
    FROM tables vast as oceans, deep and wide,
    While WHERE conditions make the dataset yield
    Only the truths that match what we decide.
    
    JOIN bridges gaps 'tween tables once apart,
    And GROUP BY gathers like with kindred like,
    While ORDER BY doth sort with subtle art
    The results that our discerning minds do strike.
    
    Thus SQL, though cryptic to the untrained eye,
    Makes sense of data ere it passes by.
      
    This sonnet follows the traditional Shakespearean form with 14 lines, three quatrains and a closing couplet, written in iambic pentameter with an ABAB CDCD EFEF GG rhyme scheme. It celebrates SQL's power to bring order to data chaos while maintaining the elevated, slightly archaic language typical of Shakespeare's sonnets.

    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. Note: each quiz is now worth 5 points.

    Click for today's quiz.

    Lecture 22: SQL + Cryptography.

    Administrivia

  • Final exam date has been announced: Monday, December 15th at 9am. RTBA.

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

  • I will be available for lunch on Mondays at 1 pm in Morse. NOT NEXT WEEK

  • ULA office hours are found at Ed Discussions on Canvas.

  • CS Peer Advisers. Fall 2025 Peer Advisors Office Hours Schedule.

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

  • Midterm grades posted. Regrade request window open until Friday at noon.
    Statistics:
    Minimum: 27.0
    Maximum: 60.0
    Mean: 47.49
    Median: 48.9
    Standard Deviation: 7.62
         
    Your final exam grade can replace your lower midterm grade.

    Announcements

  • Advent of Code Some of you have asked for practice problems to improve your programming skill. These come online in December. Previous years (2015-2024) are available as well. Also, see norvig.com Peter Norvig's site and his pytudes, that is, études for Python, which include Peter's solutions to past advents of code.

  • CS Colloquium - Bjarne Stroustrup, Columbia University.
    Tuesday, November 18, 2025
    4:00 PM - 5:00 PM
    Sloane Physics Laboratory (SPL 59)

    Concept-based Generic Programming

    Abstract: This talk presents programming techniques to illustrate the facilities and principles of C++ generic programming using concepts. Concepts are C++’s way to express constraints on generic code. As an initial example, it provides a simple type system that eliminate narrowing conversions and provides range checking without unnecessary notational or run-time overheads.

    Concepts are used throughout to provide user-defined extensions to the type system. The aim is to show their utility and the fundamental ideas behind them, rather than to provide a detailed or complete explanation of C++’s language support for generic programming or the extensive support provided by the standard library.

    The final sections briefly present design rationales and origins for key parts of the concept design, including uniform treatment of types, use patterns, the relationship to Object-Oriented Programming, value arguments, notation, concept type-matching, definition checking and static reflection (a C++26 improvements in the support of general programming).

    Bio: Bjarne Stroustrup is the designer and original implementer of C++ as well as the author of The C++ Programming Language (4th Edition), A Tour of C++ (3rd edition), Programming: Principles and Practice using C++ (3rd Edition), and many popular and academic publications. Dr. Stroustrup is a professor at Columbia University in New York City. He is a member of the US National Academy of Engineering, and an IEEE, ACM, and CHM fellow. He received the 2018 Charles Stark Draper Prize, the IEEE Computer Society's 2018 Computer Pioneer Award, and the 2017 IET Faraday Medal. His research interests include distributed systems, design, programming techniques, software development tools, and programming languages. He is actively involved in the ISO standardization of C++. He holds a masters in Mathematics from Aarhus University, where he is an honorary professor, and a PhD in Computer Science from Cambridge University, where he is an honorary fellow of Churchill College.

    Website: www.Stroustrup.com

  • Yale Information Society Project See this week's events.

  • Office of Career Services STEMConnect Pop Up advising Fall schedule. Drop in to one and have your resume reviewed, hear advice about finding internships, and learn more about how to get connected to alumni for networking opportunities.

    Databases and SQL

    SQL notebook Lesson 17.

    hw6 review.

    Cryptography

    Cryptography notebook

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

    pip install wordsegment
      

    Getting to know UNIX

    UNIX Introduction Principle 5.
    [Home]