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 Computers and Python | Open in Colab / Copy to Drive Download .ipynb Download PDF |
| 2 | Variables, types, and operators | Open in Colab / Copy to Drive Download .ipynb Download PDF |
| 3 | Decision Making in Python | Open in Colab / Copy to Drive Download .ipynb Download PDF |
| 4 | Loops and Iteration | Open in Colab / Copy to Drive Download .ipynb Download PDF |
| 5 | Lists | Open in Colab / Copy to Drive Download .ipynb Download PDF |
| 6 | Functions | Open in Colab / Copy to Drive Download .ipynb Download PDF |
| 7 | Modules | Open in Colab / Copy to Drive Download .ipynb Download PDF |
| 8 | Tuples and dictionaries | |
| 9 | Sets and list comprehensions | |
| 10 | Classes and objects | |
| 11 | Inheritance and special methods | |
| 12 | Exceptions | |
| 13 | Files and text | |
| 14 | CSV and structured files | |
| 15 | Midterm review studio | |
| 16 | NumPy fundamentals | |
| 17 | NumPy arrays and broadcasting | |
| 18 | pandas Series | |
| 19 | pandas DataFrames | |
| 20 | Cleaning data with pandas | |
| 21 | Groupby and reshape | |
| 22 | Matplotlib | |
| 23 | Seaborn | |
| 24 | Visualization studio | |
| 25 | Final project kickoff | |
| 26 | Final project work session | |
| 27 | Project presentations / wrap-up |
Assignments
Programming Assignments
| Assignment | Topic | Due Date | Materials |
|---|---|---|---|
| 1 | Python Fundamentals | Sun, Sep 13, 11:59 PM |
Open in Colab / Copy to Drive
Download .ipynb
Submit on Canvas (605-02)
Open Colab → File → Save a copy in Drive. When finished, File → Download .ipynb and upload that file on Canvas. You may resubmit until the deadline.
|
| 2 | Campus Life Programming Challenge - Advanced Python Concepts | Sun, Oct 11 | Assignment Notebook Google Drive Submit on Canvas (605-02) |
| 3 | University IT Internship - Student Records System (OOP, Inheritance, File I/O) | Sun, Nov 1 | Assignment Notebook Google Drive Submit on Canvas (605-02) |
| 4 | Sports Analytics Internship - Advanced NumPy Data Analysis | Sun, Nov 15 | Assignment Notebook Google Drive Submit on Canvas (605-02) |
| 5 | E-Commerce Customer Analytics with pandas Optional | Sun, Nov 22 | Assignment Notebook Google Drive Submit on Canvas (605-02) |
| 6 | Data Visualization with Matplotlib and Seaborn | Sun, Dec 6 | Assignment Notebook Google Drive Submit on Canvas (605-02) |
| 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, December 7, 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, December 7, 2026 at 11:59 PM.
Presentation Window
Short final presentation during finals week, December 7-12, 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, November 20, 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 | Tuesday, December 1 and Thursday, December 3, 2026 | Bring a working draft, questions, and any blockers you want feedback on. |
| Final Project Submission | Monday, December 7, 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 | December 7-12, 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.