Wow, week 7! We're almost half-way through the semester… just a few weeks ago we passed the 1/3 point. And look at all the progress we've made!
You are your own worst enemy once again, it seems. A number of people have been struggling with append(), until they see how simple it is. Remember:
sll2 is making an appearance this week, enabling us to complete our singly linked list implementation. Historically, sll2 tends to give tired/closed minds more grief, so be sure to get plenty of rest and keep an open mind about effective solving of the problems it throws at you.
I got metrics pages up for both sll0 and sll1; and because it is all in one nice streamlined script, sll2 will instantly be included, so if you're a fan of seeing all the generated data being visualized, enjoy!
I've decided to give you next week (October 12-16) off from your classes (you're welcome). But, so that you don't end up going through withdrawal, I have decided to release the next round of projects after sll2 a week early. And, if you've noticed, sll2 isn't due until the following week. This means:
sll3 is a small transition project, adding some new specifications to our linked list to make it compatible for use in sll4. The intent is that sll3 and sll4 are grouped together (do sll3 first, then move on to sll4).
If you have a working list implementation, sll3 should not take that much time at all.
If you don't have a working list implementation, look at sll3 as a “second chance” to get it right.
sll4 takes us to some new heights… beyond linked lists! Actually, it will enable us to interact with multiple lists (just as a linked list lets us interact with multiple nodes), through the creation of “singly linked lists of singly linked nodes” with the addition of a new group struct (to have groups of lists).
with that said, the list we've been working on in sll0, sll1, and sll2 would more accurately be called a “list of singly linked nodes” (singular on list, plural on nodes). With sll4 we merely pluralize that.
If you liked dsi0 and the detail-oriented aspects of sln1, sll0, and sll1 (ie you are more of a hands-on/detail-oriented person), you should find familiarity with sll2 and sll3.
If you liked the more conceptual aspects of nodes and lists (sln0, sln1, sll0), figuring out the unique approaches to problem solving it offers (i.e. you are more of a theory/concept-oriented person), you may find that fresh sense of wonder return with sll4.
at the same time, there are plenty of familiar patterns, and if you see them for what they are, sll4 could be a rather trivial project to implement (aside from the new stuff being conceptually new, the resulting code is conceptually the same as some things you've already done– if you allow yourself to see that).
I timed the release of sll3 and sll4 until Tuesday, October 13th at 9:05am. Why? To set a certain pace… I didn't want to overwhelm people who haven't yet fully gotten a handle on the insulating effect of time. I also did want huge bonus point gains should people finish it even sooner in advance (don't you want something to look forward to?)