INLS 490_172 – Fundamentals of Programming Information Applications
Spring 2014

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 014: Tuesdays and Thursdays, 11:00am - 12:15pm
Instructor: Rob Capra, r<lastname> at unc dot edu
Office hours: Manning 210: Wednesdays, 2:30-3:30pm, and by appointment
Prerequisites: COMP110 or equivalent
Texts/Resources: 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. Downey, A.
http://www.greenteapress.com/thinkpython/

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

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

Policies: inls490_sp2014_coursepolicies.pdf
Schedule: The following TENTATIVE schedule is very likely to change:

Lecture Date Topic(s) Readings Assigned Due
1 12-Jan Introduction INTPY: General Intro    
2 14-Jan Data, Loops, Modules INTPY: Simple Python Data, Debugging
INTPY: For loop (thru "Flow"), Modules
Ex1 Ex1
3 19-Jan Functions, Iteration INTPY: Functions
INTPY: Selection, More Iteration
Ex2 Ex2
4 21-Jan Strings, Lists, Tuples INTPY: Strings, Lists (include tuples) Ex3 Ex3
5 26-Jan Strings, Lists, Tuples INTPY: Strings, Lists (include tuples) Ex4 Ex4
6 28-Jan Files, Regular Expressions INTPY: Files,Python RegEx    
7 02-Feb Text Analysis 1 TPY: Ch9 Word Play Ex5, P1 Ex5
8 04-Feb Dictionaries, Text Analysis 2 INTPY: Dictionaires
TPY: Ch13 Case Study
   
9 09-Feb Dictionaries, Text Analysis 2 TPY: Ch13 Case Study Ex6  
10 11-Feb Recursion INTPY: Recursion    
11 16-Feb        
12 18-Feb XML and JSON ElementTree
JSON
   
13 23-Feb Objects INTPY: Classes basics, Classes deeper Ex7 P1
14 25-Feb        
15 01-Mar OO Concepts TPY: Ch17 Classes Ex8  
16 03-Mar OO Inheritance TPY: Ch18 Inheritance   Ex8
17 08-Mar        
18 10-Mar Midterm Exam      
19 15-Mar SPRING BREAK      
20 17-Mar Algorithm Analysis PSADS: Analysis P2  
21 22-Mar Python Sorting
Python for Data Analysis
PDA: Ch1, Preliminaries
(especially Installation and Setup)
Ex9 Ex9
22 24-Mar Data Analysis Examples PDA: Ch2, Introductory Examples Ex10 Ex10
23 29-Mar NumPy PDA: Ch3, IPython
PDA: Ch4, NumPy
   
24 31-Mar        
25 05-Apr NumPy PDA: Ch4, NumPy   P2
26 07-Apr PANDAS PDA: Ch5, pandas    
27 12-Apr PANDAS PDA: Ch5, pandas P3  
28 14-Apr PANDAS
Data Handling
PDA: Ch5, pandas
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 Pivot Tables
Performance
PDA: Ch9, Data Aggregation and Group Operations
PSADS: Performance of Python Data Structures
   
31 26-Apr Review     P3
    FINAL EXAM