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 |
|---|---|---|
| -- | Course Introduction and Overview | Syllabus review, course expectations |
| 1 | Introduction to Computers and Python | Notebook Google Drive |
| 2 | Decision Making in Python | Notebook Google Drive |
| 3 | Loops and Iteration | Notebook Google Drive |
| 4 | List Comprehensions | Notebook Google Drive |
| 5 | Functions and Modules | Notebook Google Drive |
| 6 | Exception Handling and Advanced List Operations | Notebook Google Drive |
| 7 | Data Structures - Tuples, Dictionaries, and Sets | Notebook Google Drive |
| 8 | Object-Oriented Programming - Classes and Objects | Notebook Google Drive |
| 9 | Object-Oriented Programming - Inheritance and Polymorphism | Notebook Google Drive |
| -- | Midterm Exam (Take Home) | Practice Exam Google Drive |
| 10 | File Processing and Data Formats | Notebook Google Drive |
| 11 | NumPy Fundamentals and Array Operations | Notebook Google Drive |
| 12 | Advanced NumPy Operations and Data Manipulation | Notebook Google Drive |
| 13 | pandas Fundamentals Part 1 - Series | Notebook Google Drive |
| 14 | pandas Fundamentals Part 2 - DataFrames | Notebook Google Drive |
| 15 | Data Cleaning Fundamentals with pandas Optional | Notebook Google Drive |
| 16 | Data Preparation and Transformation with pandas Optional | Notebook Google Drive |
| 17 | Data Visualization Fundamentals with Matplotlib | Notebook Google Drive |
| 18 | Data Visualization with Seaborn | Notebook Google Drive |
| -- | Final Project Work Session | Project Details Project work time |
| -- | Final Project Presentations | Project Details Presentation schedule TBA |
Assignments
Programming Assignments
| Assignment | Topic | Due Date | Materials |
|---|---|---|---|
| 1 | Meta Internship Programming Challenge - Python Fundamentals | Sun, Feb 15 | Assignment Notebook Google Drive Submit |
| 2 | Campus Life Programming Challenge - Advanced Python Concepts | Sun, Mar 8 | Assignment Notebook Google Drive Submit |
| 3 | University IT Internship - Student Records System (OOP, Inheritance, File I/O) | Sun, Mar 29 | Assignment Notebook Google Drive Submit |
| 4 | Sports Analytics Internship - Advanced NumPy Data Analysis | Sun, Apr 12 | Assignment Notebook Google Drive Submit |
| 5 | E-Commerce Customer Analytics with pandas Optional | Sun, Apr 26 | Assignment Notebook Google Drive Submit |
| 6 | Data Visualization with Matplotlib and Seaborn | Sun, May 3 | Assignment Notebook Google Drive Submit |
| More assignments coming soon... | |||
Final Project
The final project is an open-ended Python project. Students may choose their own question, dataset, or build idea and submit either a data analysis portfolio piece or a small Python application. Strong projects are not necessarily the biggest projects - they are well-scoped, complete, clearly explained, and thoughtfully tested.
Final project score: 150 points. Final submission due Monday, May 4, 2026 by 11:59 PM. Submit by email to rongyu.lin@quinnipiac.edu.
Project at a Glance
Format
Individual project with a student-selected topic and scope.
Project Types
Data analysis, automation tool, interactive app, simulation, or another instructor-approved idea.
Final Submission
Email your final project package to rongyu.lin@quinnipiac.edu by Monday, May 4, 2026 at 11:59 PM.
Presentation Window
Short final presentation during finals week, May 4-8, 2026.
Project Pathways
Data Analysis Story
Use a real dataset to answer a question, clean data, analyze patterns, and communicate findings.
Automation Tool
Build a script that saves time on a repeated task such as file organization, tracking, or reporting.
Interactive Python App
Create a text-based or notebook-based tool such as a planner, recommender, quiz system, or dashboard.
Simulation or Model
Design a simulation, forecast, or scenario model using structured data and repeated computation.
Research or Domain Project
Investigate a topic in sports, finance, health, campus life, language, sustainability, or another approved domain.
Custom Proposal
If your idea does not fit a category, propose it anyway. Original, well-scoped ideas are encouraged.
Minimum Technical Expectations
Every project must include all of these
- A complete Python workflow that runs end-to-end.
- At least 3 custom functions with meaningful names and clear responsibilities.
- Structured input and output such as user input, CSV or JSON data, text files, or saved results.
- Basic validation or error handling where it makes sense.
- Readable code and organization that another student could follow.
- Written explanation of the project goal, approach, and final result.
Also include at least 3 of the following
- Control flow with conditionals and loops that drive core project logic.
- Lists, dictionaries, sets, or tuples used in a meaningful way.
- File processing with text, CSV, or JSON data.
- Classes and objects for project structure.
- NumPy for array-based computation.
- pandas for cleaning, aggregation, or analysis.
- Matplotlib or Seaborn visualizations.
- A multi-file structure with a clear separation of responsibilities.
Deliverables and Timeline
| Deliverable | Date | What to Submit |
|---|---|---|
| Project Idea Approval | Friday, April 24, 2026 by 11:59 PM | Email a short topic proposal explaining your idea, intended audience, and planned Python features to rongyu.lin@quinnipiac.edu. |
| In-Class Work Session | Monday, April 27 and Wednesday, April 29, 2026 | Bring a working draft, questions, and any blockers you want feedback on. |
| Final Project Submission | Monday, May 4, 2026 by 11:59 PM | Email your code, notebook or app files, a short project report or README, and any slides or demo materials to rongyu.lin@quinnipiac.edu. |
| Final Presentation | May 4-8, 2026 | A 5-7 minute presentation or demo explaining the project, the final result, and what you learned. |
Rubric
| Category | Points | What Strong Work Looks Like |
|---|---|---|
| Problem Definition and Scope | 20 | The project has a clear goal, an appropriate scope, and a sensible plan for what it will accomplish. |
| Technical Implementation | 40 | The code runs correctly, the solution is functional, and the project demonstrates careful implementation choices. |
| Use of Course Concepts | 30 | The project uses Python concepts from the course in meaningful, visible, and well-integrated ways. |
| Analysis, Insight, or Usefulness | 25 | The project produces useful results, thoughtful interpretation, or a practical outcome for a real audience. |
| Documentation and Organization | 20 | The submission is easy to follow, well-structured, and clearly explains the project and its limitations. |
| Presentation and Demo | 15 | The presentation is clear, professional, and demonstrates both the project outcome and the student's understanding. |
| Total | 150 | Final project score recorded as 150 points. |
Ideas, Data, and Academic Integrity
Possible Project Ideas
- Campus meal plan tracker, class workload planner, or study habit analyzer.
- Sports performance tracker, workout log analyzer, or team statistics explorer.
- Budget manager, habit tracker, or personal productivity tool.
- Book review analyzer, keyword extractor, or readability checker.
- Weather trends, transportation data, housing prices, or public policy data analysis.
- Quiz game, recommendation engine, simulation game, or rules-based assistant.
Policies and Boundaries
- Use public, self-created, or instructor-approved data.
- Cite every dataset, image, library, or outside reference you use.
- Do not use sensitive personal data or private student information.
- The submission should be individually authored, even if you discussed ideas with others.
- If you use outside help, including AI tools, tutorials, or sample code, disclose it clearly in your documentation.
- You should be prepared to explain any part of your code during the presentation.
Email Submission Format
What to Include in the Email
- Your full name and course number: INF 605.
- A clear subject line such as INF 605 Final Project - Your Name.
- Your project files as attachments, or a GitHub / Drive link if the files are too large for email.
- A short message explaining what is attached and any setup instructions needed to run the project.
Recommended Attachment Structure
- Main code files or notebook.
- Any supporting dataset or a link to the dataset source.
- A short README or report describing the goal, methods, and results.
- Optional slides or demo screenshots for the presentation.