Programming for Information Professionals

UNC SILS, INLS 560, Spring 2024

January 22
First class meeting

Our first meeting of the semester is Monday, January 22 at 2:30PM in Manning 001.

January 22
Introduction to the course

Total amount of required reading for this meeting: 5,900 words

đź“– To read before this meeting:

  1. Vinge, Vernor. “Software Archaeology.” In A Deepness in the Sky, 183–86. New York: Tor, 1999. PDF.
    1,400 words
  2. Quéru, Jean-Baptiste. “Dizzying but Invisible Depth,” October 15, 2011. https://web.archive.org/web/20150417195936/https://plus.google.com/+JeanBaptisteQueru/posts/dfydM2Cnepe.
    1,200 words
  3. Butterick, Matthew. “GitHub Copilot Investigation,” 2022. https://githubcopilotinvestigation.com.
    2,300 words
  4. Recurse Center. “Social Rules,” n.d. https://www.recurse.com/social-rules.
    1,000 words

January 29
Introduction to programming

Total amount of required viewing for this meeting: 72 minutes

Total amount of required reading for this meeting: 30,100 words

đź“ş To view before this meeting:

  1. Microsoft, “Learn Visual Studio Code in 7min.”

    View. 7 minutes
    Viewing tips

    You can follow along at https://vscode.dev.

  2. Microsoft, “Using Git with Visual Studio Code.”

    View. 7 minutes
  3. David Gotz, “Introduction to computers and programming.”

    1. View part 1.
    2. View part 2.
    3. View part 3.
    58 minutes

đź“– To read before this meeting:

  1. Ford, Paul. “What Is Code?” Bloomberg Businessweek, June 11, 2015. https://www.bloomberg.com/graphics/2015-paul-ford-what-is-code/.
    29,400 words
    Reading tips

    This is a very good but very long article, with a number of interesting interactive features. It is written in a style that is intended to be entertaining—and for many native English readers it will be entertaining—but that style may make it a difficult read for non-native readers. I recommend the whole thing, but if you are pressed for time, just read parts 2 (”Let’s Begin”) and 3 (“Why Are Programmers So Intense About Languages?”), and then look at the table of contents and read whatever other sections look interesting.

  2. Recurse Center. “Pair Programming.” In User’s Manual, n.d. https://www.recurse.com/manual#sub-sec-pairing.
    700 words
  3. Optional
    Böckeler, Birgitta, and Nina Siessegger. “On Pair Programming,” January 15, 2020. https://martinfowler.com/articles/on-pair-programming.html.
    9,600 words
  4. Optional
    Gaddis, Tony. “Introduction to Computers and Programming.” In Starting Out with Python, 4th global edition. New York: Pearson, 2019. PDF.
    9,400 words

January 29
Hello, World handed out

January 31
Hello, World due

February 5
Types, variables, and operators

Total amount of required viewing for this meeting: 86 minutes

đź“ş To view before this meeting:

  1. David Gotz, “Programming basics: types, variables, operators.”

    1. View part 1.
    2. View part 2.
    3. View part 3.
    4. View part 4.
    5. View part 5.
    6. View part 6.
    7. View part 7.
    86 minutes
    Viewing tips

    When watching these videos, try evaluating the example Python code in bpython. (If you don’t know how to run bpython, ask a question on Zulip!)

đź“– To read before this meeting:

  1. Optional
    Gaddis, Tony. “Input, Processing, and Output.” In Starting Out with Python, 4th global edition. New York: Pearson, 2019. PDF.
    21,700 words

February 5
Compound Interest handed out

February 7
Compound Interest due

February 12
Well-being day

Due to the well-being day on February 12, we will not meet this week.

February 12
No meeting this week

February 15
Square Roots handed out

February 19
Decision structures and loops

Total amount of required viewing for this meeting: 154 minutes

đź“ş To view before this meeting:

  1. David Gotz, “Decision structures.”

    1. View part 1.
    2. View part 2.
    3. View part 3.
    34 minutes
  2. David Gotz, â€śRepetition.”

    1. View part 1.
    2. View part 2.
    3. View part 3.
    4. View part 4.
    5. View part 5.
    6. View part 6.
    7. View part 7.
    120 minutes

đź“– To read before this meeting:

  1. Optional
    Gaddis, Tony. “Decision Structures and Boolean Logic.” In Starting Out with Python, 4th global edition. New York: Pearson, 2019. PDF.
    14,700 words
  2. Optional
    Gaddis, Tony. “Repetition Structures.” In Starting Out with Python, 4th global edition. New York: Pearson, 2019. PDF.
    13,500 words

February 21
Square Roots due

February 26
Functions

Total amount of required viewing for this meeting: 131 minutes

đź“ş To view before this meeting:

  1. David Gotz, â€śFunctions.”

    1. View part 1.
    2. View part 2.
    3. View part 3.
    4. View part 4.
    5. View part 5.
    6. View part 6.
    131 minutes

