Schedule#

Class #

Date

Course Topics

1

Wednesday September 8

Python Introduction and Data Types

2

Monday September 13

Python Conditions and Loops

3

Wednesday September 15

Python Lists, Tuples, Dictionaries, and Functions

4

Monday September 20

Python File I/O and Exceptions, Modules and Objects

5

Wednesday September 22

Continuing last lecture

6

Monday September 27

Introduction to R and the tidyverse [Quiz 1 done remotely]

7

Wednesday September 29

R Data Structures: Vectors, Lists, Matrices, and Data Frames

8

Monday October 4

Extra Office Hours

9

Wednesday October 6

Extra Office Hours [Quiz 2 done remotely]

Note

Data 531 Labs are on Wednesdays. To help students in other time zones, we use two time slots for the labs: 8:30 am - 9:30 am and 13:30 pm - 15:30 pm. In later blocks as more of us transition to face-to-face, the morning slot may be deprecated. TAs will be using Zoom for the labs.

Learning Outcomes#

  1. Python Introduction and Data Types

    • understand Python 2 and Python 3 have some syntax differences

    • follow Python syntax rules including indentation, variable naming, and comments

    • define and compare: algorithm, language, program, programming

    • list and explain when to use different Python data types

    • perform math expressions and understand operator precedence

    • create and execute a Python program in jupyter notebook

    • perform printing to console for output

    • use string and string functions including string indexing, subsetting, and concatenation

    • apply formatting for string output

    • use date and time functions

    • proficient in reading input from console and output results to console

  2. Python Conditions and Loops

    • create comparisons and use them for decisions with if

    • combine conditions with and, or, not

    • make decisions using if/elif/else syntax

    • perform repetition using loop constructs for and while

  3. Python Lists, Tuples, Dictionaries, and Functions

    • create and use lists and list functions

    • understand advance syntax for list comprehensions, list slicing

    • create and use tuples and tuple functions

    • create and use dictionaries

    • explain the difference between tuples, lists, and dictionaries

    • create and use Python functions with parameters and return a value from a function

    • explain the benefit of using functions for program decomposition

    • use built-in functions and functions in the math library including generating random numbers

    • exposure to passing functions and lambda functions

  4. Python File I/O and Exceptions

    • open, read, write, and close text files

    • process CSV files including using the csv module

    • understand and define web terminology including IPv4/IPv6 address, domain, domain name, URL

    • read URLs using urllib.request

    • explain the purpose of exceptions and exception handling

    • use try-except statement to handle exceptions and understand how each of try, except, else, finally blocks are used

  5. Python Modules and Objects

    • use object-oriented terminology: class, object, method, parameter, instance variable, inheritance, superclass, subclass

    • create classes with methods

    • instantiate objects ; call methods and access object properties

    • know that Python supports inheritance when defining classes

    • import Python modules and packages

    • use Biopython module to retrieve NCBI data and perform BLAST

    • build charts using matplotlib

    • perform linear regression and k-means clustering using SciPy

    • connect to and query the MySQL database using Python

    • write simple Map-Reduce programs

    • apply object methods using the dot syntax

  6. Introduction to R and Review of Basic Statistics

    • understand purpose and usefulness of R and difference with Python

    • define different types of data: qualitative, quantitative

    • describe data use numerical summaries (measure of centre/spread)

    • define and calculate: mean, median, variance, standard deviation, range

    • define: quantile, quartile, interquartile range, five number summary

    • install and use RStudio

    • set and get the working directory

    • list the different types of data structures in the R language

    • write small programs/commands in R that may use variables, conditions, loops, and functions

    • use R to determine the type and structure of an object

  7. R Data Structures: Vectors, Lists, Matrices, and Data Frames

    • create, index, and subset vectors, lists, and matrices

    • generate vectors of random data

    • read in data sets from files

    • use head and tail to explore a data set

    • use data frames/factors for data analysis

    • explain what factors are and why they are useful

    • create graphs/visualizations: frequency table, bar chart, histogram, boxplot using base R and ggplot2

  8. R Hypothesis Testing and Linear Regression [Optional]

    • explain the purpose of confidence intervals

    • perform hypothesis testing using R

    • understand assumptions inherent in a t-test

    • compute linear models using R