INLS 490_172 – Fundamentals of Programming Information Applications
Spring 2017

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_sp17_coursepolicies.pdf

Schedule

The following schedule is subject to change:

Lecture Date Topic(s) Readings
(should be done prior to class)
Assigned Due
1 12-Jan Python Introduction INTPY: General Intro    
2 17-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    
4 24-Jan Functions, Iteration INTPY: Functions, Selection, More Iteration    
5 26-Jan Strings, Lists, Tuples INTPY: Strings, Lists (include tuples)    
6 31-Jan Strings, Lists, Tuples INTPY: Strings, Lists (include tuples)    
7 02-Feb Files, Regular Expressions INTPY: Files
ext link:Python RegEx
   
8 07-Feb Text Analysis 1 TPY: Ch9 Word Play    
9 09-Feb Dictionaries INTPY: Dictionaries P1  
10 14-Feb Text Analysis 2 TPY: Ch13 Case Study    
11 16-Feb Recursion INTPY: Recursion    
12 21-Feb Text Analysis 2 revisited TPY: Ch13 Case Study    
13 23-Feb Objects INTPY: Classes basics, Classes deeper    
14 28-Feb OO Concepts TPY: Ch17 Classes    
15 02-Mar Working class (class will be held)      
16 07-Mar Midterm Exam      
17 09-Mar NO CLASS      
18 14-Mar SPRING BREAK      
19 16-Mar SPRING BREAK      
20 21-Mar OO Inheritance
Algorithm Analysis
Sorting
TPY: Ch18 Inheritance
PSADS: Analysis
   
21 23-Mar Python for Data Analysis
Data Analysis Examples
PDA: Ch1-2, Preliminaries & Examples    
22 28-Mar NumPy PDA: Ch4, NumPy    
23 30-Mar NumPy PDA: Ch4, NumPy    
24 04-Apr NumPy PDA: Ch4, NumPy P2  
25 06-Apr PANDAS PDA: Ch5, Pandas    
26 11-Apr PANDAS PDA: Ch5, Pandas    
27 13-Apr PANDAS PDA: Ch5, Pandas    
28 18-Apr PANDAS
Data Handling
PDA: Ch6, Data Loading, Storage, File Formats    
29 20-Apr Data Aggregation and Group Operations PDA: Ch9, Data Aggregation and Group Operations    
30 25-Apr Performance PSADS: Performance of Python Data Structures    
31 27-Apr Review      
  1-May FINAL EXAM May 1, 12noon