đź“– To read before this meeting:

  1. Optional
    Gaddis, Tony. “Functions.” In Starting Out with Python, 4th global edition. New York: Pearson, 2019. PDF.
    23,800 words

February 26
Blackjack handed out

March 4
Abstraction and decomposition

Total amount of required viewing for this meeting: 76 minutes

Total amount of required reading for this meeting: 8,600 words

đź“ş To view before this meeting:

  1. David Gotz, “Practicing software design: abstraction and decomposition.”

    1. View part 1.
    2. View part 2.
    3. View part 3.
    76 minutes

đź“– To read before this meeting:

  1. Polya, George. How to Solve It. Princeton University Press, 1988. PDF.
    8,600 words
  2. Optional
    Brown, Barry. “The next Line: Understanding Programmers’ Work.” TeamEthno-Online, no. 2 (2006): 25–33. PDF.
    5,800 words

March 6
Blackjack due

March 11
Spring break

Due to spring break, we will not meet this week.

March 11
No meeting this week

March 18
Spring Break II (a.k.a. Ryan was sick)

Ryan was sick, so we did not meet this week.

March 18
No meeting this week

March 18
Assigning Grades handed out

March 25
Working with files and handling exceptions

Total amount of required viewing for this meeting: 113 minutes

đź“ş To view before this meeting:

  1. David Gotz, “Working with files.”

    1. View part 1.
    2. View part 2.
    52 minutes
  2. David Gotz, â€śExceptions.”

    1. View part 1.
    2. View part 2.
    3. View part 3.
    4. View part 4.
    61 minutes

đź“– To read before this meeting:

  1. Optional
    Gaddis, Tony. “Files and Exceptions.” In Starting Out with Python, 4th global. New York: Pearson, 2019. PDF.
    17,100 words

April 1
Lists

Total amount of required viewing for this meeting: 108 minutes

đź“ş To view before this meeting:

  1. David Gotz, â€śLists.”

    1. View part 1.
    2. View part 2.
    3. View part 3.
    4. View part 4.
    5. View part 5.
    6. View part 6.
    7. View part 7.
    108 minutes

đź“– To read before this meeting:

  1. Optional
    Gaddis, Tony. “Lists and Tuples.” In Starting Out with Python, 4th global edition. New York: Pearson, 2019. PDF.
    18,100 words

April 3
Assigning Grades due

April 7
Managing Collections handed out

April 8
Lists, tuples and strings

Total amount of required viewing for this meeting: 114 minutes

đź“ş To view before this meeting:

  1. David Gotz, “Lists and tuples.”

    1. View part 1.
    2. View part 2.
    3. View part 3.
    4. View part 4.
    5. View part 5.
    67 minutes
  2. David Gotz, â€śStrings.”

    1. View part 1.
    2. View part 2.
    3. View part 3.
    4. View part 4.
    47 minutes

đź“– To read before this meeting:

  1. Optional
    Gaddis, Tony. “Lists and Tuples.” In Starting Out with Python, 4th global edition. New York: Pearson, 2019. PDF.
    18,100 words
  2. Optional
    Gaddis, Tony. “More about Strings.” In Starting Out with Python, 4th global edition. New York: Pearson, 2019. PDF.
    9,400 words

April 15
Sets and dictionaries

Total amount of required viewing for this meeting: 115 minutes

đź“ş To view before this meeting:

  1. David Gotz, “Dictionaries (and sets).”

    1. View part 1.
    2. View part 2.
    3. View part 3.
    4. View part 4.
    5. View part 5.
    6. View part 6.
    7. View part 7.
    8. View part 8.
    115 minutes

đź“– To read before this meeting:

  1. Optional
    Gaddis, Tony. “Dictionaries and Sets.” In Starting Out with Python, 4th global edition. New York: Pearson, 2019. PDF.
    16,200 words

April 17
Managing Collections due

April 18
Web Crawler handed out

April 22
Opening URLs and processing JSON

đź“– To read before this meeting:

  1. Shaw, Ryan. Opening URLs on the Web, n.d. https://github.com/programming-for-info-pros/notebooks.
  2. Shaw, Ryan. Processing JSON, n.d. https://github.com/programming-for-info-pros/notebooks.

April 29
Recursion

Total amount of required viewing for this meeting: 104 minutes

đź“ş To view before this meeting:

  1. David Gotz, â€śRecursion.”

    1. View part 1.
    2. View part 2.
    3. View part 3.
    4. View part 4.
    5. View part 5.
    104 minutes

đź“– To read before this meeting:

  1. Optional
    Gaddis, Tony. “Recursion.” In Starting Out with Python, 4th global edition. New York: Pearson, 2019. PDF.
    5,500 words

May 2
Web Crawler due