INLS 570_001 – Fundamentals of Programming Information Applications
Spring 2020

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: Section 001: MW 11:15am-12:30pm, Manning 208
Section 002: MW 1:25pm-2:40pm, Manning 304
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.

Policies: inls570_sp20_coursepolicies.pdf

Schedule

The following schedule is subject to change:

Date Topic(s) Readings
(should be done prior to class)
8-Jan Python Introduction INTPY: General Intro
13-Jan Data, Loops, Modules INTPY: Simple Python Data, Debugging
INTPY: For loop (thru "Flow"), Modules
15-Jan Functions, Iteration INTPY: Functions, Selection, More Iteration
20-Jan Holiday - No Class  
22-Jan Strings, Lists, Tuples INTPY: Strings, Lists (include tuples)
27-Jan Files, Regular Expressions INTPY: Files
ext link:Python RegEx
29-Jan Text Analysis 1 TPY: Ch9 Word Play
03-Feb Dictionaries INTPY: Dictionaries
05-Feb Text Analysis 2 TPY: Ch13 Case Study
10-Feb JSON  
12-Feb Recursion INTPY: Recursion
17-Feb Objects/Classes INTPY: Classes basics, Classes deeper
TPY: Ch17 Classes
19-Feb OO Inheritance TPY: Ch18 Inheritance
24-Feb Python for Data Analysis
Data Analysis Examples
PDA: Ch1-2, Preliminaries & Examples
26-Feb NumPy PDA: Ch4, NumPy
02-Mar Review  
04-Mar Midterm Exam  
09-Mar SPRING BREAK  
11-Mar SPRING BREAK  
16-Mar No class meeting
Online Sakai lecture -- NumPy
PDA: Ch4, NumPy
18-Mar No class meeting
Online Sakai lecture -- NumPy
PDA: Ch4, NumPy
23-Mar PANDAS PDA: Ch5, Pandas
25-Mar PANDAS PDA: Ch5, Pandas
30-Mar Data Handling PDA: Ch6, Data Loading, Storage, File Formats
01-Apr Data Aggregation and Group Operations PDA: Ch9, Data Aggregation and Group Operations
06-Apr Pivot Tables
Python Performance
PDA: Pivot Tables
08-Apr scikit-learn  
13-Apr scikit-learn  
15-Apr scikit-learn  
20-Apr scikit-learn  
23-Apr Review  
30-Apr FINAL EXAM MW 11:15am Section 001: Tuesday, May 5, 12:00pm (noon)
MW 1:25pm Section 002: Thursday, April 30, 12:00pm (noon)