Schedule

The main thing in senior seminar is to review CS classes, and hopefully show a bit how they relate to each other, and become very brilliant so you will all score well on the Major Field Test. Taking the MFT is part of this class.

We will meet on Thurday chapel time. Each week we will review and discuss a particular topic, and work problems. We will also look over the problems on the MFT practice sheet from the ETS web site. There are only a few of these, so we'll work in a few more problems, here, there and everywhere. Here is a tentative list of topics.

Mon, Aug 26
Fri, Aug 30
Abstract Complexity: Big-O and all that. There's a nice review here, and again from our friends at Princeton. More formal treatment here. None of the questions on the practice sheet are specifically Big-O, though #7 is related. Number 11 on the second practice sheet is on topic. And, Here are some loops whose complexity you may cogitate. The various standard sorts are also worth thinking about.
Mon, Sep 2
Fri, Sep 6
Mon, Sep 9
Fri, Sep 13
Trees: Review material from CSc 216. There is some fine online material at Princeton on binary trees and balanced trees. Have a look at the exercises at the ends of the these pages and see if you can do them. We'll probably try some tree updates on the board, and look at problem 2 from the practice sheet.

There is an interesting BST (and AVL) animation here.

Mon, Sep 16
Fri, Sep 20
Sorting algorithms, and searching other than binary trees: binary search and hashing. For review, we can again mooch from Princeton for sorting, and hashing, too. Look at the exercises for elementary, merge and quick sorts. We'll look at some of those and #7 on the practice sheet.
Mon, Sep 23
Fri, Sep 27
Programming and Program Semantics: Of the practice problem., this would take in 1, 3, 6 and 11, which we'll discuss. Questions 3, 4 and 12 on the second practice sheet are also relevant. This is a broad topic, which includes general programming, data structure implementation and some PLS topics, such as type systems and memory use. Here are a few others to chew on.
Mon, Sep 30
Fri, Oct 4
Boolean Algebra and Logic. From the practice sheet: numbers 8 and 15. Also these Boolean algebra problems. We'll also discuss some other topics related to logic circuits (314 material).
Mon, Oct 7
Fri, Oct 11
Grammars, Regular Expressions and Automata. Princeton has a good discussion of regular languages and expressions. This has many good exercises, perhaps you might look at Exercise 5 (several parts), and Web Exercises 1–7, 9, 25–27, 27–43, 45. The practice sheet has questions 5 and 14, We'll spend less time on Grammars, and only context-free ones. You might look at these notes from a course at Stanford. Some standard CFG problems are to write CFGs to produce languages
  • where every string is of the form aibjci. Note that the first and last groups are the same size.
  • where every string is of the form ai+jbicj. Similar to the last one, but this time the first group's length is the total of the lengths of the last two.
  • of a, ( and ) where the parens are balanced. Both nesting and sequence allowed. To make it slightly more interesting, add the rule that no set of parens can be empty.
  • of a and b, where every string contains the same number of a and b, in any order. (Not like the 0n1n problem from the notes, since the characters need not be grouped.)
Mon, Oct 14
Fri, Oct 18
Voting Machine Security
Fall Break
Mon, Oct 21
Fri, Oct 25
Discrete Math and Combinatorics. We have #9 From the practice sheet, and this set. Perhaps I'll come up with more, and will always happily take suggestions.
Mon, Oct 28
Fri, Nov 1
Graph Theory: There is #10 from practice sheet, and some nice notes: Notes from U of Waterloo, and the version with answers.
Mon, Nov 4
Fri, Nov 8
Computer Organization. There question 4 from practice sheet, and 5 from the second practice sheet. I'll mention these, and talk a bit more about memory cache. I'll review some about CPUs, and also discuss some of the CPU performance problems linked here and here. (And anything else that looks good if there is time.)
Mon, Nov 11
Fri, Nov 15
Operating Systems: We'll discuss questions 12 and 13 from practice sheet, discuss virtual memory and run some replacement algorithms, and whatever else seems to belong. I will not doubt make use of some of my posted 422 material.
Mon, Nov 18
Fri, Nov 22
Social Media and Society
Mon, Nov 25
Fri, Nov 29
Thanksgiving Holiday