Linked Lists: Add, Remove at the front, Printing the list

Individual Post-Class Exercises
  1. Lesson Setup

    1. Start-of-lecture Slides (Required)

    2. The starter project for the source code:

      1. At this point I believe that everyone should be able to use GitHub to both download the starter project and upload their work.
        At the same time I'd like to have one more lesson (this one) that allows you to hand in your work through Canvas just in case anyone has any problems.
        The plan is to ONLY use GitHub starting in the next lesson.

      2. For this lesson everyone is expected to use GitHub to download the starter project
        AND AT THE SAME TIME
        anyone who does so will get 5 points of extra credit for using GitHub.

      3. Please use this link to access the repo with the 'Starter' project for lesson 04 PCEs (VS 2017/2019)

      4. Just in case GitHub doesn't work for you I'm also making that same starter project available here:  'Starter' project for the lesson 04 PCEs (VS 2019, .Net 5)

    3. Watch the online videos for this lesson and demonstrate your knowledge (Hand-In)
      You can download a .ZIP of all the videos for this lesson from Microsoft's OneDrive website by opening the folder (click this link to open the folder), then clicking on the "Folder Actions" menu, then clicking on the "Download Folder" menu item.

  2. Nested Classes

    1. Exercise: Reference Types vs. Value (Simple) Types

    2. VIDEO:  
      OneDrive: Nested Classes
      DropBox: Nested Classes
    3. Exercise: Nested Classes: Basics (Required)
  3. Linked Lists: Adding A Node To The Front Of The List

    1. VIDEO:
      OneDrive: Linked Lists: Overview
      DropBox: Linked Lists: Overview
    2. VIDEO:
      OneDrive: Linked Lists: AddAtFront
      DropBox: Linked Lists: AddAtFront
    3. Exercise: Linked List Of Ints: Add to Front   (Hand-In)
      (Sect. 24.3, 24.4)
      (Feel free to add fields & methods to the provided class, if you want to, in order to accomplish the tasks in this lesson)
  4. Linked Lists: Interacting With All Nodes In The List

    1. VIDEO:
      OneDrive: Linked Lists: PrintAll
      DropBox: Linked Lists: PrintAll
    2. Exercise: Linked List Of Ints: Traversing      (Hand-In)
      (Sect. 24.4 - 'Print' )
  5. Linked Lists: Removing A Node From The Front Of The List

    1. VIDEO:
      OneDrive: Linked Lists: RemoveFromFront
      DropBox: Linked Lists: RemoveFromFront
    2. Exercise: Linked List Of Ints: Remove From Front (Sect. 24.4) (Hand-In)
  6. Linked Lists: Interacting With A Specific Node In The Middle Of The List

    1. VIDEO:
      OneDrive: Linked Lists: Print At Location
      DropBox: Linked Lists: Print At Location
    2. Exercise: LL: Printing at a specific location (Hand-In)
  7. Dynamic Memory Allocation

    1. Exercise: SmartArray: Alloc on demand (Hand-In)
      (Note: The 'SmartArrayAOD' exercises were changed to use exception handling - let me know ASAP if there appears to be any errors)

  8. Last Steps

    1. Exercise: Adding a file to git, using VS on your computer (Hand-In)
      This is the last time that I'll include this step on the lesson page, but you must include a file with your name in the filename for all lessons after this one, too
    1. Hand in your work: 

      1. Create and commit a file which tells me your name
        Please create a text file in Visual Studio (or NotePad/Text Editor/etc) and please name the file LASTNAME, FIRSTNAME.txt, where LASTNAME is replaced with your last name and FIRSTNAME is replaced with your first name (based on how you registered at Cascadia).
        This will enable me to know who you are even if it's not clear from your GitHub username.

      2. It's expected that everyone will hand this in through GitHub.
        Make sure that you've added all the files AND that you've committed the most recent changes to GitHub.

        1. You can check that the files are there by going to your repo on the GitHub website and verifying that the files are listed.

        2. You can check that you've committed the most recent changes to GitHub by either looking at content the files on GitHub.com (this works for the C# source code files) or by downloading the file and examining it on your computer (this works for Word and PDF files)

        3. You do NOT have to .ZIP anything.  Put everything in your GitHub repo and I'll sort it out :)

        4. REMEMBER TO ADD, COMMIT, AND PUSH YOUR VIEWING QUIZ (or Video Outlines)

        5. Handing in your work through GitHub (and ONLY GitHub - do NOT hand in your work through Canvas) will get you 5 points of extra credit.

      3. Just in case anyone runs into trouble with GitHub you can hand in your work using Canvas.
        This is the last lesson that you can do this.

        1. Please follow the instructions listed here to hand in the starter project for the overall Lesson.
          (These instructions are for BIT 142 specifically, but they should make sense for this class, too)

          MAKE SURE THAT YOU INCLUDE THE 'PLACEHOLDER' FILE FOR INSTRUCTOR FEEDBACK, and that you upload this file directly to Canvas.
        2. There is no extra credit for handing in your work through Canvas.
      4. Please hand your homework into EITHER GitHub OR ELSE Canvas but not both.
        I'm planning on checking GitHub before I check Canvas but it'll make it easier for me if your work only appears in one place.
    2. How to get your feedback from GitHub:

      For the weekly exercises that you submit through GitHub you'll need to open an .HTML file to see your feedback.
      We can't do this directly in GitHub so you'll need to download it first, and then open it on your local computer.

      • You should see a file with a name similar to "<YourName>, -, PCE 04, 2020-05-07_06-11-28.html" in your repo.
        Click on this to open it in GitHub.
      • Once you're on the page for the .HTML file find the 'Download' button (on the right side, near-ish to the top)
      • Download it and open it in a browser you should be able to see the feedback.
    3. Make sure that you're working on the next homework assignment.
      Details are listed on the
      homework assignment page.
      The due date is listed on the main page.
    4. Practice what you've learned
      Remember that in order to really learn this stuff you're going to need to practice it.  Go back and redo the exercises from this lesson until you've really got it down.  Go back to the prior lesson(s) and review and redo that.  Make sure that you've really got this stuff in your head (and remember that it gets easier each time you redo the work)!
In-Class Materials:

These materials are used by students in the hybrid class during leture time.  Online students can safely ignore everything in this 'In Class Materials' box.

In-Class Materials:

Instructor's Materials:

Videos recorded during class (of the In-Class Exercises):