Courses‎ > ‎Intro to CS - Full Year‎ > ‎Fall‎ > ‎Dyrland-Weaver‎ > ‎


Project 1: NetLogo Final Project

posted Dec 16, 2019, 11:31 AM by JonAlf Dyrland-Weaver   [ updated Dec 19, 2019, 11:42 AM ]

General Final Project Guidelines:
  • The purpose of the final project is to demonstrate your ability to use what we've learned in NetLogo to create a large substantial program.
  • You must create a final project of your own making
    • You may borrow code from earlier work/other netlogo models, but you must document when using code from sources other than your brains.
    • You may, and it is in fact encouraged to, work with 1 other person in your class.
  • You project will most likely fit into one of the following categories.
    • Simulation/Model
      • Make sure your simulation is based in reality. For example, if modeling something in physics, make sure to use actual formulae, don't just make up rules/data.
    • Game
      • When picking a game, make sure it would translate well into netlogo.
      • Remember that controls will either be button or mouse based.
      • Platformer-style games may seem to work nicely, but they are in fact difficult to put together.
    • Animation
      • Animations are often the easiest to program from a  technical standpoint (not a lot of complex code structures), but will require a lot of tedious code for drawing scenes.
      • Animation should also involve creating custom shapes.
  • You will be required to submit 4 versions of your project over time. Regardless of what kind of project you make. 
  •  You are expected to do work in class AND at home.
  • Your grade will depend on several factors beyond the actual project:
    • a Your prototype/documentation/submissions
    • Consistent work throughout the allotted time. (The procrastination penalty)
  • You should try to get the minimum requirements done early, and play with how your project looks as a last 
  • It is ok if someone goes above and beyond, as long as the other partner contributes a substantial amount. It is NOT ok if one partner does most of the work, and the other does very little.
  • You will have to fill in the information tab, specifically:
    • What is it
      • Give a general description of your program
    • How it works
      • Discuss how you put together the program, interesting coding parts, your design plan etc.
    • How to use it
      • Instructions on what I should do 
    • Credits and references
      • If you got outside help, provide credit here.
    • You may fill in other parts, but they are not required.
