Skip to content
Alkimi University Academics

CS 150 · Programming

Introduction to Programming with Python

Problem solving, data types, control flow, functions, and testing in Python.

Fall 2026 Overview

Course Essentials

Meeting Times & Location

MW 2:00–3:15 p.m. + lab F 2:00–3:50 p.m., Ashby Hall 220

Fall 2026 4 Semester Credits In-Person Modality

Generative AI Policy

AI Level 3

AI Level 3: Permitted broadly with disclosure. You are encouraged to use AI for iterative code debugging, explaining Python traceback errors, exploring algorithms, and writing unit test cases. You must include a standardized docstring header detailing tools and prompts.

Instructor of Record

Portrait of Dr. Tomás Rivera

Dr. Tomás Rivera

Assistant Professor of Computer Science

Instructor for CS 150 (Fall 2026)

Office
Ashby Hall 215
Email
trivera@university.alkimi.ai
Canvas Pilot

CS 150 Learning Assistant

Enrolled students have 24/7 access to this course's dedicated AI assistant, grounded in the syllabus, weekly lecture notes, and assignment sheets.

Sign in below with your AlkimiID.
Jump to Assistant ↓

Key Academic Benchmarks

Syllabus Highlights

Essential course requirements, grading structure, upcoming deadlines, and required learning materials.

Grading Weights

Evaluation Criteria

  • Midterm Examination 1 15%
  • Midterm Examination 2 15%
  • Final Comprehensive Examination 20%
  • Assignment 1 (Algorithmic Toolkit Project) 10%
  • Weekly Laboratory Exercises (12 check-offs) 20%
  • Programming Problem Sets (5 projects) 15%
  • Active Code Review & Quizzes 5%
Grading scale conforms to the standard institutional scale (Student Handbook §4.1).

Deadlines

Key Course Dates

  • First Day of Classes

    Wednesday, August 26, 2026

  • Assignment 1 Due

    Friday, September 18, 2026

  • Midterm Exam 1 (In-Class)

    Wednesday, October 7, 2026

  • Midterm Exam 2 (In-Class)

    Friday, November 6, 2026

  • Final Comprehensive Exam

    Tuesday, December 15, 2026 (1:00 p.m.)

All deadlines close at 11:59 p.m. Eastern via Canvas.

Course Texts

Required Materials

  • Severance, Python for Everybody: Exploring Data in Python 3

    Free Open Educational Resource (py4e.com)

  • Python 3.12+, VS Code, and pytest

    Free open-source software tools

Textbook reserve copies are maintained at the Whitcombe Library circulation desk.

Curriculum

Weekly Topics

Week 1: Computational Thinking & Python Basics

Python runtime, interpreter, script execution, variables, dynamic typing, primitive data types, and arithmetic operators.

Week 2: Conditionals & Boolean Logic

Boolean expressions, comparison and logical operators, branching if/elif/else blocks, and nested decisions.

Week 3: Iteration & Loops

While loops, infinite loop prevention, for loops, range(), accumulator patterns, sentinel loops, break and continue.

Week 4: Modular Functions & Testing

Function definition (def), arguments, return statements, pure functions vs side effects, scope, and pytest unit testing.

Complete weekly readings and assignments detailed in the full syllabus below.

Student Interactive Tool

CS 150 Learning Assistant

Your 24/7 Course Study Companion

Ask about the syllabus, deadlines, and this week's notes.

The CS 150 Learning Assistant is embedded directly into Canvas and accessible right here for registered students. Grounded exclusively in Dr. Tomás Rivera's verified course documents, the assistant helps you:

  • Review challenging concepts covered in recent lectures
  • Verify exam dates, office hour schedules, and assignment guidelines
  • Receive Socratic review quizzes aligned with learning outcomes
  • Understand course policies on late submissions and academic integrity

Authentication Required

This assistant is private to enrolled students and course instructors. Sign in using your university AlkimiID credentials in the chat frame.

Enrolled student access: Sign in with your AlkimiID to chat with the CS 150 Learning Assistant.

Official Course Contract

Complete Course Syllabus

The official syllabus as filed with the department and published in Canvas for the Fall 2026 academic semester.

CS 150: Introduction to Programming with Python

Term: Fall 2026

