BIT 142:Intermediate Programming (2008 Spring)
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, Jun 11 FINAL  EXAM
Wednesday, Jun 11 'Post-Course' opinion survey
Lesson 01
 
Individual Pre-Class Exercises:
<Due:
Apr 7, noon PST (MONDAY of the SECOND week of the class) >
  1. Orient yourself to BIT 142
     
  2. Get Visual C#
  3. Install the software for XNA
     
  4. Join the class newsgroup ; Send the professor your email address (Required)
     
  5. Create a simple console application  (Ch 3.3 (walkthrough), 3.2 (explanation of the program) )  
    There is a
    Demo Video that walks you through this, too
    DONE:: Deemphasize the 'create your own project' (focus on using provided starter projects,instead)

  6. Downloading and using a simple console application
     
  7. 'Starter' project for the lesson 01 PCEs (Pre-Class Exercises) (DOWNLOAD THIS!!)

  8. Basic Console I/O     (Sect. 3.5)
  9. Basic Arithmetic Operators (Sect. 3.6, 3.8)
  10. Comparison Operators (Sect. 3.9)
  11. Defining & Using an Instance Methods (Sect. 4.1-4.3 (mostly 4.3))
  12. Function Calls: A Handy Trick (on your own)
  13. Data Types (Hand-In) (Sect. 5.11, Appendix L)
    Feedback: This is kinda dry :)
  14. Order Of Operations (Hand-In) (End of Sect. 3.9, Appendix A)
  15. Console I/O, Operators (Hand-In) (previous readings)
     
  16. String Basics (Sect. 16.2) (Hand-In)
    Feedback: How to make more efficient use of the help system? x2
    Feedback: Double check that links go where they should
  17. Comparing Strings (Sect. 16.5)
     
  18. Web Hand-In for pre-class exercises and homework (Using the StudentTracker thingee)
    (Direct link to this, specific class: http://panitzco.com/CCC/StudentTracker/Pages/course.php?courseId=1  )
In-Class Exercises:
<Class Date: Apr 2 (Wednesday) > (Class starts at 5:45pm, and ON THIS DAY ONLY, it goes 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 Methods
  6. Basic Console I/O
     
  7. More detailed instructions on hand-in: how to .zip, which option to select - movie?
  8. Feedback: Seemed too easy - 'Am I missing something?'

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:
Apr 9 (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?  Specifically, what if 3 % 17, instead of 17 % 3?
    Feedback: Clarify the objective for this exercise is to explore the basics (usage will come later)
    Feedback: Combine this with logical operators? 
  4. Fahrenheit to Celsius (Based on your previously acquired knowledge) (Hand-In)
    Feedback: Maybe provide a hint about "you should test this with a variety of values, and check the answer?"
     
  5. Logical operators (Section 6.8)
    Feedback: Add exclusive OR here, too

  6. Conditional statements (If: Sect. 5.3 / If...Else: Sect. 5.4 / Switch: Sect 6.6 ) (Hand-In)
    Feedback: Clarify what is meant by 'fall-thought', since C# doesn't allow general fall-through

  7. Simple loops - while, for (Sect. 5.5)
     
  8. keywords: break / continue (Section 6.7)
     
  9. Compound Assignment operators (Section 5.9), Increment / Decrement operators (Sect. 5.10)
     
  10. Basic Random Number Generation (Sect. 7.9 (Shift/scale: 7.9.1))
     
  11. Generating Random Numbers Using A Separate Class  (Sect. 7.9 (Shift/scale: 7.9.1)) (Hand-In)
    Feedback: Include a numbered list of stuff to do
    Feedback: This still doesn't really work well - eliminiate it, maybe replace with a review of functions/return values in C#, as prep for the lecture?
     
  12. PCE Feedback (Hand-In)
    (Not handing this in will result in a point penalty)
     
  13. 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
In-Class Exercises:
<Class Date: Apr 9  (Wednesday)
> (Class starts at 5:45pm, and goes till 7:50pm - this schedule will be followed throughout the rest of the term)

 

Review Topics:

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

Preview Topics:

  1. Random # basics   Demo File
  2. Random numbers, manually bounded   (Demo File)
      
  3. Nested Loops: Rectangles
  4. Basic parameter, return value review
  5. Reference Parameters (out, ref) , and normal return values

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, Apr 16)

Due This Week:

Individual Pre-Class Exercises:
<Due:  Apr 16
 (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: Apr 16  (Wednesday) >

 

Review /  Q + A

  1. 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
  2. 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)
  4. Passing values to, from array
  5. Multidimensional (Rectangular) Arrays (Sect. 8.10)
    DEMO Project: MultiDim Arrays
Instructor's Materials:
Notes
Slides

 

Lesson 04
Individual Pre-Class Exercises:
<Due: Apr 23 (Wednesday)
before the start of class>
  1. 'Starter' project for the lesson 04 PCEs (Pre-Class Exercises)

  2. Nested Loops: Square of Numbers (Sect. 5.8)
  3. Nested Loops: Triangle of Numbers (Sect. 5.8) (Hand-In)
     
  4. Detecting Prime Numbers (Previous Knowledge) (Hand-In)
    More information about what a prime number is?
     
  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
  8. Fibonacci numbers in an array (Previous Knowledge)
    Add a link to the definition of fibonacci numbers / background reading?

     
  9. Passing arrays to functions (Sect. 8.7, 8.8) (Hand-In
    This was difficult for several students

  10. Returning an array from a method  (Hand-In
    (http://www.java2s.com/Code/CSharp/Language-Basics/Returnanarray.htm has an interesting example; you should feel free to Google for more info, if you need it)
    Request: Talk about Array.Copy (similar to VB's ReDim Preserve), and/or sorting?
     
  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: Apr 23 (Wednesday) >

Review:

  1. Q+A
  2. Lesson 03 quiz redo

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)

Instructor's Materials:
Notes
Slides
 

 

Lesson 05

Due This Week:

  • Due on Monday, Apr 28, 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, May 2, 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, May 2, 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, Apr 30)

Individual Pre-Class Exercises:
<Due: Apr 30 (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)

  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)
  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)?

  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 answers

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:  Apr 30 (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. Mixing Arrays and Classes: A Class that contains an array (Previous Knowledge)
  3. Object Composition (Triangle made of Points) (Sect. 9.8)
  4. Array of (possibly null) objects
     
  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:
Notes
Slides
 

 

Lesson 06

Due This Week:

  • Due on Friday, May 2, 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, May 2, 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 on Monday, Jan 11th, before midnight: A3 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: Assignment 3 (Due Wednesday, May 7)

Individual Pre-Class Exercises:
<Due: May 7 (Wednesday)
 before the start of class>
Liked getting each step of the assignment - more scaffolding?
Feedback: More examples of passing arrays of objects?

  1. 'Starter' project for the lesson 06 PCEs (Pre-Class Exercises)
    Feedback: In main, remove the line for Basic_Array_Of_Objects; there's a duplicate line for Array_Of_Objects_With_Null, too
    Feedback: Why is there a ton of extra code in the starter?


    OBJECTS AND PARAMETERS & RETURN VALUES:

  2. Passing an object to a method         Wikipedia: Separation of Concerns    Coupling
  3. Returning an object from a method
  4. Passing two objects to a method, then returning one of them (Hand-In)
    Feedback: Confusing - too many methods, passing too many things around.  'Coupling' definition may not have helped, either. x2
    Feedback: short, nonsensical object names aren't helping: oap, oarp, oasarv
    Feedback: Separate out the Television class as a separate PCE?

    ARRAY INSIDE OF A CLASS
  5. Mixing Arrays and Classes: A Class that contains an array of simple types (Previous Knowledge)
  6. Mixing Arrays and Classes: A Class that contains an array of (possibly null) reference types (Hand-In) (Previous Knowledge; Chapter 8 (Page 261 may be useful) )
    Feedback: Not clear how to 'un-null-ify' the null values

    COMPOSING A CLASS OUT OF OBJECTS:

  7. An object composed of other objects (Triangle made up of 3 Points) (Hand-In)
    Feedback: Requirement 3c was overloaded - break this up, or else explain it better first?

  8. An object composed of other objects (different types) Car composed of Engine + Stereo System + Security System
    BUGBUG: The requirements are from the prior exercise!!!

    TWO VARIABLES AS 'ALIASES' OF A SINGLE OBJECT ("co-modification"):

  9. Passing an object to a method (by value vs. by ref)
  10. Implications of passing an object by ref: assigning a parameter to an instance variable
  11. Creating a private object, returning it, and changing it


  12. Name Game: Analyzing String Creation (Hand-In) (Sect. 16.10 may be useful here)
    Name Game Project (VS 2003)
    Feedback: Upgrade to VS 2005.  Maybe incorporate into starter project?

     

  13. PCE Feedback (Hand-In) (This will be graded)
    Feedback: Make it clear that 'check online documentation' really means 'search the Web' (as opposed to searching the course website) x2

IDEA: Extract a base class from a narrative?

IDEA: More consistent use of the 'separation of concerns' bit?

TODO: Put the video for the histogram back in

TODO: Have a 'UI' class manage a 'collection' class, which in turn manages 'data objects' ?? (this is A3 )

Passing an object to a method; that class then caches the parameter inside the object
(Point objects being passed to a Triangle's constructor would be great)  re-visit 'co-modification'


In-Class Exercises:
<Class Date: May 7 (Wednesday) >

Review:

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

Preview:

  1. Inheritance: Basic Example (Chapter 10: Inheritance)
  2. Inheritance: Constructors
  3. Inheritance: Calling Methods in the base class
  4. Inheritance: Abstract base class
     
  5. Optimization: StringBuilder
    DEMO: StringBuilder: First Try
Instructor's Materials:
Slides
 

 

Lesson 07
Individual Pre-Class Exercises:
<Due:
May 14 (Wednesday) before the start of class>
(There is no penalty for handing this lesson's PCEs in until May 21 - you are still responsible for knowing the material on the midterm exam!)
  1. OOP Inheritance (Specialization):
    (Demo Video   Example Project)

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

  3. Basic Inheritance  (Chapter 10: Inheritance) (Hand-In)

  4. Inheritance: Constructors
  5. Inheritance: Calling Methods in the base class (Hand-In)

  6. Inheritance: Abstract base class
    Feedback: Use car or vehicle as the base class, CONSISTENTLY!!

  7. Overloaded Constructors: Calling One Constructor From Another  (Hand-In)

  8. PCE Feedback (OPTIONAL) (This will NOT be graded, and you are NOT required to hand this in.  But, if you have any useful feedback about this lesson, I would invite you to submit feedback through this document)
  9. Review for the exam!

In-Class Exercises:
<Class Date: May 14
(Wednesday)  >

  1. <Midterm Exam>
     
  2. Creating a basic, polymorphic method NOTE:  This is in Word 2007 (.DOCX) format. If you don't have Office 2007, then you can use a free Word Viewer From Microsoft to view it.
  3. Polymorphism and arrays
  4. Overriding a standard method: ToString
    Feedback: 'Real world' example of polymorphism?
Instructor's Materials:
Notes
Slides

 

Lesson 08

DUE: Assignment 4 (Due Wednesday, May 21)

Due This Week:

  • Due on Monday, May 19, 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, May 23, 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, May 23, before noon: A2 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.

Individual Pre-Class Exercises:
<Due: May 21 (Wednesday)
 before the start of class>

Feedback: Is there a video introduction to polymorphism floating around? x2
Feedback: 'Real world' uses of polymorphism?
Feedback:
More polymorphism exercises?

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

  2. Explaining basic polymorphism
    Feedback: Kinda dry
     

  3. Creating a basic, polymorphic method ( Word 2007 format ) ( HTML format )
    NOTE: If you don't have Office 2007, then you can instead use a free Word Viewer From Microsoft to view the Word 2007 file.

  4. Polymorphism and arrays (Hand-In) (TODO: List the chapter/section from the book that covers this in detail)
     

  5. Overriding a standard method: ToString (Hand-In)
    Feedback: Give some examples of how this might be useful.
     
  6. Polymorphism, arrays, and the ToString method
    Feedback: This references a class that wasn't in this lesson's PCEs

     
  7. C# Properties  (Sect 4.5) (Hand-In)
    Feedback: A bit confusing - more examples?
    Feedback: Examples of usage?
    Feedback: This exercise requires a second, different Point class.  Rename it?
    Feedback: This exercise tells students to play around with trying to create read-only properties... and the next one then makes them do RO props
     
  8. Read-only Properties
     
  9. Polymorphism: virtual, override, new (Read Briefly)
    File: Inheritance.zip

     
  10. PCE Feedback (Hand-In) (This will be graded)
In-Class Exercises:
<Class Date: May 21 (Wednesday) >

Review:

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

Previews:

  1. Recursion By hand: Warm-up #1
  2. Recursion By hand: Warm-up #2
     
  3. Time Permitting: Recursive Power Function
  4. Time Permitting: Recursive Multiplication
  5. Time Permitting: Fibonacci Numbers (And Arrays!)
     
  6. Counting objects (review, solution)
Instructor's Materials:
Notes
Slides   

 

Lesson 09

Due This Week:

  • Due on Friday, May 30, 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, May 30, before noon: A3 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.

Individual Pre-Class Exercises:

< Due: May 28 (Wednesday)  before the start of class >

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

  2. There's a .ZIP archive of all the warm-ups, in 'printable' format here
    (Feel free to download & print these out - the purpose is explained in #4, below)
  3. Recursion By hand: Warm-up #1
  4. What does this code print? (Hand-In)
  5. Recursion By hand: Warm-up #2 (Hand-In)
  6. Recursion By hand: Warm-up #3 (Hand-In)

  7. Basic (Crashing) Recursion (Sect. 7.13)
    One explanation of the stack (and related security issues) is available at http://www.csm.ornl.gov/~dunigan/smash.txt- it's probably more detailed than you need (and in the C language), so skim it for background, but don't read it in detail. (Side note: Java/C# were designed specifically to prevent stack/buffer overflows)
     
  8. Basic Recursion (Sect. 7.13) (Hand-In)
    IDEA: Maybe make a video for this?  If so, focus on the 'backing out' aspect of recursion
  9. Sorting & Searching: setup for the class (Hand-In)
     
  10. 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>
  11. Object Allocation Exercise
    Object Allocation RulesHowManyObjects2.cs.txt
In-Class Exercises:
<Class Date: May 28 (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)

2008 Spring Videos:

  1. Due Dates, etc

  2. Binary Search, Big Oh notation

  3. BubbleSort

Videos Of Prior Lectures:

  1. Due Dates, Binary Search

  2. BubbleSort

  3. SelectionSort
Instructor's Materials:
Notes

Slides   

 

Lesson 10
Due This Week:
  • Due on Friday, May 30, 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, May 30, before noon: A3 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 on Friday, Jun 6, 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, Jun 6, before noon: A4 Opinion 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: Jun 4 (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
    You are encouraged to discuss this with your peers, using the Google Group, if you're looking for more guidance with the details of the algorithm!
  6. Linear Search: Measuring Performance (Hand-In)
  7. Binary Search: Measuring Performance (Hand-In)

  8. BubbleSort
  9. BubbleSort: Measuring Performance (Hand-In)
  10. Analyzing the different algorithms (Hand-In)
    (Demo Video: Scatter Plots in Excel)
    If you're looking for more information about Big "Oh" Notation, you can find it here.  You are also invited to search the Internet, et

     
  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: Jun 4 (Wednesday) >

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

Instructor's Materials:
Notes
Slides

 

Lesson 11
Due This Week:
  • Due on Friday, Jun 6, 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, Jun 6, before noon: A4 Opinion 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: Jun 11
(Wednesday) before the start of class >

  1. Final Exam: List of Review Topics

In-Class Exercises:
<Class Date:  Jun 11
(Wednesday) >

  1. <Final  Exam>

  2. 'Post-Course' Opinion 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, Apr 2
(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, Apr 2
(No later than midnight)
Email the professor, so that the professor has your email address
Monday, Apr 7, by NOON PCE 01
Wednesday, Apr 9 Google Group: Sign yourself up, post a question, answer someone else's question:
Wednesday, Apr 9 PCE 02
Monday, Apr 14, by MIDNIGHT Skills pre-test for A1
Wednesday, Apr 16 A1 (initial version)
Wednesday, Apr 16 PCE 03
Wednesday, Apr 23 PCE 04
Monday, Apr 28, by MIDNIGHT Skills pre-test for A2
Wednesday, Apr 30 A2 (initial version)
Wednesday, Apr 30 PCE 05
Wednesday, Apr 30 A1 (final, revised version)
Friday, May 2, by NOON Skills Post-test for A1
Friday, May 2, by NOON Opinion survey for A1
Monday, May 5, by MIDNIGHT Skills pre-test for A3
Wednesday, May 7 PCE 06
Wednesday, May 7 A3 (initial version)
Wednesday, May 14 MIDTERM  EXAM
Wednesday, May 14 (no penalty until May 21) PCE 07
Monday, May 19, by MIDNIGHT Skills pre-test for A4
Wednesday, May 21 A2 (final, revised version)
Wednesday, May 21 A4 (initial version)
Wednesday, May 21 PCE 08
Friday, May 23, by MIDNIGHT Skills Post-test for A2
Friday, May 23, by MIDNIGHT Opinion survey for A2
Wednesday, May 28 A3 (final, revised version)
Wednesday, May 28 PCE 09
Friday, May 30, by NOON Skills Post-test for A3
Friday, May 30, by  NOON Opinion survey for A3
Wednesday, Jun 4 PCE 10
Wednesday, Jun 4 A4 (final, revised version)
Friday, Jun 6, by NOON Skills Post-test for A4
Friday, Jun 6, by NOON Opinion survey for A4
Wednesday, Jun 11 PCE 11
Wednesday, Jun 11 FINAL  EXAM
Wednesday, Jun 11 '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?
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?