Lesson 01 Lesson 02 Lesson 03
 

Assignment 1 (Due Fri, April 7th)

 

Individual Pre-Class Exercises:
<Due: 4/3 (Monday)>

  1. Get Visual Studio
  2. Orient yourself to BIT 143
  3. Create a simple console application
  4. Console I/O, Operators
  5. Fahrenheit to Celsius  (Hand-In)
  6. Nested Loops: Rectangles
  7. Nested Loops: Hollow Rectangles (Hand-In)
  8. Fibonacci numbers in an array (Hand-In)
  9. How to hand in pre-class exercises
    and homework

Individual Pre-Class Exercises:
<Due: 4/3 (Monday)>

  1. How to use a debugger: Intro
  2. Single-file Demo for PCE's
  3. Lesson 02 Overview
  4. References
    References: Sample C# Project
  5. Arrays of Simple Types
  6. SmartArray Class (Hand-In)
  7. Review: Big "Oh" Notation  (Hand-In)
  8. Figure out what a stack is  (Hand-In)
  9. Preview: Using the .Net FCL Stack (Hand-In)

Individual Pre-Class Exercises:
<Due: 4/10 (Monday)>

  1. Figure out what an enum is

  2. Define the ErrorCode Enum (Hand-In)

  3. Using the ErrorCode Enum

  4. QueueOfIntegers class (Hand-In)

  5. SmartArray: Alloc ovn demand (Hand-In)
  6. Figure out what Generics are

  7. Basic, Generic class (Hand-In)
    Generics_Fillin.zip

GROUP WORK: Post to SharePoint!!

In-Class Exercises:
<Class Date: 3/27>

  1. Create a simple console application
  2. Basic Console I/O
  3. Defining & Using a Static Method
  4. Static Variables as 'class global variables'
  5. How to hand in pre-class exercises
    and homework
     
  6. How to use a debugger: intro

In-Class Exercises:
<Class Date: 4/3>

  1. Group work guide:
    Efficiency, Correctness, Testability
  2. Slideshow: Stack ADT
  3. Using A Stack: Detecting Palindromes
  4. Test-driven development:
    Implementing a stack of ints
    1. TDD: Checklist
  5. Stacks: Running Time
  6. Stack of Simple Types vs. Reference Types
  7. Polymorphism (for general-purpose ADTs)
  8. Specifying the Queue ADT
  9. Weekly Groupwork: Finding Info (online & otherwise)
In-Class Exercises:
<Class Date: 4/10>
  1. Single-file Demo for PCE's
    (You need use this (or something similiar)
    as the 'template' for the other PCEs
    )
  2. Enums in detail
  3. Bitwise enums
  4. KeyedSmartArray (structs vs. classes)
  5. Linked List Of Ints: Basics
Instructor's Materials:
Notes
Slides
Instructor's Materials:
Notes
Slides
Instructor's Materials:
N notes
Slides
Lesson 04 Lesson 05 Lesson 06

Assignment 2 (Due Weds, April 19)

DUE: Assignment 3

Individual Pre-Class Exercises:
<Due: 4/17>
  1. SmartArray: Resizing the array (Hand-In)

  2. Linked List Of Ints: Basics
  3. Linked List Of Ints: Traversing (Hand-In)
  4. Linked List Of Ints: Remove From Front (Hand-In)
  5. LL: Refactor into a Stack class (Hand-In)
  6. LL: Printing at a specific location (Hand-In)
  7. Additional StackLL Features

  8. IEnumerable & Arrays
    (Added late, so you're not required
    to do this late one)

.ZIP archive of Lesson 04 PCEs
 

Individual Pre-Class Exercises:
<Due: 4/24>
  1. Queue implemented via Linked List
  2. IEnumerable & Arrays
    (optional, but good background reading)
  3. IEnumerable & Linked Lists (Hand-In)
  4. Polymorphism (for general-purpose ADTs)
  5. Generic Linked List (Hand-In)
  6. Keyed Generic Linked List & default values
    of generic types (Hand-In)
  7. Review: Recursion By hand: Warm-up (Hand-In)

.ZIP archive of Lesson 05 PCEs

Individual Pre-Class Exercises:
<Due: 5/1>

 

  1. Review for the exam

GROUP WORK: Post to SharePoint!!

GROUP WORK: Post to SharePoint!!

