Overview
This week we will finish our implementation of linked lists in BDS C, and take a look at how this fundemental data structure is used in memory management on our systems.
Thursday, January 22nd
Classwork / Homework / Evaluation
So as not to duplicate the work of the other class, and taking advantage of having Liam here with us in this class, we will take a deep dive into 8.7 Example - A Storage Allocator on pages 173 to 177 of The C Programming Language, 1st Edition.
Specifically, we will pair up, with one pair each taking on the following tasks:
-
Study 5.4 Address Arithmetic on pages 96 to 99, implement the
allocfunction descussed therein, and prepare a presentation to class explaining it. Nikita and Sean - Study 8.7 Example - A Storage Allocator and prepare a detailed presentation explaining how it works, including visualizations that make its operation understandable. Abi and Rockwell
-
Investigate how the
allocfunction in BDS C is similar to and/or different from what is described in section 8.7. Brendan, Gabriel C. and Liam - Consider the exercises on page 177 (exercises 8-6, 8-7 and 8-8) and see which of these could be written on our machines with BDS C, and then write them. Eleanor and Alex
The goal will be to make this the final project for CSC 215, and given the coming weather event, we will be sharing it at the unknown date when we have our next in person meeting.
Wednesday, January 21st
Classwork / Homework / Evaluation
In our Course Objectives for CSC 223 we find the following:
- Describe and explain abstract data types including stacks, queues, singly and doubly linked lists, sets, maps, and graphs.
- Compare and contrast contiguous and linked structures.
- Develop, convey, and exchange ideas in writing, as appropriate to a given context and audience.
Each of these goals can be either fully or partially met with our current linked list study.
Liam collected the work completed yesterday in his Altair8800DS repo. Toby and Blu agreed to be added to the repo, since they can meet with Liam during Archers period, and then have them gather the work you all do today and put in a branch together with a pull request for Liam to approve tomorrow.
Toby, Blu, Jake and Conrad will implement circular linked lists, and Gabriel B, Alessandra, Dylan and Noah will implement doubly linked lists. Donovan and Anupama will put together the C++ linked list implementation discussed in Chapter 17: Linked lists of A C++ Book for Undergraduate Computer Science Majors.
Tuesday, January 20th
Classwork / Homework / Evaluation
We will share implementations of the functions we were assigned last week and gather them together into a linked list library we can use later.