Skip to content

GianSanPedro/teoria-informacion-y-comunicacion

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Theory of Information and Communication

Spanish version: README_ES.md.

Repository with Python solutions for the coursework (TP1–TP6) of “Teoria de la Informacion y la Comunicacion”. Each folder contains the PDF guide and the solved exercises in code.

Workbooks (TP)

  • TIC TP1: Communication model, measuring information, units, codes, redundancy. Exercises to identify source/message/channel/noise, rank messages by information, and compute information of events with different probabilities.
  • TIC TP2: Memoryless and Markov sources, entropy and its properties. Functions to compute information per symbol, source entropy, derive alphabet/probabilities from messages, simulate strings, and compute entropies for dice examples (uniform and non-uniform).
  • TIC TP3: Code properties: non-singular, uniquely decodable, instantaneous; Kraft and MacMillan inequalities; average length and compactness. Includes designing codebooks for given alphabets and boolean checks for those properties.
  • TIC TP4: Source coding and lossless compression. Shannon’s First Theorem, efficiency/redundancy, Huffman and Shannon-Fano codes, Run Length Coding, parity checks. Validates codebooks against the theorem, proposes binary codes for source extensions, and explores basic compression and error-control techniques.
  • TIC TP5: Transmission channels: channel matrices, a priori and posterior probabilities, entropies, equivocation, mutual information. Builds channels from input/output sequences, provides a function to compute the channel matrix, and analyzes binary/ternary channels with different behaviors.
  • TIC TP6: Transmission over noisy channels, noiseless and deterministic channels, series composition, sufficient reductions, channel capacity, error probability, Shannon’s Second Theorem. Exercises to represent channels, compute noise/loss/mutual information, detect noiseless or deterministic channels, and compose channels in series with Python functions.

Structure and usage

  • Folders TIC TP1 to TIC TP6: PDF guides plus .py scripts (some reuse helpers like Utils.py or SuperLibreria.py).
  • Requirement: Python 3.x (standard library only).