CS390-590 Content

Here is the publicly available CS for All content (as of 2/22/13)

CS390/590 Course materials: 

 

Week 1

Introduction to this Course - Videos

  1. Introduction to New Mexico CS4All
  2. What is Computer Science
  3. How to install NetLogo on a Mac
  4. How to install NetLogo on a Windows PC
  5. NetLogo: Walk through of the Interface
  6. NetLogo: Hello World using Turtle Graphics

Lab 1: Your Name in Turtle Graphics

Click here for Instructions and Grading Rubric

Reading Assignments (recommended)

The links below provide reference meterial and additional information on this week's topics

  1. Wikipedia: Computer Science -  "Wikipedia is about as good a source of accurate information as Britannica": see article
  2. NetLogo User Manual
  3. NetLogo Programming: An Introduction by Alan Isaac of American University
  4. NetLogo Tutorial in English and Spanish

 

Week 2

Intro to Computational Science and the Random Walk

  1. Introduction to Computational Science, Irene Lee.
  2. Introduction to Agent-based Modeling, Irene Lee.
  3. NetLogo and the Random Walk, Joel Castellanos
  4. NetLogo and Wiggle Motion, Joel Castellanos
  5. Guest Lecture: Computer Science and Simulation in Emergency Planning, Stephen Guerin.
  6. Stereotype threat: What does Stereotype threat look like in your school community and how might you combat it?, Joanne Cohoon of the University of Virginia. 

Lab 2: NetLogo Experiments in the Random Walk and Wiggle Motion

Click here to view the instructions and grading rubric

Reading assignments

"Why Model" by Josh Epstein

 

Week 3

