Course Syllabus
INF 605 | Introduction to Programming - Python
Fall 2025 | August 25 - December 13, 2025
Schedule: Mondays & Wednesdays, 9:30 AM - 10:45 AM
Note: This syllabus is subject to change as needed to accommodate course requirements and student learning objectives. Any modifications will be announced in advance.
Instructor Information
Instructor: Ron (Rongyu) Lin
Email: rongyu.lin@quinnipiac.edu
Office Hours:
- Monday 1:30-3:15 PM - In person
- Tuesday 4:00-6:00 PM - In person
- Friday 2:00-3:00 PM - Virtual (Zoom Link)
- By appointment - Email for scheduling
Campus: Mount Carmel Campus
Classroom: Tator Hall, Room 130 (Lecture)
Schedule: Mondays & Wednesdays, 9:30 AM - 10:45 AM
Semester Dates: August 25, 2025 - December 13, 2025
Final Exams: December 8-13, 2025
Course Description
This course 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.
Course Objectives
By the end of this course, students will be able to:
- Write Python programs using variables, control structures, functions, and object-oriented concepts
- Manipulate and analyze data using NumPy arrays and pandas DataFrames
- Clean, transform, and prepare messy real-world datasets for analysis
- Perform exploratory data analysis using descriptive statistics and data aggregation
- Create effective data visualizations using Matplotlib and Seaborn
- Work with various file formats (CSV, JSON, Excel) and databases
- Apply best practices for reproducible data analysis and code documentation
Textbooks/Materials
by Paul & Harvey Deitel, Pearson
by Wes McKinney
We will Install these in class
Course Policies
- Attendance & Participation: This course meets in regularly scheduled sessions each week, and your consistent presence is essential. In-class activities and discussions count toward your grade. If you miss a class, email the instructor in advance to arrange make-up work.
- Late Work: Assignments are due before class starts on the specified due date. Late work will incur a 10% penalty for each day it is late without prior approval. Assignments submitted more than 5 days late will receive a maximum of 50% credit.
- Academic Integrity: Students are expected to maintain the highest standards of academic integrity. Cheating, plagiarism, and any form of academic dishonesty, including unauthorized use of ChatGPT or other AI tools, are strictly prohibited. Violations will result in disciplinary actions, which may include failing the course. Use of AI tools is permitted only when explicitly authorized.
- Accommodation: Students who require accommodation for a disability should contact the Office of Student Accessibility as soon as possible. The instructor will work with you to ensure that all necessary accommodation is made to support your learning needs. Please provide your accommodation letter early in the semester.
Course Schedule
Week | Date | Topics | Assignments Due | Notes |
---|---|---|---|---|
1 | Mon 8/25, Wed 8/27 | Course Introduction, Python Setup, Variables, Basic Data Types | Tator Hall 130 | |
2 | Wed 9/4 | Control Flow: if/elif/else, loops | Assignment 1: Python Fundamentals (due Sun 9/7) | Labor Day 9/1 - No Mon class |
3 | Mon 9/8, Wed 9/10 | List Comprehensions, Functions, Modules | Tator Hall 130 | |
4 | Mon 9/15, Wed 9/17 | Error Handling, Data Structures: Lists, Tuples, Dictionaries, Sets | Assignment 2: Control Flow & Functions (due Sun 9/21) | Tator Hall 130 |
5 | Mon 9/22, Wed 9/24 | OOP: Classes, Objects, Inheritance | Tator Hall 130 | |
6 | Mon 9/29, Wed 10/1 | Files, CSV, JSON, Excel + NumPy Introduction | Assignment 3: Data Structures & OOP (due Sun 10/5) | Tator Hall 130 |
7 | Mon 10/6, Wed 10/8 | NumPy Arrays and Vectorized Computing | Midterm Week | |
8 | Mon 10/13, Wed 10/15 | Midterm Exam (Take Home) & Advanced NumPy | Assignment 4: File Processing & NumPy (due Sun 10/19) | Tator Hall 130 |
9 | Mon 10/20, Wed 10/22 | pandas Fundamentals: Series and DataFrames | Tator Hall 130 | |
10 | Mon 10/27, Wed 10/29 | Data Cleaning and Preparation with pandas | Assignment 5: NumPy & pandas Basics (due Sun 11/2) | Tator Hall 130 |
11 | Mon 11/3, Wed 11/5 | Data Aggregation and Group Operations | Tator Hall 130 | |
12 | Mon 11/10, Wed 11/12 | Data Visualization: Matplotlib and Seaborn | Assignment 6: Data Analysis & Visualization (due Sun 11/16) | Tator Hall 130 |
13 | Mon 11/17, Wed 11/19 | Advanced Data Analysis and Case Studies | Tator Hall 130 | |
14 | Nov 24-29 | Thanksgiving Break - No Classes | Assignment 7: Advanced Data Analysis (due Sun 11/30) | University Holiday |
15 | Mon 12/1, Wed 12/3 | Final Project Work Sessions and Presentations, Final Exam Review | Tator Hall 130 | |
16 | Dec 8-13 | Finals Week | Final Project - Complete Data Analysis Portfolio | Final Exam Period |
Grading Breakdown
Item | Total Possible Points | Percent of Grade |
---|---|---|
Assignments | 350 | 50% |
Assignment 1: Python Fundamentals | 50 | |
Assignment 2: Control Flow & Functions | 50 | |
Assignment 3: Data Structures & OOP | 50 | |
Assignment 4: File Processing & NumPy | 50 | |
Assignment 5: NumPy & pandas Basics | 50 | |
Assignment 6: Data Analysis & Visualization | 50 | |
Assignment 7: Advanced Data Analysis | 50 | |
Final Project | 150 | 21.4% |
Complete Data Analysis Portfolio | 150 | |
Exams | 150 | 21.4% |
Midterm (Take Home) | 75 | |
Final (Take Home) | 75 | |
Attendance and Participation | 50 | 7.2% |
Week 1-16 | 3/week | |
Bonus Points (Optional) | Up to 21 | 3% |
Computer Science lectures/seminars attendance, course improvement suggestions, and other eligible activities (announced in advance) | 0.5% each |