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 12||Intro|
Brief organizational meeting.
|Tue, Jan 17||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.
|Tue, Jan 24||Complexity, Continued|
|Tue, Jan 31||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.
|Tue, Feb 7||More Trees|
|Tue, Feb 14||Sorting 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.
|Tue, Feb 21||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.
|Tue, Feb 28||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).
|Tue, Mar 7||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
|Tue, Mar 21||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.
|Tue, Mar 28||Graph Theory|
Notes from U of Waterloo, and the version with answers.
|Tue, Apr 4||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.)
|Tue, Apr 11||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.
|Tue, Apr 18||Database|
Question 16 from practice sheet.
Online class notes from Pit, RIT.
Normal forms: here and here.
|Fri, Apr 21||(Tentative) MFT Exam. On-line, 2:00 PM in MCC 209|