UNM CS-151L: CS4All
Computer Science Department
University of New Mexico
Albuquerque, New Mexico
*This material is based upon work supported by the National Science Foundation under Grant No. CNS-1240992


Course Description
CS-151L - An introduction to Computational Science and Modeling (also known as Computer Science for All) - is a dual-credit computational science course open to high school as well as college students. CS-151L is a hybrid course, meaning that meaning that a significant part of the course content is on-line and the remaining part is taught in-person. This hybrid course uses a style of pedagogy called a “flipped course”. That is, most content is delivered during out-of-class times via videos and reading materials while in-class time is used for hands-on activities, project work, questions and other interactive learning.

In this course, the student will author original computer programs using an agent-based modeling environment (or programming language) called NetLogo. NetLogo runs on Windows and Mac operating systems. NetLogo is free to use and is open source. Students will gain experience designing, building, testing, debugging and running experiments with some simple computer models and with some complex adaptive systems. Students will also learn and apply mathematics relevant to modeling and simulation such as probability and statistics, and data analysis.

This course also introduces students to “great ideas” in computer science that impact their daily lives with topic including “big data”, algorithms for search engine page ranking, pattern recognition, and data compression.

Pre-Requisites: None.
Co-Requisites: None.

Instructors:
Joel Castellanos Lecturer, Dept of Computer Science, UNM
Irene Lee , Research Scientist, Santa Fe Institute
Maureen Psaila-Dombrowski, Project Coordinator, Santa Fe Institute




Course Information:
  1. Syllabus
  2. UNM Academic Calendar: Listing of Holidays, Final's week, last day switch to Audit without the Dean's approval, and other academic dates.





Week 1: What is Computer Science and Getting started with NetLogo
  1. Video: What is Computer Science?, by Ed Angel, UNM & SFI
  2. Video: How to Download and Install NetLogo on a MacOS X, by Irene Lee, SFI
  3. Video: How to Download and Install NetLogo on a Windows 7, by Joel Castellanos, UNM.
  4. Video: Tour of the NetLogo Interface, by Irene Lee, SFI.
  5. Video: Getting Started in NetLogo: Hello World and Turtle Graphics, by Joel Castellanos, UNM.
  6. Video: Statements and Expressions in NetLogo, by Maureen Psaila-Dombrowski, SFI.
  7. Notes: Netlogo Command List for week 1
  8. Notes: Computer Science Concepts Sheet for Week 1
  9. Lab Assignment: NetLogo Lab 1: Your Name in Turtle Graphics
  10. Optional Programming Challenges




Week 2: Introduction to Computational Thinking
  1. Video: Three A's of Computational Thinking, by Irene Lee, SFI
  2. Video: Decomposition in Computer Programming, by Maureen Psaila-Dombrowski, SFI
  3. Video: Procedures in NetLogo, by Maureen Psaila-Dombrowski, SFI
  4. Video: What's Inside a Computer, by HowStuffWorks
  5. Video: Bits and Bytes: Data Representation, by Ed Angel, UNM & SFI
  6. Video: Bits and Bytes: Numbers, by Ed Angel, UNM & SFI
  7. Reading: Blown To Bits: Appendix: The Internet as System and Spirit (Read Part 1: The Internet as a Communication System, pages 301 through 309), by Harry Lewis, Ken Ledeen and Hal Abelson
  8. Notes: Netlogo Command List for week 2
  9. Notes: Computer Science Concepts Sheet for Week 2
  10. Lab Assignment: NetLogo Lab 2: Spirograph
  11. Optional Programming Challenges




Week 3: Introduction to Abstraction / Data Representation
  1. Video: Layers of Abstraction in Computer Science, by Maureen Psaila-Dombrowski, SFI
  2. Video: Data Representation: Colors Ed Angel, UNM & SFI
  3. Video: Computer Science Constructs: Local Variables, by Maureen Psaila-Dombrowski, SFI
  4. Video: Computer Science Constructs: Looping and Iteration, by Maureen Psaila-Dombrowski, SFI
  5. Video: Introduction to Complex Systems
  6. Video: Emergence, PBS
  7. Reading: Blown To Bits: Appendix: The Internet as System and Spirit (Read Part 2: The Internet Spirit, pages 309 through 316), by Harry Lewis, Ken Ledeen and Hal Abelson
  8. Notes: Netlogo Command List for week 3
  9. Notes: Computer Science Concepts Sheet for Week 3
  10. Lab Assignment: NetLogo Lab 3: Spiraling Art using a Repeat Loop




