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.

Thu, Jan 11Intro
Brief organizational meeting.
Thu, Jan 18Complexity
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.
Thu, Jan 25Complexity, Continued
Here are some notes on a very interesting problem Zheng found on a Chinese discussion board.
Thu, Feb 1Trees
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.

Thu, Feb 8More Trees
Thu, Feb 15Sorting and searching
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.
Thu, Feb 22Programming 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.
Thu, Feb 29Boolean 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).
Thu, Mar 7Grammars, 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.)
Thu, Mar 21Discrete 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.
Thu, Mar 28Graph Theory
There is #10 from practice sheet, and some nice notes: Notes from U of Waterloo, and the version with answers.
Thu, Apr 4Computer 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.)
Thu, Apr 11Operating 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.
Thu, Apr 18Database
Question 16 from practice sheet.
Online class notes from Pit, RIT.
Key Types
Normal forms: here and here.