INLS 490_172 – Fundamentals of Programming Information Applications
Spring 2018

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 01: Tuesdays and Thursdays, 11:00am - 12:15pm
Instructor: Rob Capra, r<lastname> at unc dot edu
Office hours: Manning 210: by appointment
Textbooks: INTPY: How to Think Like a Computer Scientist, interactive edition 2.0:
https://runestone.academy/runestone/static/thinkcspy/index.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, 2nd edition.
McKinney, W.

PSADS: Problem Solving with Algorithms and Data Structures
https://runestone.academy/runestone/static/pythonds/index.html

Policies: inls490_sp18_coursepolicies.pdf

Schedule

The following schedule is subject to change:

Lecture Date Topic(s) Readings
(should be done prior to class)
1 11-Jan Python Introduction INTPY: General Intro
2 16-Jan Data, Loops, Modules INTPY: Simple Python Data, Debugging
INTPY: For loop (thru "Flow"), Modules
3 18-Jan Functions, Iteration INTPY: Functions, Selection, More Iteration
4 23-Jan Strings, Lists, Tuples INTPY: Strings, Lists (include tuples)
5 25-Jan Strings, Lists, Tuples INTPY: Strings, Lists (include tuples)
6 30-Jan Files, Regular Expressions INTPY: Files
ext link:Python RegEx
7 01-Feb Text Analysis 1 TPY: Ch9 Word Play
8 06-Feb Dictionaries INTPY: Dictionaries
9 08-Feb Text Analysis 2 TPY: Ch13 Case Study
10 13-Feb No class  
11 15-Feb No class  
12 20-Feb Recursion / JSON INTPY: Recursion
13 22-Feb Objects/Classes INTPY: Classes basics, Classes deeper
TPY: Ch17 Classes
14 27-Feb OO Inheritance TPY: Ch18 Inheritance
15 01-Mar Algorithm Analysis
Sorting
PSADS: Analysis
16 06-Mar Review  
17 08-Mar Midterm Exam  
18 13-Mar SPRING BREAK  
19 15-Mar SPRING BREAK  
20 20-Mar Python for Data Analysis
Data Analysis Examples
PDA: Ch1-2, Preliminaries & Examples
21 22-Mar NumPy PDA: Ch4, NumPy
22 27-Mar NumPy PDA: Ch4, NumPy
23 29-Mar PANDAS PDA: Ch5, Pandas
24 03-Apr PANDAS PDA: Ch5, Pandas
25 05-Apr PANDAS
Data Handling
PDA: Ch6, Data Loading, Storage, File Formats
26 10-Apr Data Aggregation and Group Operations PDA: Ch9, Data Aggregation and Group Operations
27 12-Apr NO CLASS  
28 17-Apr Data Aggregation and Group Operations PDA: Ch9, Data Aggregation and Group Operations
29 19-Apr Project 2 Help session  
30 24-Apr Pivot Tables
Python Performance
PDA: Pivot Tables
31 26-Apr Review  
  30-Apr FINAL EXAM April 30, 12noon