CSC321.01 2016S, Class 21: Course Wrapup
========================================

_Overview_

* Preliminaries.
* The subject matter(s) of the course.
* Debriefing.
* EOCE.

Preliminaries
-------------

### Admin

* Friday PSA.
* Congratulations on surviving CSC 321.
* Essays due at midnight tonight.
    * I'll read them and comment on them during break.
    * I'll also provide tentative grades during break.
    * You can resubmit in the subsequent weeks.

### Questions

The Subject Matter(s) of the Course
-----------------------------------

* Primary Technologies: Ruby and Rails
* Additional Technologies
    * Git
    * Heroku - Deploying software
* Software Design 
    * Refactoring
    * Testing
    * Behavior Driven Development
    * Agile
    * Agile vs. Waterfall vs. other methodologies
    * Working with legacy code
    * ...
* Software as a Service
* General Skills
    * Working with others
    * Thinking on your feet
    * Dealing with uncertainty - "Learning how to learn (or at least
      find answers)"

Debriefing
----------

Index cards: 

* Lined side: One thing you liked about the class.
* Plain side: One thing you would change.

Questions from Sam:

* Are you okay with how I call on students?  
    * Random choices
    * Ignoring those who raise their hands for approximately 30 out of 50
      minutes during class.
* Should I make more of the basic Rails stuff as homework, and ask you to
  do extensions to the various sites in class?
    * Hartl felt like too much copy/paste.
    * But if we used class time to vary, that would be good.
    * Make us do the exercises!
    * But we don't want to be forced to write more (e.g., don't make
      us write things like "explain how the MVC works in Rails").
* More programming assignments!  Grade them!  Trash our bad code.
* What did you think of the SaaSbook?  Would you prefer that we consider
  other books?  
    * Ebook was hard to read, but cheap
    * Hardcopy was easy to read, but more expensive (still under $40)
    * SaaSbook was hard to apply.  Exercises didn't seem related enough
      to chapter.
    * Some people really liked it.  We are balancing theory and practice,
      and need some stuff on theory.
    * Sam should think about looking for other (cheap/free) options.
* Given that this is a two-credit class, how should it be structured?
  Is half-semester appropriate?  Is three hours per week appropriate?
    * It has to be a 2-credit class.
    * CSC 321: Meets 3 hours per week for seven weeks, assumes 7 hours
      per week outside of class.
    * CSC 322: Meets 3 hours per week for fourteen weeks, assumes 3
      hours per week outside of class.
    * For people taking both CSC 321 and CSC 322, it's good to have 
      most of the stuff under your belt halfway through the semester.
    * Two hours, twice per week?
    * Just give us more (graded) homework so that we actually work outside
      of class.  (That should be programming/building/debugging/testing
      whatever.)
        * We need practice applying concepts.  You can come up with an
          appropriate grading metric that's easy to apply and doesn't
          cause stress for either side.
* We need more git in this class, early on!
* Encourage people to do CSC 321 and CSC 322 in different semesters.
* What would you like more/less of?
* It moved very fast, and switched quickly between topics, which made
  it harder to master any one topic.
* Make us watch more of the videos!  (The reading journals could be clearer
  that watching the video is okay.)
* Consider breaking up CSC 322 into two 90-minute blocks.
Course Evaluation
-----------------

You know the drill.  I'll leave the room while you fill out the evaluation 
form.  Someone needs to bring it to the Science Division Office.  You are
then free to go.