Week 4: Introduction to Modeling
  1. Video: Introduction to Computational Science By Irene Lee, SFI
  2. Video: Introduction to Agent Based Modeling By Irene Lee, SFI
  3. Video: Computer Science and Simulation / Emergency Planning Guest Lecture: Stephen Guerin.
  4. Video: dice and data (Part 1) By Nick Bennett.
  5. Netlogo Program: dice-and-data.nlogo Note: You need to right click to download a NetLogo program. Make sure to "Save As", remember where you save and make sure the filename extension saves as .nlogo.
  6. Video: Netlogo and the Random Walk, by Joel Castellanos, UNM.
  7. Video: Wiggle Walk and Sliders to Control Global Variables in Netlogo, by Joel Castellanos, UNM.
  8. Reading: Blown To Bits: Chapter 1: Digital Explosion (Read pages 1 through 9), by Harry Lewis, Ken Ledeen and Hal Abelson
  9. Notes: Netlogo Command List for week 4
  10. Notes: Computer Science Concepts Sheet for Week 4
  11. Lab Assignment: NetLogo Lab 4: Experiments with the Random and Wiggle Walks




Week 5: Boolean Logic and Conditional Control Flow
  1. Video: Boolean Logic By Maureen Psaila-Dombrowski, SFI
  2. Video: Conditional Control Flow By Nick Bennett, SFI
  3. Video: Patches and Agent/Environment interactions By Maureen Psaila-Dombrowski, SFI
  4. Video: Conditional Control Flow and Bumper Turtles in both 2D and 3D Netlogo By Joel Castellanos, UNM.
  5. Reading: Blown To Bits: Chapter 1: Digital Explosion (Read pages 9 through 17), by Harry Lewis, Ken Ledeen and Hal Abelson
  6. Notes: Netlogo Command List for week 5
  7. Notes: Computer Science Concepts Sheet for Week 5
  8. Lab Assignment: NetLogo Lab 5: Bumper Turtles (with 3D extra credit)




Week 6: Variables and Scope (Local, Global and Agent)
  1. Video: Abstraction in Modeling and Simulations
  2. Video: Variables and Scope By Maureen Psaila-Dombrowski, SFI
  3. Video: Gluing a Torus: 53 second video showing why the Netlogo 2D world with horizontal and vertical world wrap on topologically equivalent to a torus (donut shape). From the University of Hannover, Germany
  4. Video: Interface Input in Netlogo By Maureen Psaila-Dombrowski, SFI
  5. Video: Interface Output in Netlogo (part 1) By Maureen Psaila-Dombrowski, SFI
  6. Video: Agent Based Modeling in Computation & Biology by guest lecturer Melanie Moses, UNM
  7. Reading: Blown To Bits: Chapter 2: Naked in the Sunlight - Privacy Lost, Privacy Abandoned (Read pages 19 through 28), by Harry Lewis, Ken Ledeen and Hal Abelson
  8. Notes: Netlogo Command List for week 6
  9. Notes: Computer Science Concepts Sheet for Week 6
  10. Lab Assignment: NetLogo Lab 6: Energizer Turtles




Week 7: Running Experiments with Computer Models
  1. Video: Designing and Running Experiments in Netlogo By Maureen Psaila-Dombrowski, SFI
  2. Video: Population Dynamics: Birth and Death By Maureen Psaila-Dombrowski, SFI
  3. Video: Breeds and Shapes in Netlogo By Maureen Psaila-Dombrowski, SFI
  4. Video: Agents in Netlogo By Maureen Psaila-Dombrowski, SFI
  5. Video: Being Random By Dave Ackley, UNM
  6. Reading: Blown To Bits: Chapter 2: Naked in the Sunlight - Privacy Lost, Privacy Abandoned (Read pages 28 through 38), by Harry Lewis, Ken Ledeen and Hal Abelson
  7. Notes: Netlogo Command List for week 7
  8. Notes: Computer Science Concepts Sheet for Week 7
  9. Lab Assignment: NetLogo Lab 7: Experimenting with Life and Death




