About the Course
INF 605 Introduction to Programming - Python develops computational thinking while using Python as a tool to answer real-world questions with data. Students will gain experience exploring messy datasets, cleaning and preparing data, writing programs to automate analysis, and crafting compelling visualizations that communicate insights to both technical and non-technical audiences. The class emphasizes iterative design, statistical thinking, and the ethical implications of computing with practical applications in data science and analytics.
Course Schedule
Course Materials
Available Lectures
| Lecture | Topic | Materials |
|---|---|---|
| 1 | Introduction to Programming - Python Basics | Slides Handout Notebook Google Drive |
| 2 | Decision Making in Python - Boolean Logic and Conditional Statements | Handout Notebook Google Drive |
| 3 | Advanced Control Flow - Loops and Multi-Path Decisions | Handout Notebook Google Drive |
| 4 | List Comprehensions - Elegant Data Processing | Handout Notebook Google Drive |
| 5 | Functions & Modules - Code Organization and Reusability | Handout Notebook Google Drive |
| 6 | Exception Handling and Advanced List Operations - Defensive Programming | Handout Notebook Google Drive |
| 7 | Data Structures - Tuples, Dictionaries, and Sets | Handout Notebook Google Drive |
| 8 | Introduction to Object-Oriented Programming - Classes and Objects | Handout Notebook Google Drive |
| 9 | Advanced Object-Oriented Programming - Inheritance and Polymorphism | Handout Notebook Google Drive |
| 10 | File Processing and Data Formats | Handout Notebook Google Drive |
| 11 | Advanced Data Processing - JSON, Excel, and NumPy Introduction | Handout Notebook Google Drive |
| 12 | NumPy Arrays and Vectorized Computing | Handout Notebook Google Drive |
| 13 | Advanced NumPy Operations - Linear Algebra, Random Numbers, and Applications | Handout Notebook Google Drive |
| 14 | Midterm Exam (Take Home) | # waiting for the exam guidelines and study guide |
| 15 | NumPy Data Manipulation - Filtering, Statistics, and Sorting | Handout Notebook Google Drive |
| 16 | pandas Fundamentals Part 1 - Series | Handout Notebook Google Drive |
| 17 | pandas Fundamentals Part 2 - DataFrames | Handout Notebook Google Drive |
| 18 | Data Cleaning Fundamentals with pandas | Handout Notebook Google Drive |
| 19 | Data Preparation and Transformation with pandas | Handout Notebook Google Drive |
| 20 | Data Visualization Fundamentals with Matplotlib | Handout Notebook Google Drive |
| 21 | Advanced Data Visualization with Seaborn | Handout Notebook Google Drive |
| More lectures coming soon... | ||
Assignments
Programming Assignments
| Assignment | Topic | Materials |
|---|---|---|
| 1 | Meta Internship Programming Challenge - Python Fundamentals | Assignment Notebook Google Drive Submit |
| 2 | Campus Life Programming Challenge - Advanced Python Concepts | Assignment Notebook Google Drive Submit |
| 3 | University IT Internship - Student Records System (OOP, Inheritance, File I/O) | Assignment Notebook Google Drive Submit |
| 4 | Sports Analytics Internship - Advanced NumPy Data Analysis | Assignment Notebook Google Drive Submit |
| 5 | E-Commerce Customer Analytics with pandas | Assignment Notebook Google Drive Submit |
| 6 | Data Visualization with Matplotlib and Seaborn | Assignment Notebook Google Drive Submit |
| More assignments coming soon... | ||