Credits: 4.0 (3 hours lecture + 2 hours laboratory weekly)

Lecture Times & Location: Monday & Wednesday 2:00–3:15 p.m., Ashby Hall 220

Laboratory Time & Location: Friday 2:00–3:50 p.m., Ashby Hall 220 (Computer Lab)

Modality: In-Person Lecture & Hands-on Coding Lab


Instructor Information

  • Instructor: Dr. Tomás Rivera (Assistant Professor of Computer Science)
  • Email: trivera@university.alkimi.ai
  • Office: Ashby Hall 215
  • Office Hours:
  • Monday & Wednesday: 3:30–5:00 p.m. (In person, Ashby Hall 215)
  • Friday: 10:00–11:00 a.m. (Virtual via Zoom / Alkimi Portal; link on Canvas)
  • Additional code review appointments available via email.

Course Description

Problem solving, data types, control flow, functions, and testing in Python. CS 150 is the rigorous introductory programming course for computer science and data science majors, engineering students, and quantitative researchers. The course emphasizes computational problem-solving, structured programming, algorithm design, and modern software engineering practices. Topics include primitive data types (integers, floats, booleans, strings), operators and expressions, conditional branching, iteration (while, for), functions, parameter passing, return values, variable scope, strings, lists, tuples, dictionaries, sets, text and CSV file I/O, exception handling, introductory object-oriented programming (classes, methods, encapsulation), and automated unit testing using pytest.

Prerequisites

None. Satisfies the Alkimi Core Quantitative Reasoning requirement and serves as the fundamental prerequisite for CS 210 (Data Structures and Algorithms).


Measurable Student Learning Outcomes

Upon successful completion of CS 150, students will be able to:

  1. Deconstruct Algorithmic Problems: Break down computational problems into procedural algorithmic logic and express solutions using Python 3.12+.
  2. Implement Structured Control Flow: Construct programs utilizing conditional statements (if, elif, else) and deterministic/non-deterministic loops (for, while) with robust boundary handling.
  3. Design Modular Functions: Write reusable, pure functions with well-defined parameters, type hints, docstrings, and strict scope discipline (avoiding side effects and global state).
  4. Manipulate Complex Data Structures: Select and manipulate appropriate built-in data collections—lists, dictionaries, tuples, and sets—to organize and transform real-world data.
  5. Implement Defensive Software Engineering: Build programs that gracefully handle input and file system errors using try/except exception handling and file context managers (with open).
  6. Apply Automated Unit Testing: Construct automated test suites using pytest to verify software functionality, catch edge cases, and ensure algorithmic correctness.

Required Materials & Software (Zero-Cost Course)

  1. Textbook: Severance, Charles. Python for Everybody: Exploring Data in Python 3. Open-access text available free in digital/PDF formats at py4e.com.
  2. Software Environment: All required software is free and open-source:
  • Python 3.12+ (Standard CPython distribution via python.org).
  • Visual Studio Code (VS Code) with the official Microsoft Python Extension Pack.
  • pytest testing framework (installed via pip install pytest).
  1. Total estimated cost: $0.00.

Generative AI Policy (AI Level 3: Permitted Broadly with Disclosure)

In accordance with Alkimi University Academic Policies (Student Handbook §5.8), CS 150 operates under AI Level 3.

  • What is permitted: You are encouraged to use modern generative AI tools (such as the CS 150 Alkimi Learning Assistant, GitHub Copilot, ChatGPT, or Claude) throughout your programming workflow: as interactive code explainers, debugging assistants, syntax lookups, and test-case generators.
  • Requirements for Responsible Use:
  1. Mandatory Header Disclosure: Every submitted Python script (.py file) must include a standardized docstring header detailing: (a) what AI tools were consulted, (b) the specific prompts entered, and (c) how you modified, tested, and validated the AI-generated code.
  2. Code Comprehension & Walkthroughs: You must be able to explain the logic, Big-O complexity, data structures, and execution flow of every single line of code submitted. In lab sessions, Dr. Rivera and teaching assistants will conduct random oral code walkthroughs. If you cannot explain code you submitted, you will receive zero credit for that assignment.
  • Prohibited Use: Generative AI is strictly prohibited during in-class closed-book midterm and final examinations. All exams test individual mental execution of algorithms and syntax on paper or locked-down computers without internet or AI access.