Week 8: Midterm Exam




Week 9: Algorithms
  1. Video: Complexity in Computer Science By Ed Angel, UNM & SFI
  2. Video: Introduction to Algorithms By Maureen Psaila-Dombrowski, SFI
  3. Video: More Algorithms By Maureen Psaila-Dombrowski, SFI
  4. Video: More Looping In NetLogo By Maureen Psaila-Dombrowski, SFI
  5. Video: Data Compression By Ed Angel, UNM & SFI
  6. Reading: Blown To Bits: Chapter 2: Naked in the Sunlight - Privacy Lost, Privacy Abandoned (Read pages 38 through 48), by Harry Lewis, Ken Ledeen and Hal Abelson
  7. Notes: Netlogo Command List for week 9
  8. Notes: Computer Science Concepts Sheet for Week 9
  9. Lab Assignment: NetLogo Lab 9: m&m Chomper




Week 10: More Algorithms
  1. Video: Sorting Algorithms By Maureen Psaila-Dombrowski, SFI
  2. Video: Programming is Modeling By Dave Ackley, UNM
  3. Video: Lists, Sets and Netlogo Agentsets By Nick Bennett
  4. Notes: Netlogo Command List for week 10
  5. Notes: Computer Science Concepts Sheet for Week 10
  6. Reading: Blown To Bits: Chapter 2: Naked in the Sunlight - Privacy Lost, Privacy Abandoned (Read pages 48 through 60), by Harry Lewis, Ken Ledeen and Hal Abelson
  7. Lab Assignment: NetLogo Lab 10: Color Sort




Week 11: Recursion
  1. Video: Search Algorithms By Maureen Psaila-Dombrowski, SFI (13 minutes)
  2. Video: Recursion By Maureen Psaila-Dombrowski, SFI (11 minutes)
  3. Video: Algorithm Analysis By Maureen Psaila-Dombrowski, SFI (8.5 minutes)
  4. Notes: Netlogo Command List for week 11
  5. Notes: Computer Science Concepts Sheet for Week 11
  6. Reading: Blown To Bits: Chapter 2: Naked in the Sunlight - Privacy Lost, Privacy Abandoned (Read pages 61 through 72), by Harry Lewis, Ken Ledeen and Hal Abelson
  7. Lab Assignment: NetLogo Lab 11: Recursion and the Fractal Tree




Week 12:
  1. Video: Artificial Life By Dave Ackley, UNM (28.5 minutes)
  2. Video: Interactions between Agents By Irene Lee, SFI
  3. Lab Assignment: NetLogo Lab 12: Spread the Red: An Epidemiology Model
  4. Reading: Blown To Bits: Chapter 3: Ghosts in the Machine (Read pages 63 through 80), by Harry Lewis, Ken Ledeen and Hal Abelson




Week 13: Ecology
  1. Lab Assignment: NetLogo Lab 13: Saving Nemo: An Ecosystems Model
  2. Reading: Blown To Bits: Chapter 3: Ghosts in the Machine (Read pages 80 through 90), by Harry Lewis, Ken Ledeen and Hal Abelson




Week 14 & 15: Final Project and Review
  1. Video: Rocks, Paper, Scissors: Building a NetLogo Simulation the E. Coli Ecosystem (Part 1, 24 min) By Nick Bennett
  2. Video: Rocks, Paper, Scissors: Building a NetLogo Simulation the E. Coli Ecosystem (Part 2, 21 min) By Nick Bennett
  3. Lab Assignment: NetLogo Lab 14 & 15: The Final Project
  4. Reading: Blown To Bits: Chapter 3: Ghosts in the Machine (Read pages 90 through 108), by Harry Lewis, Ken Ledeen and Hal Abelson




Further Reading and Resources
  • Wikipedia: Computer Science
  • CNET News: "Wikipedia is about as good a source of accurate information as Britannica"
  • Video: What is Computer Science: YouTube Video from Rochester Institute of Technology Department of Computer Science
  • NetLogo User Manual
  • NetLogo Programming: An Introduction by Alan Isaac of American University
  • NetLogo Tutorial in English and Spanish