Virtual Ants: agent-environment interactions and a first look at Emergence

  1. Introduction to Complex Systems, Irene Lee
  2. PBS Emergence video featuring John Holland.  (click to view video on PBS website)
  3. NetLogo and Langton's Ant - part 1, Nick Bennett
  4. CS Constructs: If-then statements, Nick Bennett
  5. Guest Lecture: Agent Based Modeling in Computation & Biology, Melanie Moses
  6. Igniting Student Interest in CS, Joanne Cohoon

      Lab 3 part 1: Vants (Virtual Ants)

      Click here to download the Assignment and rubric.

      Reading assignments 

      NetLogo Core Constructs: Nick Bennett  

      Langton's Ant: Nick Bennett

       

      Week 4 

      Epidemics: agent-agent interactions and modeling the spread of disease

       

      Leftovers to finish up:

      1. CS Constructs: Conditionals, Nick Bennett. (full version)
      2. CS Constructs: Variables, Irene Lee
      3. CS Constructs: Looping, Maureen Psaila-Dombrowski
      4. Vants part 2a, and Vants part 2b, Nick Bennett.  (Note: Vants part 2b is optional and a more advanced exercise.)

      New this week:

      1. Review of ABM and introduction to Simple Contagion model, Irene Lee
      2. Agent-Agent interactions in NetLogo, Irene Lee
      3. Modeling Epidemics in NetLogo part 1, Irene Lee
      4. Modeling Epidemics in NetLogo part 2, Irene Lee
      5. Guest Lecture: Modeling MRSA, Dr. Charles Macal and Dr. Diane Lauderdale
      6. Messaging for attracting students to CS, Joanne Cohoon.

      Lab 4 parts 1 and 2 (Simple Contagion)

      Reading assignments

      Modeling to Contain Epidemics, Joshua Epstein

      If Smallpox Strikes Portland... , Chris L. Barrett, Stephen G. Eubank, and James P. Smith

       



      Week 5

      Rock, Paper, Scissors: agents changing their behaviors

      NetLogo background material

      1. Creating Agents in NetLogo, Maureen Psaila-Dombrowski. [4:27]
      2. Lists and Agentsets in NetLogo, Nick Bennett. [13:04]
      3. Procedures in NetLogo: commands vs reporters, Maureen Psaila-Dombrowski. [5:51]

      Lab Lessons:

      1. Dice and Data part 1, Nick Bennett. [13:35]
      2. Dice and Data part 2, Nick Bennett. [9:39]
      3. Dice and Data NetLogo model, Nick Bennett. (this is the model to download, ctrl-click on Mac, right click on PC to download.)
      4. Rock Paper Scissor part 1, Nick Bennett. [23:30]

      Pedagogy talk: Peer Instruction

      1. Memorization or understanding: are we teaching the right thing, Eric Mazur. [1:12:06]
      2. Confessions of a Converted Lecturer, Eric Mazur. [5:09] *this is a subset of the above video.

      Click here to download the Assignment write up and rubric.


      Reading Assignments

      Required:

      How to Implement a Peer Instruction-designed CS Principles Course, Beth Simon and Quintin Cutts



      Week 6

      Butterfly Mating: Introduction to hill climbing and algorithms

      Lab Lessons:

      1. Rock-Paper-Scissors part 2, Nick Bennett. [20:33] - OPTIONAL *worth 5 extra points*
      2. Butterfly Hill climbing model, James Taylor. [15:54]

      Pedagogy talk: Pair Programming

      1. Pair Programming, NCSU CS dept. [10:02]
      2. Does Pair Programming have to suck, Angela Harms. [29:36]

      Click here to download the Addendum.


      Reading Assignments

      Required:

      Reinventing the Classroom, Harry Lewis.



      Week 7

      Catchup Week



      Week 8

      Hill Climbing Part 1

      CS Concepts and Constructs:

      1. Hill Climbing and Optimization, Dave Ackley. [18:00]

      Lab Lessons:

      1. Hill Climbers part 1, Nick Bennett. [25:55]
      2. Hill Climbers model (in NetLogo), Nick Bennett. *control-click on Mac or right-click on Windows to download.
      3. Hill Climbers part 2, Nick Bennett. [32:54]

      Pedagogy talk: HCIL CS Ed talk *Optional

      1. Using Educational Theory to Frame CS Education Research, Mark Guzdial [1:00:46]


      Click here to download the Assignment write up and rubric.



      Week 9

      Hill Climbers Part 2

      Lab Lessons:

      1. Hill Climbers part 2, Nick Bennett. [32:54]

      Click here to download the Assignment write up and rubric.



      Week 10

      Abstraction and the Uses of Abstraction

      Guest Lectures:

      1. Programming IS Modeling, Dave Ackley. [ 14:00]
      2. 3 A's of Computational Thinking: Abstraction, Automation and Analysis, Irene Lee [5:37]

      CS Concepts and Constructs:

      1. Introduction to Data Representation, Ed Angel. [7:41]
      2. Data Representation: Numbers, Ed Angel. [8:57]

      Pedagogy:

      1. CS Unplugged Introduction. [3:03]
      2. CS Unplugged Activity: Counting in Binary. [8:20]
      3. CS Unplugged Activity: Binary Representation. [5:44]

      Reading Assignments:

      Blown to Bits - Appendix A: The Internet as System and Spirit.

      Blown to Bits - Chapter 1: Digital Explosion / Why Is It Happening and What Is At Stake?

      Assignment #1:

      After viewing the CS Unplugged videos, take a look at the lesson plan developed by Barbara Ericson at http://cs10kcommunity.org/resources/lesson-plan-introducing-binary-numbers. Contribute to the week 10 discussion forum on the pros and cons of teaching binary numbers in an introductory level CS course.

      Assigment #2:

      Download a free copy of the book "Blown to Bits" from bitsbook.com. After reading Chapter 1 and the Appendix of "Blown to Bits", contribute to the week 10 discussion forum on the implications of "Nothing Goes Away" and the discussion forum on "The Internet as a Complex System".

      Assignment #3: (for CS590 course takers)

      On the CS10K site, start a personal blog page for writing about your project. Title the blog with your first and last names followed by "Final Project Blog" so, for instance, Jane Doe's would be called "Jane Doe's Final Project Blog". Copy and paste the contents of the file attached below called "CS590_Proposal_and_Report_Template.doc" into your blog as a starting point. Complete the section titled "Proposal" with your idea for your final project. Your final project will be expected to be at the level of a competitive Supercomputing Challenge project.

      - For more information about Challenge projects and final reports please see http://challenge.nm.org/finalreports/specs.shtml .

      - Proposal guidelines are available here: http://challenge.nm.org/proposals/proposal_guidelines.shtml

      In the week 3 discussion of "Aligning modeling and simulation with students' interests, many good ideas for models were suggested. If you need an idea for a model, I'd recommend reviewing that discussion thread. If you need advice, I'd suggest contacting your regional facilitator(s) for ideas.



      Week 11

      More Levels of Abstraction

      Guest Lectures:

      1. Physical Layers of Computing Hardware. [14:26]
      2. Ethics part 1 - Who owns information?, Patrick Kelly. [ 9:08 ]

      CS Concepts and Constructs:

      1. Data Representation: Numbers part 2, Ed Angel. [7:17]
      2. Data Representation: Characters, Ed Angel. [9:53]

      Reading Assignments

      Blown to Bits - Chapter 2 Naked in the Sunlight / Privacy Lost, Privacy Abandoned.

      CS Unplugged - Image representation (Bitmap) lessons http://csunplugged.org/image-representation

      Assignment #1:

      Comment on the Abstract section of the Final Project Blogs of three fellow classmates. In particular, give advice on the following:

      1) Is the scope of the project doable in the time frame remaining (roughly 1 month)? If it does not seem feasible to complete, how could the problem be simplified or decreased in scope?

      2) Is this problem reasonable to solve using a computational model?

      3) Is this a suitable problem to model in NetLogo? (rather than some other method, like Excel)

      4) Is it a complex systems project?

      Assignment #2:

      After reading Chapter 2 of "Blown to Bits", contribute to the week 11 discussion forums on privacy.

      Assignment #3 (for CS590 course takers)

      In your final project blog "Methods and Materials" sectoin write up the description of the agents and their behaviors (in text rather than in code) in your model.



      Week 12

      Computer Graphics: From Pixels to Images to Animation

      CS Concepts and Constructs:

      1. Data Representation: Colors, Ed Angel. [11:28]

      Guest Lectures:

      1. Computer Graphics - part 1, Ed Angel. [34:41]
      2. Computer Graphics - part 2, Ed Angel. [25:26]
      3. Reading Assignments

        Blown to Bits - Chapter 3: Ghosts in the Machine / Secrets and Surprises of Electronic Documents.

        File Formats: Learn about two common file formats for still and moving images.

        JPEG - "Jpeg it" http://www.cs4fn.org/films/jpegit.php

        MPEG - "Mpeg it" http://www.cs4fn.org/films/mpegit.php

        Assignment #1:

        After reading Chapter 3 of "Blown to Bits", contribute to the week 12 discussion forums on privacy.

        Assignment #2 (for CS590 course takers)

        In your final project blog "Methods and Materials" section write up the description of the question you hope to answer with your model, and your experimental design.



        Week 13

        Algorithms for Searching and Sorting

        Guest Lectures:

        1. Computational Complexity, Ed Angel [27:29]
        2. Ethics part 3 - , Patrick Kelly [ ] - waiting on delivery
        3. How Google Search Works. [1:44]

        CS Concepts and Constructs:

        1. Algorithms for Searching and Sorting - part 1, Ed Angel. [17:58]
        2. Algorithms for Searching and Sorting - part 2, Ed Angel. [17:45]

        Pedagogy:

        1. CS Unplugged Activity: Binary search. [2:55]
        2. CS Unplugged Activity: Sorting Algorithms. [2:11] *re-uploaded to fix incomplete video.

        Reading Assignments

        Blown to Bits - Chapter 4: Needles in the Haystack / Google and other brokers in the Bits Bazaar

        Assignment #1:

        After reading Chapter 4: Needles in the Haystack / Google and other brokers in the Bits Bazaar, contribute to the week 13 discussion forums on the CS10K site.

        Assignment #2 (for CS590 course takers)

        At this point you should be well into the development on your final project, if you've been writing the code each week and submitting the description. This week we are asking you to submit "interim" reports with your project code in its current state attached to your blog (comment on your own blog to attach a file). Please indicate areas where you need assistance.



        Week 14

        Algorithms for Compression and Encryption

        CS Concepts and Constructs:

        1. Data Compression, Ed Angel. [18:51]
        2. Error Detection and Correction, Ed Angel. [22:09]
        3. Data Security and Encryption, Ed Angel. [21:49]

        Pedagogy:

        1. CS Unplugged Activity: Run Length Encoding. [7:09]
        2. CS Unplugged Activity: Parity and Error Detection. [4:46]
        3. CS Unplugged Activity: Cryptographic Protocols. [6:05]
        4. CS Unplugged Activity: Public Key Encryption. [4:22]

        Project Work:

        1. Write up of results of experimentation,

        Reading Assignments:

        Blown to Bits - Chapter 5: Secret Bits / How Codes Became Unbreakable



        Week 15

        The CS Principles Framework and Reviewing for the Final Exam

        Assignments

        Review the CS Principles Framework.

        The CS Principles framework was developed by the College Board in association with the National Science Foundation and other groups. It consists of the topics and learning objectives that guide the development of CS Principle's courses such as CS390/590. You will note that in CS390/590 we covered many of the topics in the context of modeling and simulation.

        Study for the final exam:

        General topics Study guide available here.

        Programming specific Study guide available here.

        Project Work:

        At this point you should have completed the implementation of your model and have conducted experiments using your model as a test bed. After collecting and analyzing the data generated by your model, your next and final task is to write up your conclusions. Final projects (both project and report) are to be uploaded as attachments to your blog page.

        Here's an example of a journal paper describing an agent based model and experimentation with that model. Note the level of detail used in describing all aspects of the model. This is something to aspire to.