Skip to main content

CSC 321.01, Class 22: Wrapup, Phase 1

Overview

  • Preliminaries
    • Notes and news
    • Upcoming work
    • Questions
  • Learning outcomes of CSC 321
  • Debrief

News / Etc.

  • I’m back.
  • Sorry for the confusion about the project. A’s for everyone. (10% of grade)
  • Your remaining work in this class is reflective.
  • Friday is CSC 322 all day (well 1-3pm)
  • Congrats to the students who presented at SIGCSE.
  • Reminder: Sam should talk about Hartl on Friday.

Upcoming work

  • Anything that’s not done.

Good things to do

  • Take time for your other classes; it’s the week that shall not be named.
  • CS Table Tuesday: SIGCSE
  • CS Extras Thursday: ???

Opening questions

We do this to help Sam (or Sam’s successors) think about how to teach the class better, and also to help you reflect on your learning.

What are valuable things you learned in this class?

Given what you saw in our other readings, what else should we have included in this class?

What is something that went well in the structure of the class?

What is something Sam should do differently the next time sam teaches the class?

Valuable “things”

What are valuable things you learned in this class?

Ethics

  • A bit about ethics (although that was more in 322).
  • Pay attention to the client; you have a responsibility to that client.
  • Don’t write buggy software.

Software design

  • Practices/approaches to software development: Agile vs. Waterfall
  • Details of agile development.
  • Design patterns (purpose and some of them)
  • How to write and use user stories.
  • Test-driven development.
  • Communicating using UML and documentation.

Practical

  • How code in Ruby (at least a bit).
  • Lots of technical jargon and its meaning: Agile, Waterfall
  • How to write and use user stories.
  • Programming experience; setting up and installing a Rails app.

Miscellaneous

  • Broader understanding of practice, particularly interactions with clients (or idealized interactions with clients).
  • Practice getting unstuck.

Additional topics

Given what you saw in our other readings, what else should we have included in this class?

  • More review of basic OOP principles.
  • More experience with Ruby, particularly generics.
  • More info on what Rails does when you use its automatic scaffolding.
  • Alternatives to agile. (More than one day on waterfall.)
  • Formal methods.
  • Details of testing.
  • How to find useful gems (maybe for CSC 322)

What would you cut to give us time to cover these topics?

  • Cucumber
  • Maybe make us do more examples (like Hangman) and then talk about them in class.

Structure: Positives

What is something that went well in the structure of the class?

  • Discussion-based style, rather than recitation.
  • Sam actually lectured about some stuff. Are we sure this is Grinnell?
  • Reading journal questions helped structure the readings. (Thanks Janet!)
  • Friday PSAs

Updating the Course

What is something Sam should do differently the next time sam teaches the class?

  • Do the SaaSbook readings and Sinatra exercise earlier in the semester, before the Hartl.
  • Let us know our grades.
  • Stay on top of students to stay on top of work.
    • Verify that assignments fit in the recommended amount of time.
  • Give us really hard assignments over the weekend so that we don’t have time for anything else.
  • Rotate people around the room more.
    • Randomized seating like Blanchard or Rebelsky
  • Don’t choose lessons that are “Do this. Then do this. Then look it works!”
    • Or have us do the Hartl examples and then have us do something similar.
    • Smaller and more programming assignments.
  • Better support for when we get stuck. There is productive time trying to get unstuck and unproductive time. Help us reduce the latter.
  • Make it clear that we can work with partners on anything!
  • Encourage us to work with partners on Hartl and other programming assignments!
  • Think about restructuring significantly.
  • Warn people about what they are getting into in terms of workload!
  • Require explicit time logs.
  • Clearer syllabus, or at least clearer information on what is coming up in the following week.
  • Moderate the Snark.

Mentor

  • Good job!
  • Office hours and mentor sessions good.
  • Think about whether or not they need to be in class on more lecture-oriented days.