CSC 301 Grinnell College Fall, 2014
 
Analysis of Algorithms
 

Some Possible Class Formats

Possible Class Components

Traditional
  • Instructor lectures
    1. Students submit summaries/discussion questions for most classes
  • Students work problems
    1. individually
    2. groups of 2 or 3
Student Lectures
  • 3 students lecture on a topic
    1. Schedule guides flow of material
    2. Student presentation covers much of material
    3. Each student in group would present 10-15 minutes
    4. Instructor may add perspective at end of each class
    5. Groups likely change from one set of lectures to next
  • other students work 2-3 problems
    1. individually
    2. groups of 2 or 3
Problem-based Course
  • First class on topic
    1. Students ask questions on section of reading
    2. Class discussion clarifies questions
    3. Assignment given (e.g., 2-3 problems)
  • Next class students present answers
    1. individually
    2. groups of 2 or 3
    3. selection of presenters could be random, volunteers, minimum number required for semester, etc.
Programming-based Course
  • course focuses on series of programming assignments
    1. individually
    2. groups of 2 or 3
    3. if groups, would likely change often
  • several potential difficulties
    1. pseudocode often given in text, so programming may entail considerable syntax translation
    2. often support structure needed to set up a problem
      • (e.g., construct a group, print a graph)
      • programming effort may consume considerably more time than applying algorithm on paper by hand
    3. multiple implementations often possible for the same algorithm
      • (e.g., graphs might be implemented by hash tables, adjacency lists, or adjacency matrices)
      • multiple implementations complicates analysis
    4. analysis of algorithms may be difficult to cover in a programming assignment
In-class Small Groups
  • students work in class on problems in small groups
  • answers might be written up
  • answers might be presented in class
    1. mechanisms for presenting answers open
    2. presentations could be same day or next class

Two Draft Class Formats (to stimulate discussion)

Combining All Components Problem-based Format
  • Class preparation:
    • students prepare summaries/discussion questions
    • submitted electronically night before
  • Lectures: start most classes
    • instructor lectures: about 1/2-2/3 of classes
    • student lectures: about 1/3-1/2 of classes
      • six groups of 3 students (18 students in class)
      • 2 or 3 rounds of presentations
      • extra 1-2 talks/group possible for extra credit
      • 20-25 minute presentation
      • 5-10 minutes for student questions, as needed
      • presentation concludes posing 1-2 problems
    • talks may address student questions
  • Small groups: during class, homework
    • presenting group addresses additional student questions
    • other groups work on posed problems
    • solutions due next class (or second class later)
  • Programming problems: about 2 assigned during semester
  • Tests: 2 in-class hour tests during semester
  • Final exam: Oral exam as an option
  • Side effect: Substantial practice in writing and speaking technical material
  • Work on a topic: divided into 4 parts, over 3 days
    • Students read materials, submit questions electronically
    • Questions discussed in class
    • Students work in groups of 1-3 on problems
    • Students present selected solutions in class
  • Class organization: often divided into 3 components
      Day 0 Day 1 Day 2
    Homework (prep): read TOPIC 1, submit questions read TOPIC 2, submit questions read TOPIC 3, submit questions
    In class:
    (often 3 15-minute components)
      small groups present problems for TOPIC 1 small groups present problems for TOPIC 2
    Address questions on TOPIC 1 Address questions on TOPIC 2 Address questions on TOPIC 3
    Small groups work on 1-3 problems for TOPIC 1 Small groups work on 1-3 problems for TOPIC 2 Small groups work on 1-3 problems for TOPIC 3
    Homework (finish): small groups complete problems for TOPIC 1 small groups complete problems for TOPIC 2 small groups complete problems for TOPIC 3
  • Programming problems: possibly 2 for semester
  • Tests: ???
  • Final exam: Oral exam as an option
  • Side effect: Substantial practice in presenting technical material

Proposed Weekly Class Format

  Monday Wednesday Friday
Weekly Format A: Week of September 1, 15, 29, October 13
(Last week's homework due Wednesday; selected solutions presented following Monday)
Reading:
Summaries/discussion questions due by 5:00 pm previous day
read TOPIC 1, submit questions read TOPIC 2, submit questions
Start of class: New groups assigned (for 2 weeks) Due: Homework from previous week Identify last week's solutions for presentation next Monday
In class:

lecture/discussion of TOPIC 1




lecture/discussion of TOPIC 2


question/answer regarding TOPICS 1-2


problem-solving in small groups


problem-solving in small groups, as time permits problem-solving in small groups, as time permits
Problem Set:
all problems due following Monday
Problems assigned for TOPIC 1 Problems assigned for TOPIC 2 Clarifications/adjustments
Weekly Format B: Week of September 9, 23, October 6
(Last week's homework due Monday; selected solutions presented Friday)
Reading:
Summaries/discussion questions due by 5:00 pm previous day
read TOPIC 3, submit questions read TOPIC 4, submit questions
Start of class: Due: Homework from previous week Identify solutions for presentation Friday
In class: small groups present selected problems due last Wednesday

lecture/discussion of TOPIC 4


small groups present selected problems due last Monday


lecture/discussion of TOPIC 3


question/answer regarding TOPICS 3-4
problem-solving in small groups, as time permits

problem-solving in small groups


Problem Set:
all problems due following Monday
Problems assigned for TOPIC 3 Problems assigned for TOPIC 4 Clarifications/adjustments