BIT 142:Intermediate Programming (2008 Winter)
Lessons

Table of Contents
Lesson 01 Lesson 02 Lesson 03 Lesson 04
Lesson 05 Lesson 06 Lesson 07 Lesson 08
Lesson 09 Lesson 10 Lesson 11 Misc. / Unused

Upcoming Due Dates:

(there are more dates listed in The Huge Due Date List, at the bottom of this page)

Due on:

(For items due on a Wednesday, the time which they are due by is the start of class, unless otherwise stated)

Activity
Wednesday, Mar 5 A3 (final, revised version)
Wednesday, Mar 5 PCE 09
Friday, Mar 7, AT NOON Skills Post-test for A3
Friday, Mar 7, AT NOON Opinion survey for A3
Wednesday, Mar 12 PCE 10
Wednesday, Mar 12 A4 (final, revised version)
Friday, Mar 14, AT NOON Skills Post-test for A4
Friday, Mar 14, AT NOON Opinion survey for A4
Wednesday, Mar 19 PCE 11
Wednesday, Mar 19 FINAL  EXAM
Wednesday, Mar 19 'Post-Course' opinion survey
Lesson 01
 
Individual Pre-Class Exercises:
<Due:
Jan 14th, noon PST (MONDAY of the SECOND week of the class) >
Feedback: Filenames should match links, so they're findable once downloaded
  1. Orient yourself to BIT 142
  2. Get Visual C#
  3. Join the class newsgroup ; Send the professor your email address (Required)
     
  4. Create a simple console application  (Hand-In) (Ch 3.3 (walkthrough), 3.2 (explanation of the program) )   Demo Video

  5. Downloading and using a simple console application
    'Starter' project for the lesson 01 PCEs (Pre-Class Exercises)
    Feedback: Should students comment & uncomment stuff to run them?  Explain this on day 1.  IDEA: Run through a Pre-PCE in class (do 1 exercise, .ZIP it, hand it in, etc)

  6. Basic Console I/O     (Sect. 3.5)
  7. Basic Arithmetic Operators (Sect. 3.6, 3.8)
  8. Comparison Operators (Sect. 3.9)
  9. Defining & Using an Instance Methods (Sect. 4.1-4.3 (mostly 4.3))
  10. Function Calls: A Handy Trick (on your own)
  11. Data Types (Hand-In) (Sect. 5.11, Appendix L)
    Feedback: This is kinda dry :)
  12. Order Of Operations (Hand-In) (End of Sect. 3.9, Appendix A)
  13. Console I/O, Operators (Hand-In) (previous readings)
     
  14. String Basics (Sect. 16.2) (Hand-In)
    Feedback: How to make more efficient use of the help system? x2
  15. Comparing Strings (Sect. 16.5)
     
  16. Email the instructor (MPanitz@cascadia.edu), if you haven't yet done so
     
  17. Web Hand-In for pre-class exercises and homework (Using the StudentTracker thingee)
    (Direct link to this, specific class: http://www.panitzco.com/CCC/StudentTracker/Pages/course.php?courseId=2 )
    Feedback: Gussy this up, so it's more step-by-step - focus on the 'what do I put in the .ZIP' aspect

TODO: Remove 'create your own', so starter project is the only option?

More detailed instructions on hand-in: how to .zip, which option to select - movie?

In-Class Exercises:
<Class Date: Jan 9th (Wednesday) > (Class time is ALWAYS 8pm till 10:05pm)

Review:

  1. 'Pre-Course' Attitude Survey (Required - this is an online survey, so you won't 'hand in' anything)(You will do this at the start of class)

  2. Overview of the MS-XNA grant, and Study Opt-Out Form

  3. Create a simple console application (Ch 3.3 (walkthrough), 3.2 (explanation of the program) )  Demo Video
  4. Downloading and using a simple console application
  5. Defining & Using an Instance Method
  6. Basic Console I/O

Preview:

  1. % operator
  2. integer division
  3. Different types of loops
  4. nested loops
Instructor's Materials:
Notes
Slides

 

Lesson 02

 

Individual Pre-Class Exercises:
<Due:
Jan 16th (Wednesday), before the start of class>
  1. 'Starter' project for the lesson 02 PCEs (Pre-Class Exercises)

  2. Integer vs. real division (End of Sect. 5.6, also Sect. 3.8) (Hand-In)
                                        (Demo Video   VS Project Used in the Video 
    (How to access demo projects) )
    Feedback: Using float vs. double - does it matter? (No - clarify this next time)
    Feedback: No questions were raised -just add float & everything works.  Also - video asks a question that the .DOC doesn't - Why do float & double yield different answers (4 vs. 8 byte) (?)
    Feedback: Seemed too easy - 'Am I missing something?'
  3. Modulus operator ( % ) (Section 3.8) (Hand-In)    (Demo Video)
    Feedback: Explain it a little better - focus on the 'remainder' aspect, maybe?
    Feedback: Clarify: What exactly do students need to do, here? x2

  4. Fahrenheit to Celsius (Based on your previously acquired knowledge) (Hand-In)
     
  5. Logical operators (Section 6.8)
    Feedback: Part a - a better way to express this, seems to cause confusion.  Maybe add some leading questions? (What values will be ok?  What won't?  Can you find a better way to express this?)
    Feedback: What to do with this?  What is expected for the hand-in?


  6. Conditional statements (If: Sect. 5.3 / If...Else: Sect. 5.4 / Switch: Sect 6.6 ) (Hand-In)
    Feedback: Are students required to address input that falls outside of the 0-10 range?
    Feedback: Lengthy/too much typing - could get by with 3-4 conditions instead of 10
  7. Simple loops - while, for (Sect. 5.5)
    Feedback: There is no exercise for do...while
  8. keywords: break / continue (Section 6.7)
    Feedback: Move this to before the conditional statements, since switch uses break?
     
  9. Compound Assignment operators (Section 5.9), Increment / Decrement operators (Sect. 5.10)
     
  10. Generating Random Numbers (Sect. 7.9 (Shift/scale: 7.9.1)) (Hand-In)
    FOCUS REVISION EFFORTS HERE, NEXT TIME!!
    NOTE FOR NEXT TIME: Either put something in about return values before this, so that the diceRoll method make more sense, or else simply have them do die.Next(1,7) inside their loop.  Latter is probably better...
    Feedback: Seeing pre-fab code for the first time took a bit of time to understand ; giving the Random var a name longer than the class name is odd
    Feedback: Screenshots of valid results?
    IDEA: Pre-empt the problem where people create the new Random object inside the loop, and get the same number a zillion times in a row?

     
  11. Post at least 1 question in the Google Group for this class.
    Answer at least 1 question (that someone else has posted) in the Google Group for this class
     
  12. PCE Feedback (Hand-In) (Not handing this in will result in a point penalty)
    Feedback: PCE01 - #9 - should that be removed?  Is it useful w/ the starter projects?
In-Class Exercises:
<Class Date: Jan 16th (Wednesday)
>

 

Review Topics:

  1. Q+A: Remainder ('Modulus') operator
  2. Q+A: Integer division

Preview Topics:

  1. Basic parameter, return value review
  2. Reference Parameters (out, ref) , and normal return values

  3. Random # basics   Demo File
  4. Random numbers, manually bounded   (Demo File)
      
  5. Nested Loops: Rectangles

  6. A1 Skills pre-test (due on Monday, Jan 21, before midnight)

Warning: Don't worry about the recursion section (Sect. 7.13) - we'll see that in more detail later on

Instructor's Materials:
Notes
Slides

 

Lesson 03

 DUE: Assignment 1 (Due Wednesday, Jan 23rd)

Due This Week:

Individual Pre-Class Exercises:
<Due:  Jan 23rd
 (Wednesday), before the start of class>

  1. 'Starter' project for the lesson 03 PCEs (Pre-Class Exercises)

  2. Sentinel-controlled loops: Averaging numbers (Sect. 5.7) (Hand-In)
     
  3. Nested Loops: Rectangles  (Sect. 5.8) (Demo Video   VS Project Used in the Video)
  4. Nested Loops: Hollow Rectangles (Sect. 5.8) (Hand-In)
     
  5. Printing A Range Of Numbers (Previous Knowledge) (Hand-In)
    Feedback: Make this more challenging
     
  6. Built-in Math functions  (Hand-In (Sect. 7.3)
     
  7. Basic Parameters (Sect. 4.4)
  8. Return Values (Sect 4.5 and 7.5 both have limited information.  Additional information is available at http://www.fredosaurus.com/notes-cpp/functions/return.html (this is actually a good reference, even though it's technically for C++ rather than C#) )
  9. Printing numbers, w/ params (Sect. 4.4)
     
  10. Justifying Reference Parameters (out, ref) , and normal return values  Sect. 7.14)
    For this PCE, you are encouraged to discuss this with your group.  Also, there may be multiple, valid interpretations of what a correct answer is for this exercise - you should focus on being able to clearly explain a reasonable rationale for your choices.
     

  11. Using The Distance Formula (Demo Video   Word Document Used in the Video)
    (There is nothing to hand in for this PCE.  Personally, I'd recommend doing a couple of examples by hand in order to make sure that you understand the formula.  You will be using the formula on homework assignment 2, et al.)
In-Class Exercises:
<Class Date: Jan 23rd  (Wednesday)>

 

Review /  Q + A

  1. Random # basics: Demo File
    Talk about the mechanics of pseudo-random number generation?
  2. Random numbers, manually bounded 

  3. Reference Parameters (out, ref) , and normal return values
    You'll notice that this is the same as one of your pre-class exercises.  With a partner, go through, and discuss your answers, paying particular attention to the 'why does
    X make sense here, rather than Y or Z?' questions
  4. Design: return values vs. out vs. ref parameters (Sect. 7.14) (optional)

Preview:

  1. Arrays: Basics (Sect. 8.1, 8.2)
  2. Arrays: Tracking grades in an array
     
  3. Nested Loops: Multiplication Table (optional)
Instructor's Materials:
Notes
Slides

 

Lesson 04
Individual Pre-Class Exercises:
<Due: Jan 30th (Wednesday)
before the start of class>
  1. 'Starter' project for the lesson 04 PCEs (Pre-Class Exercises)
    Feedback: Overall: How much error handling should be done?  User-related problems (entering zero numbers into an average) vs. error-checking of parameters?
    Request: Talk about Array.Copy (similar to VB's ReDim Preserve), and/or sorting?

  2. Nested Loops: Square of Numbers (Sect. 5.8)
  3. Nested Loops: Triangle of Numbers (Sect. 5.8) (Hand-In)
    Feedback/ Comment: These felt redundant from the prior week - add something to clarify the 'ongoing practice' aspect?
    Feedback/ Comment: These felt redundant from the prior week - make these more different?
     
  4. Detecting Prime Numbers (Previous Knowledge) (Hand-In)
    Feedback: Google hands back too much info about a 'prime number' - find a direct link (applet?), and/or write one in here
    Feedback: (this & Fibonacci numbers): more links to math sites?
     
  5. Arrays: Basics (Sect. 8.1, 8.2)
  6. Arrays: Usage (Sect. 8.3)
  7. Arrays: Using only part of the array (Previous Knowledge) (Hand-In
    Feedback: This seemed easier than array_basics - rename/reorder?
    Feedback/ Comment: These felt redundant from the prior exercise?
  8. Fibonacci numbers in an array (Previous Knowledge)
     
  9. Passing arrays to functions (Sect. 8.7, 8.8) (Hand-In

  10. Returning an array from a method (???) (Hand-In
    Feedback: Since these don't compile - comment them out, so people can start on the earlier exercises w/o worrying about these ones?

     
  11. Overloading: Basics (Sect. 7.12) (Hand-In) (Demo Video   VS Project Used in the Video )
     
  12. PCE Feedback (Hand-In) (This will be graded)

In-Class Exercises:
<Class Date: Jan 30th (Wednesday)>

Review:

  1. Q+A

Preview:

  1. Basic OOP - objects & instance vars.   (Chapters 4, Chapters 9)
  2. Review of classes & instances (Ch 4, Sect. 4.3)
  3. Classes with instance data (Sect. 4.5)
  4. Access Control (public, private) (Sect.  9.3)
     
  5. String Allocation Exercise
    String Allocation Rules    
    (Sample Project For String Allocation Exercise)

  6. Object Composition (Triangle made of Points) (Sect. 9.8)
Instructor's Materials:
Notes
Slides
 

 

Lesson 05

Due This Week:

  • Due on Monday, Feb 4th, before midnight: A2 Skills pre-test
    Hand this in by emailing it to the instructor (MPanitz@cascadia.edu) - do NOT include this in this week's PCE's.

  • Due on Friday, Feb 4th, before noon: A1 Skills POST-test
    Hand this in by emailing it to the instructor (MPanitz@cascadia.edu) - do NOT include this in this week's PCE's.

  • Due on Friday, Feb 8th, before noon: A1 POST-assignment survey
    Hand this in by going to the website, entering your 'Rock Star Alias', and then filling out the online form.  When you click 'Submit', your survey form will be stored in a database where Prof. Rosenberg can get them.
    Do NOT include this in this week's PCE's.

DUE: Assignment 2 (Due Wednesday, Feb 6th)

Individual Pre-Class Exercises:
<Due: Feb 6th (Wednesday)
 before the start of class>
  1. OOP Basics:
    (Demo Video   Example Project)
    OOP Encapsulation:
    (Demo Video   Example Project)

    More Background Info:
       OOP Concepts (from Sun Microsystems - the Java People)
    (Focus on the "What is an Object?", "What is a class?", and "What is inheritance?" sections - the others are nice to read, but not mandatory)
     
  2. 'Starter' project for the lesson 05 PCEs (Pre-Class Exercises)
    Feedback: This compiles 'as downloaded', yes?

  3. Basic Class with instance method (Sect. 9.2)
     
  4. Instance Variables: Adding Data To Your Class (Sect. 4.2+, Sect. 9.2)

  5. More Methods: SetValue, SetValues, Print

  6. Access Control (public, private) (Sect. 9.3) (Hand-In)
    Feedback:
    Include sample output from the desired program?
  7. Overloading: Create your own (Sect. 7.12)
    Feedback: Too vague?
  8. Constructors  (Sect 4.9, Sect. 9.6) (Hand-In) - basic - move to earlier?
    Feedback: Felt out of order - move to 3.5 (between basic class & instance variables)?
    Feedback: The getter/setter methods are required, but not used - IDEA: tell students to test 'on their own'? x2
    Feedback: More clarity about exactly what is expected?

  9. Variable Scope (class, instance, local/param vars) (Sect. 7.11) (Hand-In)
    Feedback: Provide code that demonstrated 'scope creep' and make students fix it?

  10. String Allocation Exercise
    String Allocation Rules
    HowManyStrings.cs.txt
    String Allocation Practice -ANSWERS
    Feedback: Better demonstration of concepts?
    Feedback: Not enough boxes for all the answ

  11. PCE Feedback (Hand-In) (This will be graded)

IDEA: Extract a couple of classes from a narrative? If so, 'extract a base class from a narrative' will work well in the next lesson..

In-Class Exercises:
<Class Date:  Feb 6th (Wednesday) >

Review:

  1. Q+A : Basic OOP (Methods + Data ; Encapsulation)
     
  2. Designing a class: Circle
  3. Testing a class: Circle
     

  4. StringBuilder review

Preview:

  1. references & arrays

  2. Inheritance: Basic Example (Chapter 10: Inheritance)
  3. Inheritance: Constructors
  4. Inheritance: Calling Methods in the base class
  5. Inheritance: Abstract base class
     
  6. Mixing Arrays and Classes: A Class that contains an array (Previous Knowledge)
  7. Object Composition (Triangle made of Points) (Sect. 9.8)
  8. Array of (possibly null) objects
      
  9. A3 pre-test
Instructor's Materials:
Notes
Slides
 

 

Lesson 06

Due This Week:

DUE: Assignment 3 (Due Wednesday, Feb 13th)

Individual Pre-Class Exercises:
<Due: Feb 13th (Wednesday) 
 before the start of class>

  1. OOP Inheritance (Specialization):
    (Demo Video   Example Project)

  2. 'Starter' project for the lesson 06 PCEs (Pre-Class Exercises)

  3. Basic Inheritance  (Chapter 10: Inheritance) (Hand-In)
    Feedback: Confusing to be allowed to create public fields, when they've previously been told to make everything private
    Feedback: If the fields are public, why create getter/setters?
  4. Inheritance: Constructors
    Feedback: More class time on this
  5. Inheritance: Calling Methods in the base class (Hand-In)
    Feedback: Make it clear that the base class needs a print method, to
  6. Inheritance: Abstract base class
    Feedback: Clarify how goal relates to the topic of 'abstract base classes'
  7. Overloaded Constructors: Calling One Constructor From Another
    Feedback: Directions were kind of vague on this one

  8. Mixing Arrays and Classes: A Class that contains an array (Previous Knowledge)

  9. Mixing Arrays and Classes: Array that contains many objects  (Previous Knowledge)

  10. Array of (possibly null) objects (Hand-In) (Previous Knowledge)
    Feedback: Add reference to chapter 8 - specifically page 261
    Feedback: A number of people got this backwards - instead of !=, they used ==, and then it crashed.  Maybe a quick video on this?
     

  11. C# Properties  (Sect 4.5) (Hand-In) // From Lesson 05 - double check that this isn't used earlier
  12. Read-only Properties

  13. Name Game: Analyzing String Creation (Hand-In)
    Name Game Project (VS 2003)
    Feedback: Website that explains this better?
    Feedback: This is covered in 16.10
     
  14. PCE Feedback (Hand-In) (This will be graded)

IDEA: Extract a base class from a narrative?

TODO: Put the video for the histogram back in
IDEA: Include an exercise about passing an object as a parameter to a method?

In-Class Exercises:
<Class Date: Feb 13th (Wednesday) >

Review:

  1. Midterm Exam: Q+A & Review   (including inheritance)

Preview:

  1. Creating a basic, polymorphic method NOTE:  This is in Word 2007 (.DOCX) format. If you don't have Office 2007, then you can instead use a free Word Viewer From Microsoft to view it.
  2. Polymorphism and arrays
  3. Overriding a standard method: ToString
    Feedback: 'Real world' example of polymorphism?
     
  4. Optimization: StringBuilder
    DEMO: StringBuilder: First Try
     
  5. Time permitting: Composing a class out of other classes (Circle with a Point for a location)
  6. Time permitting: Distance Between Two Points
  7. Time permitting: Overlap method
  8. Time permitting: Interaction between classes
Instructor's Materials:
Slides
 

 

Lesson 07
Individual Pre-Class Exercises:
<Due: Feb 20th
(Wednesday) before the start of class>

Feedback:
Is there a video introduction to polymorphism floating around? x2
Feedback: 'Real world' uses of polymorphism?
  1. Review for the exam!
     

  2. 'Starter' project for the lesson 07 PCEs (Pre-Class Exercises)

  3. Explaining basic polymorphism
    Feedback: This wasn't helpful, so student wrote his own.  Maybe this would be better as an in-class exercise, instead?
     

  4. Creating a basic, polymorphic method NOTE: This is in Word 2007 (.DOCX) format. If you don't have Office 2007, then you can instead use a free Word Viewer From Microsoft to view it.
    Feedback: Type these in in C#, so it's text (and accessible on Mac, etc?)

  5. Polymorphism and arrays (Hand-In)
    Feedback: It wasn't clear why multiple objects were needed, since they don't have individual data?
    Feedback: This was easy - covered in class, and again in the book
     

  6. Overriding a standard method: ToString (Hand-In)
    Feedback: Provide sample output, so it's clear that the desired output contains the X & Y values?
    Feedback: Missed the overall idea, and/or got stuck on some random aspect of documentation (IFormattable??)
    Feedback: Depending on MSDN for documentation isn't a good way to go - rewrite this so it's clear what ToString must do.
    Feedback: Definitely confusing - provide an example implementation?
  7. Polymorphism, arrays, and the ToString method
    Feedback: Provide a normal template class for this (or be very clear that there is no template, on purpose)
    Feedback: Why are we using an array of type Object?
  8. PCE Feedback (Hand-In) (This will be graded)

In-Class Exercises:
<Class Date:
Feb 20th (Wednesday)  >

  1. <Midterm Exam>
     
  2. Recursion By hand: Warm-up #1
  3. Recursion By hand: Warm-up #2

 

Instructor's Materials:
Notes
Slides

 

Lesson 08

DUE: Assignment 4 (Due Wednesday, Feb 27th)

Due This Week:

  • Due on Monday, Feb 25th, before midnight: A4 Skills pre-test  
    Hand this in by emailing it to the instructor (MPanitz@cascadia.edu) - do NOT include this in this week's PCE's.

  • Due on Friday, Feb 29th, before noon: A2 Skills post-test
    Hand this in by emailing it to the instructor (MPanitz@cascadia.edu) - do NOT include this in this week's PCE's.

  • Due on Friday, Feb 29th, before noon: A2 Attitude Survey  
    Hand this in by going to the website, entering your 'Rock Star Alias', and then filling out the online form.  When you click 'Submit', your survey form will be stored in a database where Prof. Rosenberg can get them.
    Do NOT include this in this week's PCE's.

Individual Pre-Class Exercises:
<Due: Feb 27th (Wednesday)
 before the start of class>

TODO: Use Arian's 'printable multi-copies' for the exercises
Feedback: Write more code!

  1. 'Starter' project for the lesson 08 PCEs (Pre-Class Exercises)

  2. What does this code print? (Hand-In)
    IDEA: Move the explanation to another exercise, then move this exercise till later?
    Feedback: Be more clear about why there are 80 zillion copies of the same thing
  3. Recursion By hand: Warm-up #1
  4. Recursion By hand: Warm-up #2 (Hand-In)
  5. Recursion By hand: Warm-up #3 (Hand-In)

  6. Basic (Crashing) Recursion (Sect. 7.13)
    Feedback: More explanation about what a stack is, and what's up with the whole 'overflow' thing?
  7. Basic Recursion (Sect. 7.13) (Hand-In)
    IDEA: Maybe make a video for this?  If so, focus on the 'backing out' aspect of recursion
     
  8. Polymorphism: virtual, override, new (Read Briefly)
    File: Inheritance.zip

     
  9. PCE Feedback (Hand-In) (This will be graded)
In-Class Exercises:
<Class Date: Feb 27th (Wednesday)>

Review:

  1. Recursion By hand: Warm-up #2
  2. Recursion By hand: More Complicated

Previews:

  1. Recursive Power Function
  2. Recursive Multiplication
  3. Fibonacci Numbers (And Arrays!)
     
  4. Counting objects (review, solution)
Instructor's Materials:
Notes
Slides   

 

Lesson 09

Due This Week:

  • (These first two were also listed last week, but I figured that it's better to have too many reminders, rather than too few :) )
  • Due on Friday, Feb 29th, before noon: A2 Skills post-test
    Hand this in by emailing it to the instructor (MPanitz@cascadia.edu) - do NOT include this in this week's PCE's.
    You only need to do this once, so if you did this for Lesson 08, then you don't need to do this a second time :)

  • Due on Friday, Feb 29th, before noon: A2 Attitude Survey  
    Hand this in by going to the website, entering your 'Rock Star Alias', and then filling out the online form.  When you click 'Submit', your survey form will be stored in a database where Prof. Rosenberg can get them.
    Do NOT include this in this week's PCE's.
    You only need to do this once, so if you did this for Lesson 08, then you don't need to do this a second time :)

  • NEW STUFF:
  • Due on Friday, Mar 7th, before noon: A3 Skills post-test
    Hand this in by emailing it to the instructor (MPanitz@cascadia.edu) - do NOT include this in this week's PCE's.

  • Due on Friday, Mar 7th, before noon: A3 Attitude Survey  
    Hand this in by going to the website, entering your 'Rock Star Alias', and then filling out the online form.  When you click 'Submit', your survey form will be stored in a database where Prof. Rosenberg can get them.
    Do NOT include this in this week's PCE's.

Individual Pre-Class Exercises:

<Due: Mar 5th (Wednesday)  before the start of class>

  1. 'Starter' project for the lesson 09 PCEs (Pre-Class Exercises)
  2. Recursively Printing Even Numbers (Hand-In)
  3. Recursive Power Function
  4. Recursive Multiplication (Hand-In)
  5. Write Factorial
  6. Fibonacci Numbers (And Arrays!)
     
  7. Sorting & Searching: setup for the class (Hand-In)
     
  8. The following are not part of this week's PCEs, but are being left here for future terms:
    Object Allocation Exercise
    Object Allocation Rules
    HowManyObjects.cs.txt
    <Answers to be gone over in class>
  9. Object Allocation Exercise
    Object Allocation RulesHowManyObjects2.cs.txt
In-Class Exercises:
<Class Date: Mar 5th (Wednesday)  >

Review:

  1. Recursion

Preview:

  1. Linear Search By Hand

  2. Binary Search By Hand

  3. Bubble Sort By Hand
  4. Selection Sort (Algorithm, and by hand)

Videos Of Prior Lectures:

  1. Due Dates, Binary Search

  2. BubbleSort

  3. SelectionSort
Instructor's Materials:
Notes

Slides   

 

Lesson 10
  • Due on Friday, Mar 7th, before noon: A3 Skills post-test
    Hand this in by emailing it to the instructor (MPanitz@cascadia.edu) - do NOT include this in this week's PCE's.

  • Due on Friday, Mar 7th, before noon: A3 Attitude Survey  
    Hand this in by going to the website, entering your 'Rock Star Alias', and then filling out the online form.  When you click 'Submit', your survey form will be stored in a database where Prof. Rosenberg can get them.
    Do NOT include this in this week's PCE's.
Individual Pre-Class Exercises:
<Due: Mar 12th (Wednesday)  before the start of class >
  1. 'Starter' project for the lesson 10 PCEs (Pre-Class Exercises)

  2. Sorting & Searching: setup for the class
  3. Linear Search
  4. Binary Search
  5. Write recursive binary search
    Feedback: Algorithm snippet?
  6. Linear Search: Measuring Performance (Hand-In)
  7. Binary Search: Measuring Performance (Hand-In)

  8. BubbleSort
  9. BubbleSort: Measuring Performance (Hand-In)
    Feedback: Introduce the 'bubble' analogy to explain the algorithm's name?
  10. Analyzing the different algorithms (Hand-In) (Demo Video: Scatter Plots in Excel)
    Feedback: Explain the O notation more?
     
  11. The following are not part of this week's PCEs, but are being left here for future terms:
    StringBuilder Tutorial (Required)
    Example Project #1            Example Project #2             Example Project #3              Example Project #4
In-Class Exercises:

<Class Date: Mar 12th (Wednesday)  >

  1. UWB-CSS presentation

  2. CIEs!
     
  3. Final Exam: Q+A & Review
     
  4. < Algorithms Review >
    Runtimes.xls
     
  5. Big "Oh" Notation
     
  6. Using .Net's Array.Sort, Array.Search 
    Feedback: Also cover Array.Copy?

Instructor's Materials:
Notes
Slides

 

Lesson 11
  • Due on Friday, Mar 21st, before noon: A3 Skills post-test
    Hand this in by emailing it to the instructor (MPanitz@cascadia.edu) - do NOT include this in this week's PCE's.

  • Due on Friday, Mar 21st, before noon: A3 Attitude Survey  
    Hand this in by going to the website, entering your 'Rock Star Alias', and then filling out the online form.  When you click 'Submit', your survey form will be stored in a database where Prof. Rosenberg can get them.
    Do NOT include this in this week's PCE's.

  • Due on Friday, Mar 21st, before noon: A4 Skills post-test
    Hand this in by emailing it to the instructor (MPanitz@cascadia.edu) - do NOT include this in this week's PCE's.

  • Due on Friday, Mar 21st, before noon: A4 Attitude Survey  
    Hand this in by going to the website, entering your 'Rock Star Alias', and then filling out the online form.  When you click 'Submit', your survey form will be stored in a database where Prof. Rosenberg can get them.
    Do NOT include this in this week's PCE's.

Individual Pre-Class Exercises:
<Due:
Mar 19th (Wednesday)  before the start of class >

  1. Final Exam: List of Review Topics

In-Class Exercises:
<Class Date: 
Mar 19th (Wednesday)  >

  1. <Final  Exam>

  2. 'Post-Course' Attitude Survey (Required - this is an online survey, so you won't 'hand in' anything)(You will do this BEFORE you start the final)

Instructor's Materials:
Slides

The Huge Due Date List

Note: This list is an attempt to collect up in a single spot all the due dates for the term.  These dates may change.  There may be more items added.  It is your responsibility to make sure that you know what's due when, to make sure that you don't miss anything.

In particular, the homework revisions may be moved to a week earlier, if the instructor can return the initial version within 24 hours of the due date.

Due on:

(For items due on a Wednesday, the time which they are due by is the start of class, unless otherwise stated)

Activity
Wednesday, Jan 9
(This will be done in-class on the first day)
Fill out the 'pre-course' survey:
(NOTE: You will need your 'rock star' pseudonym before you're able to do this. This will be assigned to you on the first day of class)
Wednesday, Jan 9
(No later than midnight)
Email the professor, so that the professor has your email address
Monday, Jan 14, by NOON PCE 01
Wednesday, Jan 16 Google Group: Sign yourself up, post a question, answer someone else's question:
Wednesday, Jan 16 PCE 02
Monday, Jan 21, midnight Skills pre-test for A1
Wednesday, Jan 23 A1 (initial version)
Wednesday, Jan 23 PCE 03
Wednesday, Jan 30 PCE 04
Monday, Feb 4th, at MIDNIGHT Skills pre-test for A2
Wednesday, Feb 6 A2 (initial version)
Wednesday, Feb 6 PCE 05
Wednesday, Feb 6 A1 (final, revised version)
Friday, Feb 8th, AT NOON Skills Post-test for A1
Friday, Feb 8, AT NOON Opinion survey for A1
Monday, Feb 11, at MIDNIGHT Skills pre-test for A3
Wednesday, Feb 13 PCE 06
Wednesday, Feb 20 A3 (initial version)
Wednesday, Feb 20 MIDTERM EXAM
Monday, Feb 25, at MIDNIGHT Skills pre-test for A4
Wednesday, Feb 27 A4 (initial version)
Wednesday, Feb 27 PCE 07
Wednesday, Feb 27 A2 (final, revised version)
Friday, Feb 29, AT NOON Skills Post-test for A2
Friday, Feb 29, AT NOON Opinion survey for A2
Wednesday, Feb 27 PCE 08
Wednesday, Mar 5 A3 (final, revised version)
Wednesday, Mar 5 PCE 09
Friday, Mar 7, AT NOON Skills Post-test for A3
Friday, Mar 7, AT NOON Opinion survey for A3
Wednesday, Mar 12 PCE 10
Wednesday, Mar 12 A4 (final, revised version)
Friday, Mar 14, AT NOON Skills Post-test for A4
Friday, Mar 14, AT NOON Opinion survey for A4
Wednesday, Mar 19 PCE 11
Wednesday, Mar 19 FINAL  EXAM
Wednesday, Mar 19 'Post-Course' opinion survey

 

Back to BIT 142's homepage

Unused Lecture Material

BIT 143's Lessons Page

 

Solicit Feedback On:

PCE 01: is it confusing to have the 'create your own console' exercise, then have to use the template a lot
Is it better to put off the ref/out/return values till later?  ordering of functions vs. OOP?
Plan for A3: After basic OOP, cover 'OOP interactions', BREAK FOR MIDTERM, then do inheritance, polymorphism & onwards.
How helpful was it to have the 'upcoming due dates' and the 'grand table of due dates'?

 

Overall Feedback:
Make sure that all starter projects compile as downloaded
Include a copy of the desired program's output?

v