INLS 490_172 – Fundamentals of Programming Information Applications
Spring 2016

Description: This course provides fundamental skills needed to design, implement, and maintain computer applications focused on information processing, management, retrieval, and presentation. Students will learn object-oriented programming, data structures, algorithm analysis, and data processing techniques in the context of information science topics.
Room/Time: Manning 14: Tuesdays and Thursdays, 11:00am - 12:15pm
Instructor: Rob Capra, r<lastname> at unc dot edu
Office hours: Manning 210: Tuesdays, 2:00-3:00pm, and by appointment
Textbooks: INTPY: How to Think Like a Computer Scientist, interactive edition 2.0:
http://interactivepython.org/runestone/static/thinkcspy/toc.html

TPY: Think Python: How to Think Like a Computer Scientist, 2nd edition. Downey, A.
http://www.greenteapress.com/thinkpython2/

PDA: Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython.
McKinney, W. ISBN: 978-1449319793

PSADS: Problem Solving with Algorithms and Data Structures
http://interactivepython.org/runestone/static/pythonds/index.html

Policies: inls490_sp16_coursepolicies.pdf

Schedule

The following schedule is subject to change:

Lecture Date Topic(s) Readings Assigned Due
1 12-Jan Python Introduction INTPY: General Intro    
2 14-Jan Data, Loops, Modules INTPY: Simple Python Data, Debugging
INTPY: For loop (thru "Flow"), Modules
   
3 19-Jan Functions, Iteration INTPY: Functions, Selection, More Iteration Ex1  
4 21-Jan Functions, Iteration INTPY: Functions, Selection, More Iteration Ex2  
5 26-Jan Strings, Lists, Tuples INTPY: Strings, Lists (include tuples) Ex3  
6 28-Jan Strings, Lists, Tuples INTPY: Strings, Lists (include tuples)    
7 02-Feb Files, Regular Expressions INTPY: Files
ext link:Python RegEx
P1  
8 04-Feb Text Analysis 1 TPY: Ch9 Word Play Ex4, Ex5  
9 09-Feb Dictionaries INTPY: Dictionaries    
10 11-Feb Text Analysis 2 TPY: Ch13 Case Study Ex6  
11 16-Feb Recursion INTPY: Recursion    
12 18-Feb Text Analysis 2 revisited TPY: Ch13 Case Study    
13 23-Feb Objects INTPY: Classes basics, Classes deeper    
14 25-Feb OO Concepts TPY: Ch17 Classes    
15 01-Mar In-Class Project 1     P1
16 03-Mar OO Inheritance TPY: Ch18 Inheritance    
17 08-Mar Algorithm Analysis PSADS: Analysis    
18 10-Mar Midterm Exam      
19 15-Mar SPRING BREAK      
20 17-Mar SPRING BREAK      
21 22-Mar Sorting      
22 24-Mar XML and JSON ext link:ElementTree, ext link:JSON    
23 29-Mar Python for Data Analysis
Data Analysis Examples
PDA: Ch1-2, Preliminaries & Examples P2  
24 31-Mar NumPy PDA: Ch4, NumPy    
25 05-Apr NumPy PDA: Ch4, NumPy    
26 07-Apr PANDAS PDA: Ch5, Pandas P3  
27 12-Apr PANDAS PDA: Ch5, Pandas   P2
28 14-Apr PANDAS
Data Handling
PDA: Ch6, Data Loading, Storage, File Formats    
29 19-Apr Data Aggregation and Group Operations PDA: Ch9, Data Aggregation and Group Operations    
30 21-Apr Performance PSADS: Performance of Python Data Structures    
31 26-Apr Review     P3
  29-Apr FINAL EXAM April 29, 12noon