Skip to content

Latest commit

 

History

History
43 lines (26 loc) · 1.8 KB

README.md

File metadata and controls

43 lines (26 loc) · 1.8 KB

Remedial Programming Class

Fork to play along from home.

Class Activities

Each week or so, we'll start with a basic outline of a data structure with some test data we can play with.

A basic guideline of what methods should be implemented will be given. For the most part I plan on following a simplified STL for most of my interfaces. Everyone, of course, is free to choose anything they want.

Check out the code, fill in your implementation, write some tests, etc. At the end of the week anyone who's interested can get together and talk about how it went, and award arbitrary points for arbitrary accomplishments. We can then come up with challenges for the next week.

Since we don't have any challenges set for the first week, I encourage discussing possible challenges now.

Lesson Plan

Write a dynamically resizing array. Implement two sorting algorithms that can function on this array.

Week 2: Binary Trees and Balancing

Write a balanced binary tree.

Week 3: Hashes and Bucketing

Write a hash map implementation. Play around with bucketing algorithms.

Week 4: Strings and Chunking

Return to the dreaded CS70 final assignment: ChunkyString. Implement an object that from the outside appears as if it's a string (array of chars), but is implemented as a linked list of fixed size arrays of chars for efficiency in insertion and deletion.

Week 5: Functionality and Link Listing

Everyone loves functional programming. Create a functional programming-style immutable list. Implement a set of functional operators for this list (map, reduce, zip, etc.).