Final Project Dates:
  • Jan 2nd, Start of class
    • Prototypes required in class while you work. This should be an elaborate explanation of your goals, and picture of how you want things to work. Details below.
  • Jan 8, 8am
    • HW server Project slot 0 due.
  • Jan 13, 8am
    • HW server Project slot 1 due. 
  • Jan 17. 8am
    • HW server Project slot 2 due.
    • This is the final project 
  • Page(s) 0-1:
    • Top: Name(s) of all involved, class period, team name, project name
    • Section 0
      • High level description of your project.
      • What is it? Why do you want to make it? How will it work?
    • Section 1
      • Template sketch(es) - actual picture(s) of what the program will look like.
      • What will the world look like?
      • What will the interface elements look like?
        • Types, size, position
      • You may need to provide multiple sketches to show the full design. Thats ok.
  • Page 2
    • Sources of information
      • Will you be using data or formulae, if so, where is that coming from?
      • Will you need to look at code from other NetLogo models? 
        • You might want to look through the "Code Examples" section of the models library for things we have not covered in class that you might need.
    • Task breakdown
      • Who will be doing what
    • Development stages
      • timeline of features to be added, prioritized by importance and feasibility.
      • It is ok to fall behind schedule. 
      • It is OK to modify this.
  • Deadline: Friday after you get back from break, it can be updated afterward, but I want to see that you have it. 
  • NO CODE: Until you hand in the prototype there should be absolutely NO CODE! This is a design process. 
  • You can experiment with different NetLogo features and try making mini-models as a 'working prototype' but nothing you do before the official start counts. 
  • Grade: This will be 20% of your final project grade. It should look like you put serious effort into it. 
  • If it looks like you did this assignment on the train coming to school or rushed it the night before, I will grade you accordingly. 
  • Both of you should PROOFREAD the entire document.
  • Diagrams can be printed images, or hand drawn. 
  • Hand drawn does not mean you can draw like a 5-year-old.
    • Take time to draw what you want to show. You don't have to draw everything (just the world, or include the buttons as you choose.)
    • Use a ruler for straight edges! This makes it look much better. (No ruler = you didn't care)
    • Please use reasonable paper! (Drawing on wrinkled looseleaf = you didn't care)
  • The purpose of the document is to:
    • Come together with your partner and make a clear picture of what you BOTH want to do. 
    • Explicitly describe the behavior of your project so I can tell you if there are potential problems. 
    • Make clear expectations public so you have guidelines to follow and don't cut features for no reason.
    • Have the document in class when you are working so I can reference it when I see your group.
  • Keep it out in class:
    • Print one for me, and one for each of you. 
    • You must have it out at all times.
  • Evolving document:
    • You may ADD to it, but do NOT remove old pages. 
    • You may mark sections as outdated, and that they are replaced later.
    • The goal is to see the evolution of your project over its creation. 

Project 0: NetLogo Model Presentation

posted Nov 25, 2019, 10:50 AM by JonAlf Dyrland-Weaver   [ updated Jan 8, 2020, 2:06 PM ]

For this assignment you and a partner are going to make a presentation on one of the NetLogo programs in the included models library. You will select a model, then put together a short (~5 minute) presentation along with a 1-2 page paper discussing the model.

Project Specifics:
  • You can use any program in the SAMPLE MODELS directory except:
    • Anything under games
    • Flocking
    • Ants
    • Genetic Drift
    • Cellular Automata
    • Optical Illusions
    • Fire
    • Sound Machines
  • Your Presentation will be graded in each of the following areas:
    • Information
      • What are we supposed to learn from this?
      • How well you explain the purpose of the model. 
      • What is it? What does it do? How does it work?
      • Are the any limitations to the model?
      • Is there any interesting/strange behavior we can observe?
    • Element Description
      • How well you explain the interface elements & their usage.
      • What are they? How do they impact the model.
      • Some of this might overlap with the Purpose section.
    • Quality of Presentation
      • How well you explain things.
      • 3 very important tips:
        • SPEAK LOUDLY
        • Do not speak with your back to the class
        • Show examples of the model working while you present
        • Unless there's something really interesting in the code section, refrain from discussing the code itself. The purpose is to demonstrate the model, not teach the code.
    • Excitement
      • You chose the model because you liked it, this should show in your presentation. Try to get the rest of us to understand why you liked it so much.
    • Written Report
      • Your written report should be 1-2 pages and contain all the informational content of your presentation.
      • Do not pad it with unnecessary information.
Partner/Model Selection and Presentation Dates
  • We will have 2-3 presentations at the end of each class
  • You or your partner (NOT BOTH) will fill out this form:
  • Selections are first come first serve, if someone before you selects the same model, or you pick an inappropriate model, you will be notified.
  • Once all groups have been created I will randomly order the groups for actual presentations.
  • Each group should fill out the form by Monday, 12/2
  • If you do not inform me of your group by then, I will randomly assign you a partner.
  • The presentations will begin after that.
Presentation Peer Review
  • During presentations, the viewers will rate the presenters in the following categories:
    1. Overall presentation quality
    2. Clarity
      • Could you hear presenters?
      • Did you understand them?
      • Was the information presented in a clear way?
    3. Information
      • How well did the presenters explain the purpose of the model.
      • Do you feel that the important features of the model were explained.
      • Did the presenters explain the interface elements.
      • Did you learn something new?
    4. Excitement/Fun quotient
      • Did the presenters seem inspired? 
      • Were you inspired?
  • You will give each category a rating on a 1 (very bad) to 5 (best thing ever) scale.

Presentation Order
Haotian  Gan Shadman Rakib     Virus on a Network
Marko Zimic Rickey Dong     Lightning
Edward Wu Sherman Yan     Traffic Intersection
Kyle Li         Ryan Poon     Climate Change
Justin Murdock Steven Lei     Altruism
Hebe Huang Laura Xia Rene Yang Rebellion
Peter Zhao Benson  Ma     Peppered Moths
Alif  Abdullah Eric Li             Wolf Sheep Predation
Ari Gurovich Steven Rakhmanchik  Muscle Development
Fahim  Khan Syed Rahman         Membrane Formation
Paco Tang Ethan Lam     Fireworks
Aaron Contreras Leonard Ma     AIDS
Jerry Liang Ivan Mijacika     Galton Box
Eric Wang Michael Yang     Doppler Effect
Matthew Wagman Tomas Acuna     Simple Birth Rate

1-2 of 2