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

Labor Day

CloudStrike Meltdown:

News Article: CIO CloudStrike's Cause Report Microsoft explains why this is all the EU's fault

News Article: CIO CloudStrike's Cause Report Microsoft explains why this is all the EU's fault

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