GROUP WORK: None for L06

In-Class Exercises:
<Class Date: 4/17>
  1. Linked_List_Starter.zip -
    Starter Project for Add/Remove exercises
  2. LL: Insert by value, in order
  3. LL: Remove by value
  4. LL: Finding a particular node

  5. LL: Insert by location/index
  6. LL: Remove by location/index
  7. LL: Running time

In-Class Exercises:
<Class Date: 4/24>
  1. Midterm Exam: Q+A & Review
  2. Doubly-linked list
  3. Recursion: What does it print?
  4. Recursion By hand: More Complicated

Having made them define the

LLNode, and implement the

enumerator class, this would

be a great place to go over nested

classes

 

In-Class Exercises:
<Class Date: 5/1>
  1. <Midterm Exam>
Instructor's Materials:
Notes
Slides  
Instructor's Materials:
Notes
Slides  
Instructor's Materials:
Slides  
Lesson 07 Lesson 08 Lesson 09

 

Assignment 4 (Due Weds, May 10)

Assignment 5 (Due Weds, May 17)

Individual Pre-Class Exercises:
<Due: 5/8>
  1. Compare & Contrast Two Pow implementations (Hand-In)
  2. LL/Re: Print a singly linked list recursively
  3. LL/Stack:  Print a singly linked
    list iteratively, backwards (Hand-In)
  4. Binary Search Tree preview (Required)
  5. Binary Search Tree: Class Definitions (Hand-In)
  6. Nested Classes
Individual Pre-Class Exercises:
<Due: 5/15>
  1. BST: Remove preview
  2. BST: Remove By Hand
  3. BST: Remove (coded in C#) (Hand-In)
  4. Static constructors
  5. Generics: Def of "constructed type"
  6. Generic types & static variables (Hand-In)
    1. Review: Unique IDs from static vars
  7. Explicit interface implementation (Hand-In)
Individual Pre-Class Exercises:
<Due: 5/22>
  1. Sorting & Searching: setup for the class

  2. BST: Remove (coded in C#) (Hand-In)
  3. Implementing MergeSort (Hand-In)
  4. Preview: QuickSort

  5. Operator Overloading: BST Node (Hand-In)

 

.ZIP archive of Lesson 09 PCEs

 

GROUP WORK: None for L07 GROUP WORK: None for L08 GROUP WORK: None for L09

In-Class Exercises:
<Class Date: 5/8>

  1. Discuss the Pow implementations
  2. BST: Find, Add by hand
  3. BST: Add   (coded in C#)
  4. BST: Find   (coded in C#)
  5. BST: Print  (coded in C#)
  6. BST: Remove preview

STUDENT SOLUTIONS:

In-Class Exercises:
<Class Date: 5/15>
  1. BST Remove (in lecture)
    Demo: BST Remove
  2. Preview: MergeSort

 

In-Class Exercises:
<Class Date: 5/22>
  1. MergeSort: By Hand

  2. SlideShow: QuickSort

  3. QuickSort: By Hand

  4. Implementing QuickSort

Instructor's Materials:
Notes
Slides
Instructor's Materials:
Notes
Slides   
Instructor's Materials:
Notes

Slides   
Lesson 10 Lesson 11 Unused: Always Inactive :)

DUE: Assignment 5

   
Individual Pre-Class Exercises:
<Due: 5/29>
  1. Implementing QuickSort

  2. Generics - constraints?
  3. Generic types & overloading
Individual Pre-Class Exercises:
<Due: 6/5>
  1. Review for the exam

Possible Topics:

  1.  

GROUP WORK: None for L10 GROUP WORK: None for L11  
In-Class Exercises:
<Class Date: 5/29>

ON May 31st AT THE BEGINNING OF THE LECTURE, ALL HOMEWORKS, AND REVISIONS TO HOMEWORKS MUST BE HANDED IN.  THEY WILL NOT BE ACCEPTED AFTER THAT POINT IN TIME.

In-Class Exercises:
<Class Date: 6/5>
  1. <Final Exam>

 

In-Class Exercises:
<Class Date: 3/15>

  1.  

Instructor's Materials:
Notes

Slides   
Instructor's Materials:
Notes
Slides
Instructor's Materials:
Slides

Back to BIT 143's homepage

 

 

Upcoming lectures

 

 

Invisible 142 Lessons link