Code, Communication, and Creative Computing — Week 1 Notes

Acknowledgement and Course Context

  • Acknowledgement of the Gadigal people of the Eora nation as traditional custodians of the land where the session is held; pay respects to elders past and present and extend respect to Aboriginal and Torres Strait Islander peoples today.
  • This message addresses both in-person and online participants and signals an exciting semester ahead.

Instructor Background and Course Philosophy

  • Instructor background: science, broadcast interactive TV, app design, user experience, digital games; research focus on creative learning.
  • Emphasis of the subject: learning by doing; a practical, hands-on approach aimed at making learning engaging and enjoyable.
  • Audience orientation: welcoming both familiar and new students; acknowledges different levels of prior experience.

In-Class Activity: Silent Flashlight Communication (Pair Work)

  • Setup requirements:
    • Pair up with someone seated at a distance; if needed, communicate with someone behind you or at a different level.
    • Each person should have a smartphone with a flashlight.
    • Venue intentionally disables Wi‑Fi and cellular communication to force flashlight-based signaling.
  • The scenario:
    • Two people at a concert with iPhones communicate only via flashlight signals.
    • First message: one person says "hello"; the partner responds with the sequence that would correspond to "hello".
    • Second message: the other person says "I’m here" using only flashlight signals.
  • Rules:
    • No hand signals or other forms of non-flashlight communication.
    • You may use any signaling pattern with the flashlight; no other channels.
  • Activity duration: a couple of minutes for initial signaling; then debrief.
  • Example questions explored during debrief:
    • Which methods did you use to communicate (e.g., writing in air, flashing strength, pattern shapes)?
    • How did you handle the start of communication and keep it distinguishable (e.g., distinct signals for letters, pauses for letter/word breaks)?
    • Were there cultural conventions or common patterns among groups?
  • Observations from the session:
    • People used a variety of methods: writing in the air, varying light strength, and different signaling approaches.
    • Some groups used alphabet-shaped signals; others used flas h sequences to indicate letters or syllables.
    • Many stuck with an initial chosen method rather than switching mid-message, highlighting issues of error-prone signaling and memory load.

Visualizing Real-World Communication: Codes Across Contexts

  • Video example: a concert where people used different signaling approaches (flashes, waving) to communicate.
  • Signal strategy ideas discussed:
    • Alphabet-based signaling (trace letters in the air with the flashlight).
    • Dot/dash style signaling (short and long flashes) inspired by Morse code.
    • Use of longer sequences and pauses to separate letters and words.
  • Early exploration of coding schemes:
    • Alphabet as a code (letters and syllables) versus a more compact signaling system.
    • Long exposure considerations if signaling is captured by a camera.
  • Key takeaway:
    • There are many ways to encode information into light signals; reliability hinges on a robust scheme for distinguishing letters, spaces, and punctuation.

Morse Code and the Concept of Codes

  • Historical reference: Samuel Morse and Morse code (dots and dashes).
  • Signal design insights:
    • Short vs. long blinks correspond to dot and dash; long blink is effectively three short blinks.
  • Efficiency comparison:
    • The simplified two-signal system (short/long blinks) yields fewer distinctive signals (16) than Morse code’s broader set (52) for letters and punctuation, making Morse more efficient in practice for dense alphabets.
  • Morse code alphabet and frequency rationale:
    • The letter E is the most frequent in English, so its symbol is a single dot, illustrating frequency-driven encoding.
  • Core lesson: knowledge of codes and encoding schemes helps explain how information can be transmitted with minimal signals and maximal clarity.

Why Codes Matter: From Everyday Life to Computers

  • Broad definition: a code is a systematic way of transferring information between people and between people and machines.
  • Everyday examples of codes:
    • Spoken language vs. written language; the relationship between speech and writing.
    • Sign language (Auslan) and Braille as alternative codes to enable communication for people with hearing or sight limitations.
    • Codes of conduct and safety codes (e.g., beach/skiing safety codes) that guide behavior.
    • Barcodes and QR codes as identification and data-carrying codes used in commerce.
  • Codes in technology:
    • Computers rely on various codes to store and process data (music, numbers, photos, videos).
    • The distinction between human-friendly codes (natural language, signs) and machine-oriented codes (binary, hexadecimal, ASCII).
  • The broader philosophical point:
    • Code underpins communication and information exchange across human-to-human, human-to-machine, and machine-to-machine interactions.
  • Practical implications:
    • Understanding different codes improves digital literacy, data interpretation, and critical thinking about privacy and security.

Secret and Public Codes; The Role of Cryptography

  • Notion of secrecy in codes:
    • Some codes are designed to be secret (cryptography) to prevent interception or misinterpretation.
  • Notable historical and cultural examples:
    • Leonardo da Vinci allegedly used mirror writing as a secret-societal code; theories on why include concealment from powerful authorities or simple left-handedness.
  • Fictional and cinematic explorations:
    • Sneakers scene: scrabble pieces and hidden messages; multiple forms of signaling and code usage, including written words, braille, sign language, and computer hardware/software cues.
    • The idea of a code as a cipher (cryptography) versus a signaling system, illustrating different uses of encoding and decoding.
  • Real-world significance of cryptography:
    • Cryptography is pervasive in daily life (online privacy, ATM transactions, credit cards, transit cards) and considered one of the most important technologies for security and privacy.
    • Encoding and decoding involve algorithms, laying groundwork for later topics on algorithms and data processing.