Grading Components and Weights

  • Midterm Examination 1: 15% (Wednesday, October 7)
  • Midterm Examination 2: 15% (Friday, November 6)
  • Final Comprehensive Examination: 20% (Tuesday, December 15, 1:00–3:00 p.m.)
  • Assignment 1 (Algorithmic Toolkit Project): 10% (Due Friday, September 18)
  • Weekly Laboratory Exercises (12 weekly lab check-offs): 20%
  • Programming Problem Sets (5 homework projects): 15%
  • Active Code Review & Quizzes: 5%

Grading Scale (Alkimi University Standard)

  • A: 93–100% | A-: 90–92%
  • B+: 87–89% | B: 83–86% | B-: 80–82%
  • C+: 77–79% | C: 73–76% | C-: 70–72%
  • D+: 67–69% | D: 60–66% | F: Below 60%

15-Week Course Schedule (Fall 2026)

WeekDatesLecture Topics (MW)Friday Lab SessionAssignments & Deadlines
Week 1Aug 26, 28Computational Thinking & Python Basics: The Python runtime, interpreter, script execution, variables, dynamic typing, primitive data types (int, float, str, bool), basic arithmetic operators. (First class: Wed Aug 26)Lab 1: Development Environment Setup (VS Code, Python 3.12, Git) and Hello World scripts.Welcome & software setup.
Week 2Aug 31, Sep 2, 4Conditionals & Boolean Logic: Boolean expressions, comparison operators (==, !=, <, >, <=, >=), logical operators (and, or, not), if/elif/else branches, nested decisions.Lab 2: Automated Decision Trees and Input Validation Scripts.Wed Sep 2: Add/Drop deadline. Problem Set 1 due Sep 4.
Week 3Sep 9, 11Iteration & Loops: While loops, infinite loop prevention, for loops, range(), accumulator patterns, sentinel-controlled loops, break and continue. (Mon Sep 7: Labor Day, No class)Lab 3: Numerical Simulations, Prime Checkers, and Convergence Loops.Wed Sep 9: Census date. Assignment 1 assigned.
Week 4Sep 14, 16, 18Modular Functions & Testing: Function definition (def), arguments, return statements, pure functions vs. side effects, local vs. global scope, docstrings, type hinting, unit testing with pytest.Lab 4: Writing Modular Function Libraries and Automated Test Suites with pytest.Assignment 1 Due: Friday Sep 18 at 11:59 p.m.
Week 5Sep 21, 23, 25Strings & Text Processing: String indexing, slicing ([start:stop:step]), immutability, string methods (split, join, strip, replace), string formatting with f-strings.Lab 5: Text Processing, Cipher Encryption, and DNA Sequence Parsing.Problem Set 2 due Sep 25.
Week 6Sep 28, 30, Oct 2Lists & Mutability: List creation, indexing/slicing, list mutability, in-place modification vs. copying (copy()), list methods (append, extend, pop, sort), list comprehensions; Exam 1 Review.Lab 6: Statistical Analysis Tool with Lists and List Comprehensions.Problem Set 3 due Oct 2.
Week 7Oct 5, 7, 9Midterm Exam 1 & Tuples/Dictionaries: Midterm Exam 1; Tuples (immutability, unpacking), Dictionaries (hash maps, key-value pairs, hashability, dictionary methods).Lab 7: Frequency Counting and Inverted Index Creation with Dictionaries.Midterm Exam 1: Wednesday Oct 7 in class.
Week 8Oct 14, 16Sets & Compound Data Structures: Set operations (union, intersection, difference), nested dictionaries, lists of dictionaries, tabular data modeling. (Mon Oct 12: Fall Break, No class)Lab 8: Querying Compound JSON Records and Social Network Graphs.Fri Oct 16: Midterm grades due.
Week 9Oct 19, 21, 23File I/O & Data Persistence: File streams, paths, context managers (with open() as f:), reading text line-by-line, writing output, parsing structured CSV data with the csv module.Lab 9: Processing Real-World Environmental CSV Datasets.Problem Set 4 due Oct 23.
Week 10Oct 26, 28, 30Defensive Programming & Exception Handling: Syntax errors vs. runtime exceptions, try/except/else/finally blocks, catching specific exceptions (ValueError, FileNotFoundError), raising exceptions.Lab 10: Robust File Importer with Exception Recovery and Logging.Lab 10 check-off.
Week 11Nov 2, 4, 6Object-Oriented Programming (OOP) I & Exam 2: Classes, instances, constructors (__init__), instance attributes, instance methods, self parameter; Midterm Exam 2.Lab 11: Modeling Bank Accounts and E-Commerce Inventory using OOP.Fri Nov 6: Withdrawal (W) deadline. Midterm Exam 2: Friday Nov 6 in class.
Week 12Nov 9, 11, 13Object-Oriented Programming II: Encapsulation, private attributes by convention, inheritance, method overriding, super(), dunder methods (__str__, __repr__, __eq__, __len__).Lab 12: Building an RPG Game Engine with Class Hierarchies.Final Project Proposal due Nov 13.
Week 13Nov 16, 18, 20Python Standard Library & API Integration: Modules, packages, math, random, datetime, json, fetching remote REST API data with urllib / requests.Lab 13: Live Weather Dashboard querying external REST APIs.Problem Set 5 due Nov 20.
Week 14Nov 23Algorithms & Complexity: Linear search vs. binary search, Bubble Sort vs. Merge Sort concepts, Big-O algorithmic time complexity intro. (Nov 25–27: Thanksgiving)No lab meeting this week (Thanksgiving).Thanksgiving Break Nov 25–27.
Week 15Nov 30, Dec 2, 4Software Architecture & Capstone Development: Code refactoring, PEP 8 style guide, type annotations, final project debugging and code reviews.Lab 14: Final Capstone Project Demonstrations and Peer Code Reviews.Final Capstone Project due Dec 4.
Week 16Dec 7, 9Course Synthesis & Review: Emerging software trends, career pathways in computing, comprehensive review for final exam. (Classes end Wed Dec 9)No labs.Wed Dec 9: Last day of classes. Thu Dec 10: Reading Day.
FinalsDec 15Final Comprehensive Examination: Tuesday, December 15, 2026, 1:00–3:00 p.m., Ashby Hall 220.Comprehensive in-person exam on paper and locked computer.

