INLS 570_001 – Fundamentals of Programming Information Applications
Spring 2019

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 304: Tuesdays and Thursdays, 11:00am - 12:15pm
Instructor: Rob Capra, r<lastname> at unc dot edu
Office hours: Manning 210 – Click here to view or schedule an office hours meeting
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: inls570_sp19_coursepolicies.pdf

Schedule

The following schedule is subject to change:

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