CS 2000 - Spring 2026.


[Home]

Welcome to CS 2000! 3/2/2026

Video of the Day

Logical problem of the day

Batman, Nick from The Great Gatsby, Mr. Burns from The Simpsons. Name another member of this set.

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: to reward attendance, in-class quizzes are now worth 5 homework points.

Python Module of the Day

tqdm. Here is a sample program. mytqdm.py.

There are hundreds of Python modules. Going forward, I invite students to present their own selected Python module of the day, along with some sample code. Send me an email. Students whose submissions are selected will present their modules in class and earn 5 extra homework points.

Lecture 14: Python / Data Structures.

Administrivia

  • I have office hours Mondays and Wednesdays from 2:30-3:30pm pm, on zoom, id 459 434 2854.

  • ULA office hours are found at Ed Discussions on Canvas

  • Epigrams in Programming, Alan Perlis.

  • Homework assignments: [Assignments]. hw4 is now available. hw3 extension to Monday 3/2. hw4 extension to Monday 3/23.

    Midterm and Grades

    The midterm exam has been graded and the grades released. You have until next Monday morning to post a regrade request through Gradescope. DO NOT send emails. Use the Gradescope process.

    As stated in the release email, here are the statistics.

      Minimum: xx
      Maximum: xx
      Mean: xx
      Median: xx
      Standard Deviation: xx
    

    At the end of the semester, I add up all the raw scores (problem sets, quizzes, exams, etc.). I then weigh the scores, with homeworks and quizzes worth 1/3, and exams worth 2/3. (Each midterm is 25% and the final is 50% of the exam grade.) I then sort the scores and apply a curve such that over half the class gets an A or A-. Note: this is consistent with the published grade distributions for the computer science department, which surprisingly, is pretty GPA friendly, unlike, say, economics.

    Also, if your final exam grade is higher than your lower midterm grade, that lower grade will be replaced by your final exam grade. The quality of mercy is not strained.

    Before you ask, you cannot replace your final grade with your higher midterm grade. Otherwise, you would not have to take the final exam.

  • Harvard Business School story.
  • Alan Perlis story.
  • Slade physics midterm story.

    Announcements

  • Let us know if you have an upcoming event you would like to share with the class.

  • Final exam scheduled for Monday, May 4, 2pm. RTBA.

    Getting to know Python

    Everything is bits!

    Music and Computation, discusses the spectrum of binary encoding. It will be on the first midterm exam, except for the code, sound, video and music parts.

    Object Oriented Programming

    Oop.html (jupyter) object oriented programming. hamlet.py

    F String Formatting

    Review hw3. configurations.

    Digital Gates and Circuits

    Data Structures

    DataStructures.html (jupyter) Data Structures

    Try in Python Tutor

    class stack:
     
        def __init__(self, items = []):
            ''' Constructor for a stack.  Initialize the list of items and the size. '''
            ## Why not say: self.items = items ?
            self.items = items
            self.size = len(items)
    
        def push(self, item):
            ''' add an item to the end of the stack. '''
            self.items.append(item)
            self.size += 1
    
    x = stack()
    y = stack()
    x.push(1)
    y.push(2)
          

  • Iterators.html
  • Decorators.html
  • Exceptions.html

    Getting to know UNIX

    UNIX Introduction Principle 3.
    [Home]