This summarizes our philosophy about teaching the Marine Biology Case Study. Don't think in terms of teaching it, think in terms of using it as a tool to teach the topics of introductory Computer Science throughout the introductory courses. Teach topics like these:
Elementary Programming Constructs: declaring variables of different types; assignment; output; apstrings; conditional statements (if...else); loops (for, while); using and defining functions; one-dimensional fixed length arrays (apvector) as counters; one-dimensional dynamic arrays (apvector) to record sequences.
Classes: use of an abstraction given as a class; modification of simple classes by adding data members and modifying member functions; understanding the design of a complex program; understanding the interaction of several classes in one program; program testing; modifying the behavior of a program by modifying the interaction of classes, including adding new member functions; implementing a simple class.
Data Structures and Algorithms: a set stored as a two-dimensional array (apmatrix); a set stored as a one-dimensional array; sorting; special purpose algorithms based on the characteristics of a particular structure; binary search; informal comparison of algorithms.More advanced topics from the APCS AB curriculum that can be taught using the MBCS include these: queues; linked lists used to implement sparse arrays; a map (directory) implemented as a binary search tree; a map (directory) implemented as a hash table; efficient traversals of data structures; quicksort; formal asymptotic analysis of algorithms (big-O analysis); defining new classes; object-oriented design.
Here is an outline of how you might use parts of the MBCS to teach topics in your course. The order may vary, depending on your syllabus and text.