The Martian Case Study: Signaling with Limited Tools

  • Scenario recap: Mark Watney on Mars, attempting to communicate with Earth using a Pathfinder camera that can rotate and transmit data, with a roughly 16-minute one-way latency.
    • Latency detail: about 16extminutes16 ext{ minutes} for messages to travel one way; round-trip latency is about 32extminutes32 ext{ minutes} (if considering two-way turnarounds). In the talk, emphasis is on one-way latency of text 960extst ext{ ~} 960 ext{ s}.
  • Signaling constraints:
    • Only available tools are the Pathfinder device and signaling channels; text messages must be encoded in a way the receiver can interpret despite the delay.
  • Encoding concepts illustrated:
    • Decimal vs hexadecimal vs ASCII representations used to convey text to the receiving Earth mission control.
    • Basic explanation of base systems:
    • Decimal (base 10): place-value system; general form N=⨁<em>i=0kd</em>iimes10iN = \bigoplus<em>{i=0}^{k} d</em>i imes 10^i where diextaredigits0−9d_i ext{ are digits } 0-9.
    • Hexadecimal (base 16): digits 0-9 and A-F; general form N=⨁<em>i=0mb</em>iimes16iN = \bigoplus<em>{i=0}^{m} b</em>i imes 16^i where b_i ext{ ∈ } ig\{0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F\igig\}\$.
    • Decimal-to-hex example: 0x1A = 1 imes 16^1 + 10 imes 16^0 = 26_{10}
    • ASCII encoding example:
    • The phrase "HELLO" can be encoded in hex as 48 ext{ }45 ext{ }4C ext{ }4C ext{ }4FcorrespondingtoASCIIvaluesinhex;indecimalthesearecorresponding to ASCII values in hex; in decimal these are72, 69, 76, 76, 79.
    • The mapping aligns with the standard ASCII table used in computing (American Standard for Information Interchange).
  • Takeaway from the Martian example:
    • Computers and communication across space rely on standard encodings (binary, hexadecimal, ASCII) to represent and transmit text and data reliably over long distances and delays.
  • Implication for course focus:
    • Understanding base systems and textual encodings is foundational for computing and digital communication.

Numerical Foundations: Decimal, Hexadecimal, and Binary

  • Decimal system (base 10):
    • Place-based counting with powers of 10: N = igoplus{i=0}^{k} di imes 10^i, ag{decimal}
    • Example concept: as you move left, each position multiplies by 10.
  • Hexadecimal system (base 16):
    • Place-based counting with powers of 16: N = igoplus{i=0}^{m} bi imes 16^i, ag{hex}
    • Hex digits: 0-9 and A-F, where A=10, B=11, C=12, D=13, E=14, F=15.
    • Example relationship: 0x10 = 1 imes 16^1 + 0 imes 16^0 = 16_{10}.
  • Binary system (base 2):
    • Briefly noted as the fundamental language of computers (0s and 1s); to be explored in later modules.
  • ASCII and memory representations:
    • Text characters can be encoded as hexadecimal or binary values using ASCII; example conversion demonstrates how characters map to numerical codes.

Three Complementary Perspectives on Code (Recap)

  • Perspective 1: Codes as signals to represent letters in transmission (e.g., Morse-style signaling).
  • Perspective 2: Codes as symbols/letters/words used to convey messages, sometimes with secrecy (cryptography) or brevity (compact coding).
  • Perspective 3: Codes as rules to represent instructions to a computer (machine-level encoding, programming languages).

Course Structure, Tools, and Learning Approach

  • Modules for the subject: Code, Data, and Algorithms.
  • Course materials and access:
    • Provided via Canvas; includes lectures and tutorials.
    • Tutorials have a minimum attendance requirement; sessions are two and a half hours long (2.5 ext{ hours}$$).
  • Assessments and timelines:
    • Week 4: First formal deadline — pitch your intended project (code prototype concept).
    • Weeks 5–6: In-class work or presentation of the project concept.
    • Week 12: Final assessments including a lecture and a tutorial; two assessments tied to the code prototype:
    • A pitch for the prototype idea.
    • Development of the code prototype as a hands-on project.
  • Programming language and tools:
    • Primary language: Python.
    • Other tool options discussed: BBC micro:bit, TunePad, Processing, MakeCode; emphasis on Python to start for consistency.
    • Tools are device-agnostic and support multiple platforms.
  • Creative learning approach:
    • Emphasis on a playful, exploratory mindset; students encouraged to experiment and build prototypes to learn.
    • Tutorials provide substantial time (2.5 hours) to explore and develop ideas with tutor support.
  • Project philosophy and expectations:
    • Projects should be meaningful and personally engaging.
    • The goal is to produce prototypes that help you learn more about code, not polished commercial products.
    • Tutors are available to help; you’re encouraged to iterate, test, and learn through building.

Practical Guidance for Students

  • Start from your interests and passions to select a project area.
  • Focus on prototyping as a learning tool rather than delivering a finished product.
  • Build a personal learning journey: expect to learn new concepts as you code and create.
  • Maintain a playful, experimental mindset to maximize creativity and understanding.
  • Remember the broader context: computational thinking, data handling, and algorithmic problem-solving underpin modern coding experiences.