CS 1113 · Spring 2027

Introduction to Programming: AI & Data

An introduction to Python programming, artificial intelligence, and the practice of understanding and evaluating code.

Instructor:
Prof. Yangfeng Ji
Credits:
3
Prerequisites:
None

Course overview

This course provides an introduction to computer science, grounding programming skills in the historical and practical evolution of Artificial Intelligence. The course begins with an exploration of AI's origins—tracing the path from symbolic logic in Lisp and Prolog to the modern dominance of Python. Students will build a robust programming foundation, mastering Python data structures, file operations, and error handling before advancing to implement basic machine learning classifiers such as the Perceptron and the Decision Tree from scratch. The course also covers an advanced module on Generative AI, where students transition from traditional coding to code understanding and auditing. Through prompt engineering and iterative refinement, students will learn to generate and evaluate AI-produced code, bridging the gap between foundational programming and the future of AI-driven development.

Learning outcomes

Grading

AssessmentCourse grade
In-class quizzes35%
Midterm exam20%
AI implementation project15%
Final exam30%

Course schedule

  1. Weeks 1–2: AI foundations
    1. The landscape and history of AI
    2. AI programming languages and the rise of Python
  2. Weeks 3–7: Python basics
    1. Variables, expressions, and types
    2. Control flow and logic
    3. Iteration and lists
    4. Functions and collections
    5. Files, error handling, and midterm
  3. Weeks 8–11: Machine learning from scratch
    1. Data handling with NumPy
    2. k-nearest neighbors
    3. Decision trees
    4. The perceptron
  4. Weeks 12–14: Generative AI and coding literacy
    1. Model evaluation and introduction to generative AI
    2. Reading and auditing AI-generated code
    3. Review and final assessment

Tools and AI policy

Tools: Python 3.10+, VS Code or Google Colab, NumPy, and Matplotlib.

Generative AI: AI assistants are restricted during Modules 1–2. They are permitted in Module 3-4 for code generation, evaluation, debugging, and auditing assignments.