Course Policies

Attendance & Laboratory Check-Offs

  • First-Week Attendance: Missing the first two class or lab meetings without notifying Dr. Rivera results in administrative withdrawal (Student Handbook §6.1).
  • Laboratory Check-Off Policy: Laboratory sessions meet Fridays in Ashby 220. Attendance is mandatory. Each lab requires demonstrating your working, tested Python code to Dr. Rivera or a TA before the end of the lab period.
  • Late Work Policy: Programming problem sets submitted after the deadline incur a 10% penalty per 24-hour period late, up to 72 hours. Submissions beyond 72 hours are not accepted because solution walkthroughs are published.

Final Exam Rescheduling Policy

Under university policy (Student Handbook §6.4), students with three or more final exams on the same calendar day may petition to reschedule the middle exam by contacting Dr. Rivera in writing no later than Wednesday, December 9, 2026.


Academic Integrity

Under our AI Level 3 policy, while you may leverage generative AI as a programming tutor and assistant, submitting code that you did not write or cannot explain constitutes academic dishonesty. Copying code directly from classmates, unauthorized repositories, or failing to disclose AI assistance violates the Academic Integrity Policy (Student Handbook §5.1). First violations are reported to the Office of Academic Integrity (Lovell Hall 315, integrity@university.alkimi.ai, (555) 555-0163).


Accessibility Services & Accommodations

Students with documented disabilities requiring accommodations should contact the Office of Accessibility Services:

  • Office: Harlan Hall 204 | Phone: (555) 555-0155 | Email: access@university.alkimi.ai

Deliver your accommodation letter within the first two weeks of class.


Campus Student Support Services

  • Academic Advising Center: Lovell Hall 101 | (555) 555-0158 | advising@university.alkimi.ai
  • Computer Science Peer Help Desk: Ashby Hall 222 | Open Monday–Thursday 3:00–8:00 p.m. for debugging support.
  • Writing Center: Whitcombe Library 2nd Floor
  • Hollis Health & Counseling Center: Hollis Center | (555) 555-0190 | 24/7 Crisis Line: (555) 555-0199