LIBR 559C (3) Python Programming


MLIS and Dual: Completion of MLIS Core or permission of the iSchool Graduate Advisor

MAS: Completion of MAS Core plus permission of the iSchool Graduate Advisor

GOAL: The goal of this course is to teach programming concepts using the Python programming language. The course is designed to be self-standing and proceeds from basic to medium- and advanced concepts and assumes no prior programming experience. For an IT professional, programming skills are almost indispensable: General understanding of programming and programming experience both improve students’ overall understanding of information systems and help develop their general problem solving skills. Programming skills are also essential for analysis and mining of information users’ behaviors and communities. Good programming skills significantly boost work productivity and students usually utilize them during their program of study and throughout their professional lives.

Potential audiences for this course are:

  • People with little or no programming and IT experience who want to acquire a medium-to-advanced level understanding of programming generally and Python specifically.
  • People planning to take (or have taken) courses on text analytics, social media mining, information retrieval, information visualization, human-information
    interaction, natural language processing, machine learning, web and database design, or similar courses, who want to prepare for, or significantly advance, carrying out work and research in these areas.


Upon completion of this course students will:

  • Identify, analyze, assess, and solve a problem or need using Python programming.
  • Apply Python programing knowledge to practical information access, extraction, retrieval, and data (e.g., text) mining tasks.
  • Enhance interpersonal and written communication skills through assignments and discussions with classmates and instructor.
  • Collaborate effectively with peers through course assignments, including demonstrating the ability to work as part of a team, including initiative taking, integrity, dependability and co-operation.
  • Understand, develop, and apply relevant library and information science tools to address information needs, questions and issues.


  • Overview of (Python) programming;
  • Unix:
    • Directory navigation & control
    • File maintenance commands
    • Display commands
    • Text processing
  • Data types (numbers. Strings, lists, tuples, and dictionaries/hashes);
  • Control flow & functions;
  • File input and output;
  • Exception handling;
  • Iterators and generators;
  • Object-oriented programming;
  • Regular expressions
  • Applications:
    • Web crawling and parsing
    • Text processing
    • Statistics & data visualization
On this page