CS 163 - Data Structures - Daily Record - Fall Term 2009
Back to the class web-page.

    Introduction To Haskell Computer
  1. Tuesday September 29, 2009
    Due Today:
    Announcments:
    	Information about the flu and PSU policies
    	University information sheet about treating the flu.
    	Class room policy regarding the flu.
    Class Topic:
    	Introduction to CS 163
    	Haskell resource links
    	Getting started with Haskell
    	Sorting exercise  (What does it cost?) Bubble sort and merge sort.
    Assigned today:
    	Daily exercise 1, create a calendar. Due date extended to Tuesday Oct. 6, 2009.
    	There was a bug in the Excell library, it is now fixed. Fixed version posted 1:02 PM on Wednesday, Sept 30.
    

  2. Thursday October 1, 2009
    Due Today:
    	Daily exercise 1. Bring what you've done to class for discussion.
    Announcements:
    Class Topic:
    	Programming skill set.
    	Glossary of Haskell terms.
    	Haskell in 5 easy steps
    	Programming with Haskell - the excell library - A demonstration.
    		In class we wrote the following program
    Assigned today:
    	Work through the two worksheets below.
    	Naming Values and Using Parentheses.
    	Bring hard copies to class on Tuesday, Oct. 6.
    
    
    

  3. Tuesday October 6, 2009
    Due Today:
    	The calendar program (Daily exercise 1) is due today. Bring a hard copy to class.
    	The two worksheets Naming Values and Using Parentheses
    	    are due today. Bring hard copies of solutions to class.
    Announcments:
    	PSU Annual Study Abroad Fair. Smith Ballroom 355. Oct 7, 2009. 11:00 am - 2:00 pm.
    Class Topic:
    	Two more sorts. Exchange sort and insertion sort.
    	   Sorting Analysis worksheet.
    	Demo of creating lists. In class we created the following program.
    	Notes on using types.
    	Design Recipes.
    		Generic program design recipe.
    		Recursive program design recipe.
    	'Getting started with HUnit, the Hunit Users' Guide
    	A complete example: the append function.
    		In class we created the following program.
    		In class exercise: work out examples for: emptyList, sum
    Assigned today:
    	Programming Homework 1 - Using design recipes and functions over lists.
    		Due, uploaded to blackboard by class time Oct. 8, 2009.
    			Upload and due date moved to Oct 13, 2009. It is possible to re-upload this if you want to.
    

  4. Thursday October 8, 2009
    Due Today:
    	Programming Homework 1 Due, uploaded to blackboard by class time today.
    Announcements:
    	CS Tutor coordinator Clark Boylan will talk about CS Tutors
    Class Topic:
    	Creating lists with comprehensions. In class we wrote the following program.
    	Using the Array Commands library
    		In class we wrote the following program.
    	In class Exercise: Reversing the elements in an array.
    		Use the program template to get started
    Assigned today:
    	Creating Lists with comprehensions. Due Tuesday October 13, uploaded to blackboard by class time.
    

    Sorting
  5. Tuesday October 13, 2009
    Due Today:
    	Creating Lists with comprehensions due today.
    Announcments:
    	My office hours are Thursday 2:00-4:00 pm. I'd be happy to meet at other times by arrangement.
    Class Topic:
    	Another look at reversing an array
    	Design Recipe for processing arrays
    	Demonstrating the use of the recipe - inserting into a sorted sequence.
    	Our first sorting program - Insertion Sort on Lists
    Assigned today:
    	Sorting Programs - Insertion Sort and Exchange Sort on arrays. Due Tuesday October 20, 2009
    
    

  6. Thursday October 15, 2009
    Due Today:
    Announcements:
    	Rick Snodgrass talk, Monday, Oct 19, 2009 2:30-3:30, Room FAB 86-01
    Class Topic:
    	Satellite data and stabilty examples.
    	Writing programs for many different kinds of sorts
    	Sorting properties
    	Radix Sort demo
    Assigned today:
    	Sorting properties worksheet, classify each of the many different kinds of sorts. Due Oct 20.
    

  7. Tuesday October 20, 2009
    Due Today:
    	Sorting Programs due today.
    	Sorting properties worksheet due today.
    Announcments:
    	The Ronald E.McNair Scholars Program has re-opened the application process for the 2009-2010
    	program year. Fall Applications are now due on Monday, November 9
    Class Topic:
    	Review sorting properties
    	Notes on defining new kinds of data.
    		We wrote the following program illustrating defining data types.
    	The use of layout
    	Twelve ways to create a function
    Assigned today:
    	Homework 3 on defining new data types and creating functions.
    		Submit using blackboard by Thursday, Oct 22, 2009.
    

  8. Thursday October 22, 2009
    Due Today:
    	Homework 3 due today by class time.
    		Since this will be reviewed in class, there will be no late acceptances.
    Announcements:
    	Computer Science Student Reception. Tuesday, Oct 27th, 4-6pm, Multicultural Center at Smith.
    Class Topic:
    	Review of Homework 3. We wrote the following code.
    	Intro to searching. We wrote the following program for searching arrays.
    	Searchin a sorted array. A demonstration
    	Assigned today:
    	HW04 Two n*log(n) sorts. Due Tuesday, October 27, 2009
    

    Searching
  9. Tuesday October 27, 2009
    Due Today:
    Announcments:
    	Computer Science Student Reception is Tonight! 4-6PM, Multicultural Center at Smith
    	Mid-term Exam 1 week from today.
    Class Topic:
    	Searching a sorted array
    	Binary Search Trees
    		Insertion
    		Searching
    	Code we wrote in class for illustrating searching.
    	Many sorts are similar. How to capture the similarity
    Assigned today:
    	Searching Analysis Worksheet due Thursday Oct 29. Upload to blackboard by class time.
    
    

  10. Thursday October 29, 2009
    Due Today:
    	Searching Analysis Worksheet due today.
    Announcements:
    		Mid-term Exam next class meeting. Tuesday, Nov. 3, 2009
    Class Topic:
    	Balancing trees
    		Rotations
    		AVL trees
    		Read more about balanced trees
    			Red-Black Trees
    			2-3 Trees
    			B-Trees
    	Hash based searching
    	    Hash functions
    		Bucket based hashes
    		Sequential hashes
    		Hash function properties
    	List of topics covered in Midterm exam
    
    Assigned today:
    	HW05: Deletion in a binary Search Tree and Hashing.
    		due submitted to blackboard, Thursday Nov. 5, 2009.
    

  11. Tuesday November 3, 2009
    Due Today:
    Announcments:
    Class Topic:
    	Midterm exam, First hour of class time.
    	Radix Sort demonstration
    	Game trees and search
    Assigned today:
    

  12. Thursday November 5, 2009
    Due Today:
    	HW05 due today via blackboard.
    Announcements:
    Class Topic:
    	Exam discussion
    	GameTrees, searching, stacks and queues
    Assigned today:
    	HW06 implement radix sort and array based stacks. Due Nov. 12.
    

  13. Tuesday November 10, 2009
    Due Today:
    Announcments:
    Class Topic:
    	Review of Stacks and Queues
    		axiomatic descriptions
    	Trees as arrays with implicit links
    		full vs complete (full except at last level)
    	Heaps, min and max ordered
    		using arrays with implicit links
    	Priority Queues
    		Applications
    Assigned today:
    	Hashing and Radix sort worksheet
    

  14. Thursday November 12, 2009
    Due Today:
    	HW06 due today.
    	Hashing and Radix sort worksheet due today.
    Announcements:
    Class Topic:
    	More about heaps
    		Demo of Max heaps using arrays. See demoHeap
    		Demo of Min heaps using leftist heaps. see demoLHeap
    	Pointers -- The PtrCommand library
    		newPtr :: a -> IO (Ptr a)
    		readPtr :: Ptr a -> IO a
    		writePtr:: Ptr a -> a -> IO ()
    		samePtr:: Ptr a -> Ptr a -> Bool
    	Mutable lists
    Assigned today: None
    

  15. Tuesday November 17, 2009
    Due Today: nothing
    Announcments:
    	Winter term course on functional programming
    		CS 457, Functional Langauges, CRN 45496
    		Tuesday-Thursday 10:00-11:50.
    Class Topic:
    	Heap Sort
    	Review of heaps.
    	Queues as mutable lists.
    	Doubly linked structures. We wrote this code.
    	Review of Pointers
    Assigned today:
    	Homework #7, Altering Heap code, due Tuesday, Dec. 1, 2009.
    

  16. Thursday November 19, 2009
    Due Today:
    Announcements:
    Class Topic:
    	Graphs
    	Kinds of graphs
    	Representing graphs in programs
    	Algorithms on graphs
    		Searching Graphs
    		Cycles in Graphs
    		Shortest Path algorithms
    	Code for graph algorithms
    Assigned today:
    

  17. Tuesday November 24, 2009
    Tuesday Before Thanskgiving - No class
    

  18. Thursday November 27, 2009
    Thanksgiving Day - Holiday - No Class
    

  19. Tuesday December 1, 2009
    Due Today:
    	Homework #7, Altering Heap code, due today.
    Announcments:
    Class Topic:
    	More on graph algorithms
    	Abstract data types = Data + operations
    		wikipedia on abstract datatypes
    Assigned today:
    	Programming Homework 8, Detecting Cycles in graphs. Due Tuesday, Dec. 8, 2009.
    

  20. Thursday December 3, 2009
    Due Today:
    Announcements:
    Class Topic:
    	More balanced Trees
    		2-3 trees in Haskell, the same code in Omega
    			read more: notes from NYU and wikipedia.
    		B-Trees. See
    			A power point tutorial.
    			an animation of search and insertion
    			wikipedia for more information
    			for a you-tube video
    	Review of topics for final exam.
    	End of year survey and course evaluation.
    Assigned today:
    

  21. Tuesday December 8, 2009
    Due Today
    	Homework 8 due today.
    Final Exam Block: 10:15-12:05
    End of Term Celebration.
    

Back to the class web-page.