ISM 315: Python Programming 3 Credits | Required Course in Applied Artificial Intelligence & Information Systems
Course Description
ISM 315 introduces students to Python as the foundational programming language of the Applied Artificial Intelligence and Information Systems program. The course covers Python syntax, data structures, control flow, functions, object-oriented programming, data analysis using pandas and NumPy, basic APIs, file processing, and working with real-world data. Students learn to write clean, modular code and to apply Python in preparation for advanced AI courses including ISM 326 (Data Provision), ISM 360 (AI for Business), ISM 422 (Deep Learning), and ISM 428 (AI Project).
Prerequisites
None. This course assumes no prior programming experience.
Course Objectives
- Write, run, and debug Python programs using variables, expressions, and control flow.
- Work with Python data structures including lists, tuples, dictionaries, and sets.
- Design modular programs using functions and classes.
- Load, clean, analyze, and visualize data using pandas, NumPy, and matplotlib.
- Interact with files, JSON, CSV, and Python libraries relevant to data and AI.
- Call external APIs (including simple AI/LLM endpoints) using Python.
- Write reproducible, well-documented code following industry best practices.
- Prepare students for data engineering, AI, and database-integrated systems design.
Textbooks and Materials
- No required textbook. Official course notes, examples, notebooks, and readings will be provided.
- Recommended (not required): Eric Matthes, Python Crash Course, 3rd Edition.
- Software: Anaconda Python, Jupyter Notebook or VS Code, Google Colab.
Grading
- Weekly Homework & Programming Assignments – 40%
- Midterm Exam – 20%
- Final Exam / Final Programming Project – 30%
- Participation – 10%
Weekly Schedule (15 Weeks)
| Week | Topics | Assignments |
| 1 |
Introduction to Python Installing Python & Anaconda, Jupyter/Colab, basic syntax, variables, expressions, input/output. |
Hello Python program. |
| 2 |
Data Types and Operators Strings, integers, floats, type conversion, formatted output, logical & comparison operators. |
String manipulation mini-program. |
| 3 |
Control Flow if/elif/else conditions, boolean logic, nested conditions, simple algorithms. |
Menu-driven decision program. |
| 4 |
Loops and Iteration for-loops, while-loops, loop patterns, basic simulations. |
For-loop practice & simulation assignment. |
| 5 |
Functions Parameters, return values, scope, documentation, decomposition. |
Function library assignment. |
| 6 |
Data Structures Lists, tuples, dictionaries, sets; iteration; list/dict comprehensions. |
Dictionary-based data processing task. |
| 7 |
Midterm Review + Midterm Exam In-class coding and conceptual exam. |
No new assignment. |
| 8 |
File Handling Reading/writing files, CSV, JSON, try/except error handling. |
CSV/JSON data parsing tasks. |
| 9 |
Modules, Packages, and Virtual Environments Importing libraries, pip, environment management, reproducibility. |
Create a reproducible script using external libraries. |
| 10 |
Intro to pandas for Data Analysis DataFrames, loading CSVs, filtering, merging, grouping, descriptive stats. |
Pandas data cleaning assignment. |
| 11 |
NumPy and Vectorized Computation Arrays, broadcasting, numerical processing, matrix operations. |
NumPy numerical analysis exercises. |
| 12 |
Data Visualization matplotlib, seaborn, charts, histograms, boxplots, annotated visuals. |
Visualization assignment using business data. |
| 13 |
APIs and Web Requests Requests library, calling APIs, parsing responses, automation. Intro: calling a simple LLM API endpoint to demonstrate Python-to-AI workflows. |
API mini-project. |
| 14 |
Introduction to Machine Learning (High-Level) Train-test split, simple regression, classification, scikit-learn overview. (Prepares students for ISM 360 and ISM 422.) |
Mini ML model with scikit-learn. |
| 15 |
Final Project Presentations + Final Exam Short individual demo + written exam. |
Final project due. |
Major Programming Assignments (Examples)
- Business Data Cleaner – Load, clean, and describe a messy CSV file.
- Customer Review Analyzer – Count keywords, sentiment indicators, or categories.
- Sales Dashboard Generator – Produce summary tables + visual charts.
- API Automation Script – Integrate Python with a weather, finance, or AI text API.
- Mini ML Model – Predict a simple business outcome using scikit-learn.
Final Project
Students design a small but complete Python application integrating multiple course concepts. Example final projects include:
- Python script that analyzes and visualizes sales or marketing data.
- CSV-to-dashboard generator for a fictional management team.
- API-based automation (e.g., finance data fetcher, sentiment analyzer).
- Beginner-level ML classifier with proper documentation.
Attendance & Participation
Attendance is required and managed through ecourse.org. Participation includes contributing to in-class code reviews, problem-solving sessions, and group debugging activities.
Academic Integrity
All submitted code must be written by the student. AI tools may be used only for minor debugging or explanation and must be cited. Submitting AI-generated code as original work is academic misconduct.
|