{
  "id": "2014-01-21-purdue-university-shooting",
  "slug": "purdue-university-shooting-2014-01-21",
  "institution": {
    "name": "Purdue University",
    "shortName": "Purdue",
    "state": "IN",
    "type": "public-r1",
    "alertSystemName": "PurdueALERT",
    "alertPlatform": "Rave",
    "enrollment": 50000
  },
  "incident": {
    "date": "2014-01-21",
    "type": "active-shooter",
    "cleryCategory": "emergency-notification",
    "headline": "Student fatally shot in the Electrical Engineering Building; shooter surrendered",
    "headlinePublic": "Student fatally shot in the Electrical Engineering Building; shooter surrendered",
    "summary": "Purdue's alert packed shooting confirmation, building name, avoidance directive, shelter instruction, and a URL into approximately 120 characters using semicolons as separators -- establishing an SMS-optimized format that influenced alert design industry-wide. The system reached 83,000 contacts via the [Rave Alert platform](https://en.wikipedia.org/wiki/Rave_Mobile_Safety).",
    "outcome": "One student killed in a targeted attack. Shooter surrendered immediately to responding officers.",
    "casualties": {
      "killed": 1,
      "injured": 0
    },
    "resolution": "confirmed-threat"
  },
  "alerts": [
    {
      "sequence": 1,
      "type": "initial",
      "channel": "sms",
      "timestampApprox": "Minutes after 12:03 PM EST shooting",
      "verbatimText": "Shooting reported on campus. Bldg Electrical Engineering; Avoid area; Shelter in place. Check http://www.purdue.edu for updates",
      "isVerbatimConfirmed": true,
      "sourceUrl": "https://x.com/lifeatpurdue/status/425678941114732544",
      "sourceDescription": "@lifeatpurdue on X (verbatim)",
      "annotations": [
        "~125 characters, fits within a single SMS segment with room to spare",
        "Semicolons as clause separators, maximizing information density in minimal space",
        "Five distinct information elements: event type, building, avoidance, shelter, URL",
        "Building abbreviation ('Bldg') rather than spelling out 'Building', character conservation",
        "Shortened t.co URL redirect for detailed information, offloading longer content to web",
        "Reached approximately 83,000 contacts, one of the largest documented single-institution distributions at the time",
        "Corrected to exact fxtwitter display text."
      ],
      "characterCount": 127
    },
    {
      "sequence": 2,
      "type": "update",
      "timestamp": "2014-01-21T13:38:00-05:00",
      "channel": "twitter-x",
      "verbatimText": "Everyone in EE Bldg continue to shelter in place! All other areas of campus may resume normal op. Check http://Purdue.edu for updates.",
      "isVerbatimConfirmed": true,
      "sourceUrl": "https://x.com/LifeAtPurdue/status/425698813211193344",
      "sourceDescription": "@LifeAtPurdue on X (verbatim)",
      "annotations": [
        "Verbatim from official Purdue @LifeAtPurdue X post during EE Building active-threat response; scopes shelter-in-place to EE only.",
        "Corrected to exact fxtwitter display text."
      ],
      "characterCount": 134
    },
    {
      "sequence": 3,
      "type": "update",
      "timestamp": "2014-01-21T13:39:10-05:00",
      "channel": "twitter-x",
      "verbatimText": "UPDATE: The EE building remains closed by police, other campus buildings are now open & the shelter in place order has been lifted. #Purdue",
      "isVerbatimConfirmed": true,
      "sourceUrl": "https://x.com/LifeAtPurdue/status/425699106015952896",
      "sourceDescription": "@LifeAtPurdue on X (verbatim)",
      "annotations": [
        "Verbatim shelter-in-place lift for non-EE campus; EE remains closed for investigation.",
        "Corrected to exact fxtwitter display text."
      ],
      "characterCount": 139
    },
    {
      "sequence": 4,
      "type": "all-clear",
      "timestamp": "2014-01-21T13:46:49-05:00",
      "channel": "twitter-x",
      "verbatimText": "UPDATE: No ongoing threat to campus. Resume normal operations. EE will remain closed. Check http://www.purdue.edu for updates.",
      "isVerbatimConfirmed": true,
      "sourceUrl": "https://x.com/LifeAtPurdue/status/425701032606572544",
      "sourceDescription": "@LifeAtPurdue on X (verbatim)",
      "annotations": [
        "Campus-wide all-clear with EE still closed; completes the 2014 Boldt shooting notification arc on X.",
        "Corrected to exact fxtwitter display text."
      ],
      "characterCount": 126
    }
  ],
  "context": "Purdue's January 21, 2014 alert is a landmark in SMS-optimized campus emergency communication. The semicolon-separated format -- packing five distinct information elements into 120 characters -- became a model studied by emergency management professionals nationwide. The shooting itself was a [targeted killing](https://en.wikipedia.org/wiki/2014_Purdue_University_shooting): student Cody Cousins shot and killed fellow senior and teaching assistant [Andrew Boldt](https://www.purdueexponent.org/campus/campus-shooting-occurs-in-electrical-engineering-building/article_95269cd0-82bf-11e3-8c09-001a4bcf6878.html) in the Electrical Engineering Building before surrendering to police outside. The [Rave Alert](https://en.wikipedia.org/wiki/Rave_Mobile_Safety) platform reached approximately 83,000 contacts. Purdue's approach influenced the industry-wide shift toward terse, information-dense SMS alerts that dominated campus communication from 2014 until the gradual transition to multi-channel delivery made character limits less constraining.",
  "keyFindings": [
    "Semicolon-separated clause format maximizes information density within SMS constraints",
    "120-character length fits within a single 160-character SMS segment",
    "Five information elements (event, location, avoidance, shelter, URL) in one message, a design benchmark",
    "83,000-contact distribution via Rave Alert, institutional-scale mass notification",
    "URL redirect ('Check [t.co link] for updates') offloads detailed information to web"
  ],
  "responseTimeMinutes": null,
  "sources": [
    {
      "title": "@LifeAtPurdue EE shooting update chain (X)",
      "url": "https://x.com/LifeAtPurdue/status/425698813211193344",
      "type": "official-social"
    },
    {
      "title": "Official @LifeAtPurdue (Purdue University) alert post, January 21, 2014",
      "url": "https://x.com/lifeatpurdue/status/425678941114732544",
      "type": "official-archive"
    },
    {
      "title": "When Purdue University Sent a Crucial Active Shooter Alert (Rave/Motorola case study)",
      "url": "https://www.motorolasolutions.com/content/dam/msi/docs/EA_Collaterals/case_studies/Rave-Mobile-Safety/purdue-university.pdf",
      "type": "official-archive"
    },
    {
      "title": "Campus shooting occurs in Electrical Engineering Building - Purdue Exponent",
      "url": "https://www.purdueexponent.org/campus/campus-shooting-occurs-in-electrical-engineering-building/article_95269cd0-82bf-11e3-8c09-001a4bcf6878.html",
      "type": "student-newspaper"
    },
    {
      "title": "2014 Purdue University shooting - Wikipedia",
      "url": "https://en.wikipedia.org/wiki/2014_Purdue_University_shooting",
      "type": "other"
    },
    {
      "url": "https://x.com/LifeAtPurdue/status/425699106015952896",
      "title": "@LifeAtPurdue on X",
      "type": "official-archive",
      "dateAccessed": "2026-07-18"
    },
    {
      "title": "@LifeAtPurdue on X (verbatim)",
      "url": "https://x.com/LifeAtPurdue/status/425701032606572544",
      "type": "official-archive"
    }
  ],
  "confidence": "high",
  "tags": [
    "active-shooter",
    "sms-optimized",
    "semicolon-format",
    "rave-platform",
    "120-characters",
    "targeted-killing",
    "2014"
  ],
  "dateAdded": "2026-03-31",
  "lastUpdated": "2026-07-18",
  "addedBy": "manual"
}
